论文部分内容阅读
智能合约是部署在区块链上不依赖可信第三方自动化执行交易协议的可执行代码。然而,由于交易数据等所有交易内容公开共享于区块链节点,导致区块链系统存在交易隐私泄露威胁。虽已有学者提出解决方案,但找到保持交易吞吐量和保护交易隐私之间的平衡点仍是一个挑战。鉴于此,本文以区块链智能合约为研究主题,进行以下研究:(1)分析了智能合约语言Solidity词法规则并给出各词法单元正规式定义;设计了 Solidity的词法分析器SLA并建立其自动机模型;给出基于SLA的智能合约敏感交易数据的自动化分离算法,使隐私保护对象更具针对性。(2)为提高单次加密效率及密文单次传输效率,给出NTRU-FHE17改进方案,把NHTU-FHE17方案明文空间由单比特范围的二元有限域Z2推广到p元有限域Zp,证明了改进方案的正确性、同态性及安全性。基于Ubuntu18.04+NTL库,验证改进方案的正确性、同态性并分析其效率。利用改进方案将敏感交易数据加密为对应密文。为保证敏感交易数据加密前后在智能合约中的数据类型不变,设计了改进方案密文向量整数化算法及其逆算法用于完成交易验证。(3)以商品交易为应用场景,基于词法分析器SLA和NTRU-FHE17改进方案,设计了智能合约隐私保护协议SCPPP并给出协议可证实性、不可否认性等功能分析;建立了基于SCPPP协议的区块链交易模型;基于Ubuntu18.04+Remix+Metamask+Ropsten,实现了没有隐私保护功能的多商品交易智能合约MTSC部署并完成交易;基于SLA分离MTSC敏感交易数据并分离其分离效率。(4)理论及实验表明:词法分析器SLA具有较高分离智能合约敏感交易数据的效率,其基本不影响区块链交易吞吐量;NHTU-FHE17改进方案具有较高的安全性及效率;与已有的同类方案相比,论文方案首次将词法分析和全同态加密与区块链智能合约结合,一定程度上解决了区块链隐私保护问题。