原文标题:《引介 | 无状态性:基于键值对的见证数据方案》 无状态以太坊运动当前提议了一种区块见证数据(witness)的格式,详述见此处。这套区块见证方案是基于操作码(opcode)的,你可以理解为一种小型的编程语言,可以使用少数几个命令来生成 「默克尔多值证明」 本文研究了另一种区块见证数据的建构方法,它基于一个键值对的列表,语义也更简单。 在本文中我将尝试回答下列问题:
见证数据方案需满足的)前提: 所有的区块见证数据方案都必须满足下列要求:
语义这一部分我先讲讲键值对见证格式的语义,还不会谈到具体的数据布局(byte layout)。 后面,我再讲解我用在测试中的数据格式。 witness ::= header, body, proofs header ::= version : byte, trie_arity : byte body ::= array of [ { type: byte key : []byte, value : []byte } ] proofs ::= map { <type>: [ { prefix : []byte, hash : []byte } ] } (责任编辑:admin) |