布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

2020-09-02 12:34 栏目:经验之谈 来源:网络整理 查看()

区块链技术正逐步从利基极客走向大规模商业化。

总体而言,区块链技术的大规模商业化仍处于相对早期的阶段。企业对区块链技术的性能和易用性的高要求、区块链技术本身的可扩展性瓶颈和运营效率低下构成了目前制约行业发展的主要矛盾。

基于大量的商业实践和区块链商业化的探索与创新,布必信打造了一个拥有完全自主知识产权、高性能和可扩展性、产品成熟的商业级区块链底层平台。

商业区块链的基础平台BubiChain在基础技术方面取得了重大突破:应用开发友好的智能契约、安全高效的一致性算法、可靠的隐私保护、并行快速的多链以及可扩展的跨链技术;实现了产品化的一个重要突破:应用程序可快速构建、可视化操作和维护、技术合规性和资本账户系统等。形成完整的产品服务能力。

本文是详细解释BubiChain —— Bubi的可靠隐私保护和权限控制系列的第四篇文章。以下是主要内容。

1.概观

Bubby区块链合同状态隐藏、零知识证明等多种密码技术可以实现非交互式隐私保护,并可以隐藏交易金额、地址和交易附加数据。使用代理重加密算法实现对链上数据的授权访问。

非交互式隐私保护:致盲因子是通过ECDH算法为对方生成的,可以由对方恢复,但不能由第三方恢复。接收者可以通过接收者的私钥和发送者的公钥之间的代数运算来恢复盲因子,而第三方在没有两个私钥的情况下无法恢复盲因子,从而达到对第三方隐藏的目的。

交易金额隐藏:Pederson承诺实现金额的同态隐藏,即数字加密前的运算结果与加密后的运算结果一致,区块链节点只需对加密后的数据进行相等运算,保证输入值与输出值相等。

交易地址隐藏:所有权的转移是通过附加“根据接收方的公钥按一定规则转换的公钥”来实现的,不同的输出产生不同的公钥,所有权转移,其他人在转换前不能关联公钥,从而达到隐藏地址的效果。

布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

2.交易金额的隐私保护

Bubby隐私保护技术的交易结构采用UTXO结构,Pederson承诺隐藏交易金额,Range Protection算法保证输出金额必须大于0。

彼得森承诺

协议以下列形式表示每笔交易的投入或产出

r是一个大的随机数,代表盲因子,V是数量,G和H是生成器,C是产出量的承诺,所以交易量是盲的。g和H是椭圆曲线密码体制的两个生成元,由生成元相乘的明文值是由椭圆曲线密码体制简单加密的密文。这个操作是单向的,密文可以从明文和生成器中推导出来,但是明文不能从密文和生成器中推导出来。这个问题叫做“离散对数问题”。

盲因子R是由事务的构造者选择的随机数,它相当于非对称加密算法中的私钥,只有在他知道的情况下才能告诉别人。盲化每个交易金额的优点是可以保持“加性同态”,公式如下:

布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

其中v1和v2是交易量,r1和r2是致盲因子,g和h是生成器。这相当于对加密的数字执行代数加法运算,然后在加密之前对数字进行加密。

超额项目(超额)

交易的发送方和接收方不知道对方的致盲因素,但知道交易金额。

这将导致等式两边的交易金额可以通过平衡来抵消,但盲因素不能抵消。从输出中减去输入,最后一项是:

Ro是交易输出的盲因子之和,ri是盲因子之和

对于金额,必须证明不存在负数金额。例如,如果有人构建了一个恶意事务,事务输入为10,事务输出为20和-10,那么将凭空产生一些钱,等式验证通过。为了证明事务的所有输出都大于0,事务的每个输出都附有一个范围证明,这是一个简短的零知识证明,用于证明输出值大于0。

一般的距离证明采用环签名算法,占用的存储空间与证明值的二进制数有关。数字越大,占用的空间就越大。有没有不占很大空间的范围证明?while校样在做同样的工作时会占用少量的空间。

交易金额隐藏的实现

在上文中,分别介绍了彼得森承诺、超额和范围证明在金额隐藏中的作用。下图显示了交易的具体结构。

布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

该交易代表具有输入v1、输出v2和变更v3的机密交易。当给定c时,必须满足相应的R和V,并且R * GV * H=C。这种承诺实现了V值的同态隐藏。

验证交易有效性的规则:

C1=C2C3C4;

检查C2的射程证明和C3的射程证明;

检查C4是否是基点G的有效公钥,并通过签名算法进行验证;

通过验证证明:

平衡的保持;

r1授权交易。

3.交易地址的隐私保护

在布比区块链,一次性钥匙被用来隐藏地址,这确保了接收者的隐私。其基本思想是,当发送方发起交易时,通过使用接收方的公钥来计算一次性公钥,然后将加密的资产转移到一次性地址。接收者通过监听网络中的交易找到自己的交易,使用自己的私钥和解密算法,以便再次消费。然而,网络中的其他节点不能确认两个事务被发送到同一个接收者,从而实现了事务的不可链接性。

布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

标准交易流程的实现过程如下:

布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

1)爱丽丝想给鲍勃转一笔钱,鲍勃向爱丽丝宣布了它的标准地址,爱丽丝将鲍勃的地址解析为公共密钥。

2)爱丽丝选择事务、共享密钥和身份计算哈希作为鲍勃的一次性公钥,公钥=R2哈希(哈希(tx)、哈希(R1 * R2 * g)、0 * g,其中哈希是加密哈希函数,定义为:

3)爱丽丝使用Pubkey作为事务输出的公钥地址,并将PubKey地址放入事务中,爱丽丝在网络中广播事务。

4)鲍勃监视网络中的所有交易,用他自己的私钥r2检查交易,并计算公共密钥'=R2 * g哈希(哈希(tx),哈希(R2 * R1 * g),0) * g。由于r2*G=R2和r2*r1*G=r2*R1=r1*r2*G=r1*R2,那么公共密钥=公共密钥',鲍勃知道爱丽丝确实给自己转账了。

5)拥有私钥意味着拥有事务输出的所有权。像大多数隐私保护方案一样,事务输出可以通过拥有一个椭圆曲线私钥来保证其所有权。鲍勃可以恢复相应的一次性私钥:x=R2哈希(哈希(tx),哈希(R2 * R1),0),因为P=xG。鲍勃可以使用私钥r2在任何时候得到X来花这笔钱。

Bubby隐私保护通过附加“接收者转换的公钥”来实现所有权的转移,并达到隐藏地址的效果:所有权转移,其他人不能在转换前关联公钥。

布比可靠的隐私保护与权限控制 | 商用区块链BubiChain详解(四)

哈希(r2*r1*G):发送方和接收方都知道的致盲因子

P=R1,接收器可以计算哈希(P*r2)作为输出的致盲因子

Enc,对称加密功能,接收器可以恢复v2的值

公钥,接收者的转换公钥,只能通过相应的公钥签名来使用输出

Rang: v2值大于0的范围证明

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发