

新闻资讯
哈希游戏| 哈希游戏平台| 哈希游戏APP哈希游戏- 哈希游戏平台- 哈希游戏官方网站每个交易都是自描述的,其他节点可以根据交易中的引用信息复原智能合约的“沙箱”环境,复原的过程中需要检测其依赖的资产来源和数据版本是否仍然有效。如果是过期的版本,或者资产已经被其他交易使用,那么复原沙箱失败。如果复原环境成功,接下来就会调用虚拟机去执行这个合约,执行合约的过程是Lock-Free的,因此并发性能好。最后,在内核数据生效时,会Double-Check引用关系的有效性,最终生效到状态机里面。
主要是解决判断冲突的问题。大家应该都用过git,当我们运行git pull的时候,经常会发生你的本地内容和他人冲突,而需要手动介入解决冲突。XuperModel的原理很类似,数据的唯一标识是Bucket + Key, 其中Bucket对应合约名字,Key对应存取的变量名。如果多个交易都修改了同一个数据,且他们不存在父子引用的话,那么就是互相冲突的。在XuperModel中,区块中的交易拥有更高优先权,可以回滚掉和它冲突的未确认交易。
首先,Fabric的数据模型是不内置数字资产转移的描述的, 而XuperModel则是UTXO模型的泛化,天然支持了数字资产转移的场景。其次,Fabric的数据模型中,数据的版本是绑定到区块高度的,因此对同一个Key的多次修改不能发生在一个区块,就导致他不能实现“Read Your Own Update”的场景。XuperModel中数据的版本是直接引用前置交易的,因此可以立即生效,在同一个区块中可以打包相关联的对同一个数据的一系列修改行为。