Page 203 - 《软件学报》2020年第12期
P. 203
于雷 等:FCSP-Blockchain:基于区块链技术的公平合约交换协议的实现 3869
共识分片和共识协议算法方面展开了基础研究工作 [8−10] .
基于去中心化的点对点交易需求以及系统可靠性方面的考虑,区块链技术普遍基于 P2P 网络,网络中的每
个节点以扁平式拓扑结构相互连通和交互,不存在任何中心化的特殊节点、不存在层级结构,每个节点均会承
担网络路由、验证交易单、验证区块数据、传播区块数据、发现新节点等功能.
本文的主要贡献如下:
1) 利用区块链技术,实现了多方的、无 TTP 的、确定性的 FCSP 协议,并且提供了公平合约的追加、更
新和删除管理功能;
2) 改变了区块链的“单向信任”模式,为区块链网络建立了双向信任(或称多向信任);
3) 分析了方法的公平性、有效性和隐私性.
本文第 2 节对 FCSP 协议的研究进行总结.第 3 节对本文实现的协议进行综述,包括区块链协议改造、系统
搭建、公平合约的交换过程和更新过程.第 4 节对本文实现的协议进行公平性、隐私性和共识方面的讨论.第 5
节描述本协议的概要内容并总结.
2 相关工作
线上公平合约交换协议(fair contract signing protocol,简称 FCSP)可以被划分为两种类型:(1) 有可信第三
方(trusted third party,简称 TTP)的实现方式,包括在线和离线两种情况;(2) 无可信第三方的实现方式.
1. 无 TTP 的协议
文献[11]中已经证明:如果没有第三方参与,利用数字签名方法,两方之间是不存在确定的 FCSP 协议的.原
因在于双方之间发送签名的顺序,双方无论经过多少轮的顺序签名,被提前终止发送顺序签名的一方都会被质
疑是否向对方传递顺序数字签名,而使得自身保存的顺序数字签名无法主张权利.鉴于此,Even [12] ,Goldreich [13]
等人也给出了无 TTP 的、近似的 FCSP 实现.他们的方案是将己方的数字签名数据分散为多份,每份执行一个
确定难度的加密运算.随后,将加密的签名数据分片传递给对方之后,双方同步发送己方的数字签名加密分片的
解密密钥,己方获得一份密钥之后,发送己方的一份密钥给对方,如此往复,直到双方都收到全部的分片密钥.显
而易见,这不是一个确定性的无 TTP 方案,因为当一方收到最后一份密钥之后,他可能拒绝发出自己最后的一份
己方密钥.在这种情况下,另一方只能通过解密的方式求解最后一份密钥,虽然假定加密算法的难度是确定的,
但是他仍然可能在有效的时间内无法破解最后一份密钥,从而使得自己处于被动劣势地位.
2. 基于在线 TTP 的协议
文献[14]的 FCSP 协议需要半信任的第三方来保证每一次交换的公平性,并且保证第三方在内的任何一方
提前终止数据交换都不会获得任何益处,也不会使得利益不均衡.但是需要确保的前提是第三方不会与任何一
方同谋.Alawi 等人在文献[15]中给出了名为 Halevi-Micali“承诺”方案,要求准备签署合同的双方把合同交给第
三方做备案记录,这需要在线 TTP 的支持.该方案可以应用到互联网上,其实现的公平交换协议保证了“乐观、公
平和无滥用”等安全特性,并且该方案使用无碰撞哈希函数,即建立在基础的计算机密码学之上,使得该方案很
实用.而且只需要 4 轮数据交换即可完成协议过程,通信和计算成本相对较低.Wan 等人在文献[16]中号称实现
了无任何 TTP 的 FCSP,但是实际上,该文献提到的可信时间戳服务充当了 TTP 角色.
3. 离线 TTP 协议
文献[17−21]分别利用数字签名技术的不同方面(包括聚合签名技术等)提出了 FCSP.文献[22]通过优化签
名算法,无须解密密钥向 TTP 传递即可验证,降低了对 TTP 的要求,且协议过程和通信量更简单高效.文献[23]
提出利用公开可验证秘密分享(publicly verifiable secret sharing,简称 PVSS)原理,实现了签名者隐私的保护,有
效地降低了签名者中的一方与离线半可信 TTP 合谋来获取另一方签名的概率.但是,以上研究都需要第三方离
线 TTP 在争议时提供验证服务和仲裁.
区块链技术以“去中心化”为核心特征,对应了 FCSP 的无 TTP 需求,其中,文献[24]给出了基于区块链技术的
FCSP 的三方实现.其核心思想是:三方在对合约进行数字签名之后,在比特币网络上发布对赌交易,没有传递自