Page 206 - 《软件学报》2020年第12期
P. 206
3872 Journal of Software 软件学报 Vol.31, No.12, December 2020
账本中的,因此双方获得了同等的权益和责任保证.以下给出基于交易类型的区块链协议实现 FCSP 的具体方
法.
3.2 线上公平合约的建立机制
3.2.1 系统架构及数据结构
以交易类型(例如比特币)区块链协议和系统为原型,进行针对公平合约交换协议 FCSP 的改造,搭建专用区
块链网络,称为 FCSP-Blockchain.这个区块链系统内,将交易类型的区块链系统内的交易单的交易内容从“数
字”货币,转变为文本内容的公平合约 m,具体的组网方式如图 2 所示.
D的数字证书 CA
D的签名私钥
区块链
节点D
区块链 区块链 C的数字证书
节点E 节点C C的签名私钥
E的数字证书
E的签名私钥
区块链 区块链
节点A 节点B
A的数字证书 B的数字证书
A的签名私钥 B的签名私钥
Fig.2 Networking between nodes of FCSP-blockchain
图 2 FCSP-blockchain 的参与节点 P2P 组网方式
本方法中包含 CA 中心,用于向参与节点颁发实名绑定的数字证书,每个节点用数字证书(将公钥和真实账
户身份进行绑定)对应的公私钥完成交易过程和交换合约内容的签名、验签.由于交换的合约既包括“利益”,还
包括“责任”,实名数字证书用于避免节点为逃避“责任”,而否认己方的公私钥.本方案中引入 CA 中心并非是向
中心化的退化,更非传统的可信第三方的角色(TTP).可以通过其他更简单的方式取消 CA,例如,要求参与 FCSP-
Blockchain 的所有节点在区块链之外公开自己的公钥信息,即可不再需要 CA.
首先将待签合约内容数字化为数据 m,将交易单的交易有效内容从“数字”货币替换为 m 或 A,B 双方对 m
的签名确认.将公平合约交换协议中包含的各方签名确认转变为区块链网络的交易单“转账”过程.合约交换过
程未完成时,允许任何一方终止交换过程,合约 m 的终止消息为 dm.
一般情况下合约的线上签署过程分为发起方和确认方,由于合约的多轮签署及确认是一个动态的过程,因
此为了保证存证数据的权威性,基于区块链技术的 A 和 B 双方合约签署过程,既要实现合约内容由双方(发起方
和确认方)进行数字签名确认,也要实现合约多轮的签署过程由双方签名并确认.不妨设 A 为发起方,B 为确认方.
通过链上协议的合约签署及交换过程如图 3 所示:A 对待签合约 m 构造合约交换起始“交易 abc”,在交易单中包
含 A 的数字签名,该交易经过共识协议记入全局区块链数据结构中;B 查询链上数据,获知有指向自己地址的待
签合约,经过合约内容的确认后,在“交易 abc”之后链接转发新的“交易 def”,该交易单同样经过共识协议记入全
局区块链数据结构中;经过以上的过程,公平合约的线上双方签署过程,在区块链共识协议的见证下,实现了公
开公平,防止了合约履行过程的抵赖行为.