Page 211 - 《软件学报》2020年第12期
P. 211
于雷 等:FCSP-Blockchain:基于区块链技术的公平合约交换协议的实现 3877
通过以上过程,形成的 N 方之间的签名顺序是随机的,这通常是现实中的合约所需要的,这也是合约的线上
交换过程的公平性体现之一.
同样的,在 N 方之间的合约交换和更新过程中,可由 N 方中的已完成交易单链接的任何一方提前终止合约
交换过程,这与两方之间的合约正常终止过程类似,不再赘述.
4 特性分析
4.1 公平性
本文中合约交换过程的公平性讨论如下.
1) 本协议规定:只有经过 N+1 次链接的交易单被记入区块链数据结构之后,N 方数字签名确认的合约内
容才是生效的状态;除此之外,都是无效状态.因此,任何一方提前终止 N+1 次交换过程,既不会使得本
方获益,也不会使得对手方受害;
2) N+1 次链接的交易单被成功记入区块链全局账本之后,因为区块链全局账本的公开透明性,所以任何
一方都无法否认某一次签名确认的行为(公钥是提前公开的,或者采用 CA 颁发的数字证书),从而避
免了通过藏匿签名数据而逃避责任的行为.因此,区别于原始区块链技术的单向信任关系,本文的协
议改造方案使得区块链的节点之间建立了多方之间的任意双方的双向信任关系.
4.2 隐私性
在上节的讨论中,为便于说明,将合约内容原文 m 写入了交易单 T a 中.显然,将交易单 T a 中的合约内容 m 去
掉,只保留 H(m),不会影响本协议的正确性和可验证性,从而实现针对合约内容的隐私性.
但是,由于采用公开的公钥信息(或 CA 颁发的数字证书)进行合约内容和交换过程的数字签名,因此,这样
的信息:“实体 A 和 B 之间发生了一次交换合约行为”仍然是公开的,实现这个信息的隐私是本文未来的工作,零
知识证明是可选择的方案之一.
4.3 共识协议的选择
本协议依赖的区块链技术来源于交易类型的区块链(例如比特币),改造的主要内容是:
1) 交易的有效数据从“数字货币”变成了待签合约(或待签合约的哈希摘要);
2) 参与节点必须公开自己的公钥信息(或是采用 CA 颁发的数字证书),用公开的公钥信息对应的公私钥
完成数字签名和验签.
除以上两点之外,本协议可完全继承交易类型区块链协议的其他部分.但是出于对效率的考虑,可以替换基
于算力竞争的共识协议,采用更加合适的共识协议,以便在效率和安全性上做恰当的折中.
5 结 论
无 TTP 的 FCSP 协议还未有确定性的实现,有 TTP 的 FCSP 协议实现的缺点是明显的,包括信用单点、可
靠性单点、额外的第三方成本等.本文提出了基于区块链核心协议的、无 TTP 的、确定性的 FCSP 协议实现.
将交易类型的区块链的交易内容替换为合约内容,公平合约交换的参与方依次构造 N+1 次的链接交易单,结合
区块链的共识协议实现了合约内容的依次签名确认,并且避免了合约签名链条的分叉.本实现协议规定:N+1 次
的顺序交易单都被记入区块链全局账本数据中以后,视为唯一合约生效的确认,除此之外的情况都为无效的合
约交换.合约交换过程中,任何一方都可以提前终止交换过程.此方法实现的 FCSP 避免了任何一方在合约交换
过程中、合约交换完成之后的作弊行为,实现了确定的公平性.此方法利用区块链的交易单链接可以实现合约
内容的公平追加、更新和删除.此外,本文实现了区块链参与节点之间的双向信任关系,避免“A 和 B 之间发生了
一次合约交换行为”的信息泄露是未来研究的待解问题.