Page 207 - 《软件学报》2020年第12期
P. 207

于雷  等:FCSP-Blockchain:基于区块链技术的公平合约交换协议的实现                                        3873








































                     Fig.3    Signature exchange process of the contract in the consensus protocol witness
                                   图 3   共识协议见证链上合约的签名交换过程

             链上交易单链接的签名和验证基于非对称密钥机制,其签名过程为:在交易单的前置交易信息 in→
         scriptSig→sig 属性中,记录本方私钥对前置交易单 hash 值的签名;在 in→scriptSig→pubKey 属性中,记录本方数
         字证书的公钥原值;在交易单的输出属性 out→address 中,记录本交易单的输出指向地址的 hash 值.在交易单链
         条的合法性验证过程为:验证本交易单的 in→scriptSig→pubKey 的 hash 值与前置交易单的 out→address 中记录
         的输出指向地址的 hash 值相等;验证使用本交易单的 in→scriptSig→pubKey 解密本交易单的 in→scriptSig→sig
         值,其值与 in→prev_out→hash 中记录的前置交易单 hash 值相等.交易单链接的合法性验证由参与共识协议的任
         意节点都可完成,交易单链接的验证在栈数据结构中完成,具体流程如图 4 所示.
             经过以上的验证过程,在全网共识协议的协同下,可以确认以下信息.
             1.   A 确实向 B 发起了一次合约交换请求,以 A 的私钥数字签名作为防抵赖依据;
             2.   B 确实收到了该合约交换请求,以 B 的数字签名作为 B 对合约的签署确认和防抵赖依据;
             3.   合约交换签名被全网的共识节点验证和确认,被记入全局一致的区块链数据结构,以防止单方藏匿和
                 篡改.
             具体的交易单数据结构和实现流程如下节所述.
   202   203   204   205   206   207   208   209   210   211   212