关键词:
区块链
智能合约
隐私保护
安全多方计算
可信执行环境
摘要:
区块链的概念自2008年由化名为中本聪的学者提出以来,因其去中心化、去信任化、不可篡改以及不可伪造等特点得到了较高的关注,并在数字货币、金融等领域有着了广阔的应用前景。随着比特币的广泛流通和迅速发展,可供用户进行编程的、图灵完备的区块链平台逐渐出现,使得区块链技术逐步进入智能合约时代。然而,在区块链的实际应用中,完全透明的账本使得链上数据向所有成员公开,隐私保护问题逐渐成为新的挑战。一方面,验证节点需要通过账本中记录的交易信息对区块链交易进行合法性验证;另一方面,完全透明的账本使得用户的交易信息甚至身份信息皆暴露在所有成员面前。对于以比特币为代表的区块链,隐私问题可分为2种,即身份隐私和交易隐私;对以智能合约为代表的区块链,隐私问题可分为2种,即智能合约代码隐私和输入输出数据隐私。针对区块链中存在的隐私问题,研究者们基于同态加密、混币、环签名等技术提出了一系列的解决方案,但这些方案存在对隐私问题考虑不全面以及性能较弱等不足之处。因此,为解决区块链中存在的隐私问题,本文提出了相应的解决方案,具体研究内容如下:首先,面向联盟链和基于账户的区块链模型,提出了基于群签名和同态加密的联盟链隐私保护方法。基于群签名和同态加密的特点,在满足交易合法性可验证和交易数据可用性的前提下,实现用户身份和交易金额的双重隐私保护。并提出主要节点的4步验证方法,通过对群签名、账户所属权和交易金额正确性、合法性的逐步验证,实现在交易数据以及用户身份不可见前提下对交易合法性的验证。四步紧凑的验证可以抵抗篡改攻击和公钥替换攻击,具有较高的安全性。最后,提出新的区块交易信息写入结构,使得单个交易事务占区块长度降低,提高区块的利用率。然后,为实现对智能合约运行过程中输入和输出数据的隐私保护,提出了一种基于安全多方计算的隐私保护智能合约模型。方案在不影响智能合约原有的运行层次的基础上插入一层安全多方计算层,实现对智能合约输入以及输出的隐私保护。此外,基于(t,n)门限秘密共享设计了一种计算参与者随机选择策略,通过随机选择参与安全多方计算的节点来抵抗共谋攻击。最后,利用密码学方法,对隐私数据进行加密,减少隐私的泄露的可能,具有计算正确性、隐私性和抗共谋的特点。最后,针对因密码学方法构造困难、效率低、占用区块链存储空间等缺点造成难以应用于智能合约的问题,提出一种基于可信执行环境的隐私保护高效智能合约模型。基于可信执行环境,将智能合约的运行过程完全放在TEE中进行,同时保障了智能合约输入输出隐私以及代码隐私。并利用可验证随机函数随机选取执行智能合约的运算节点,降低不诚实的智能合约运算节点共谋的可能性,进一步提高智能合约运行的隐私性和安全性。最后,将支持区块并发操作的基于有向无环图(DAG)的图式账本与高性能的可信执行环境相结合,模型吞吐量相较于传统超级账本提升34%。