在比特币交易的情况下,验证/验证涉及查看输入UTXO余额等......
但是在Hyperledger中,事务(如果可以的话)“只是”携带目标智能合约的数据(函数名和数据字符串)。
这是否意味着没有必要对事务进行验证(除了语法之外)?如果是,必须检查什么和反对什么?任何人都可以给我一个例子用例吗?
如果没有验证,那么我的理解是正确的,区块链只是一个分类帐而没有对交易进行任何验证。如果出现问题(人为检测到,例如账户未结算),那么我们回到区块链阅读所有相关交易,并找出货币没有交易的原因?
答案 0 :(得分:1)
如果达成共识,则每个验证对等体在其节点处应用事务结果,否则事务被抛出。连接到这些验证对等方的非验证对等方将数据和事务更新复制到它们 - 它们不参与事务处理过程。
整个过程确保分类账在所有同行中保持不变(验证和非验证),这当然是共识的含义。通过这种方式可以避免双重支出问题。
HL使协商一致成为一个可插入的功能,因此理论上可以为不同的区块链建立不同的共识模型。目前这很棘手,但它仍然是一个设计原则。请注意,共识机制不会影响智能合约的编写方式,也不会影响分类账保持一致的事实 - 这是一个纯粹的操作问题(当然,但对此仍很重要)。最后,HL v1中正在进行更复杂的共识协议,其中包括哪些验证对等方查看哪些事务。