一种高效的范围证明方案

作者:张凡; 高胜; 曾志强*; 刘喆
来源:密码学报, 2020, 7(02): 197-211.
DOI:10.13868/j.cnki.jcr.000361

摘要

在区块链系统中,由于交易金额是敏感数据,对金额的隐私保护是一个热点话题,它不仅要求将金额隐藏,而且需要提供该金额在某个公开范围的一个证据,许多研究学者采用承诺方案来隐藏交易金额以及绑定该金额与对应的承诺值,同时该承诺需要一个范围证明用来证明该金额在一个合法的区间内,比如[0, 264).迄今为止验证速度最快的范围证明方案是2017年BüNZ B等人提出的Bulletproof方案,该方案已广泛应用于区块链系统中.本文在该方案的基础上通过构造新的多项式承诺方案并结合向量内积承诺方案,提出一种高效的范围证明方案.本文方案无需可信第三方的参与,并且证据生成的时间复杂度约为(1.25n+6.5 log n+4)ct,证据验证的时间复杂度约为(0.5n+4.5 log n+5)ct,而证据的长度为(19+2 log n)cs,这里ct表示椭圆曲线标量乘运算所需的时间, cs表示椭圆曲线点的长度, n为交易金额的比特长度.与目前已知应用在区块链系统的范围证明方案相比,本文方案在证据生成耗时、证据产生长度都相当的情况下,将证据的验证速度达到最优,因而是更加实用的区块链范围证明方案.