【以太坊篇】-‘链上数据的隐私保护’

2022-04-26 19:58:19 浏览数 (1)

好了,今天分享的是关于区块链外行人或者半内行人最关心的一个问题-“关于链上数据的隐私保护问题”。

Hawk

Hawk方案主要的原理是结合zk_Snark(零知识证明)和多方计算(可信计算)来解决匿名安全计算问题。

多方计算:密码学中用于解决多方实体在互不透露秘密的情况下进行合作,然后利用秘密来计算的问题。

zk_Snark:分享一个讲的比较好的链接,感兴趣搜链接喔.https://blog.csdn.net/shangsongwww/article/details/89333124

hawk项目是基于以太坊来进行测试的,完整的hawk系统合约主要分为公有合约和私有合约。

私有合约主要负责处理用户的输入并且会结合多方计算和零知识证明来隐藏用户身份和输入数据的具体值,这是合约的逻辑所在。

公有合约表达一个押金的逻辑,保证任何交易方都不能在中途退出,否则会支付违约金。

为了给上面所讲的私有合约和公有合约提供隐私保护的执行环节,系统借助zcash(首个使用零知识证明机制的区块链系统,它可提供完全的支付保密性,同时仍能够使用公有区块链来维护一个去中心化网络。与比特币相同的是,Zcash代币(ZEC)的总量也是2100万,不同之处在于,Zcash交易自动隐藏区块链上所有交易的发送者、接受者及数额。只有那些拥有查看密钥的人才能看到交易的内容。用户拥有完全的控制权,他们可自行选择向其他人提供查看密钥。)的铸币和浇铸操作,用户可以利用这两个操作隐藏自己的地址。只要将浇铸的目标地址设定为智能合约地址,矿工在收到交易以后,会利用多方计算来执行智能合约,算出正确结果。

Coco Framework

为了解决quorum通用性不强和hawk无法加密合约代码弊端,再兼顾两者优势,于是有了coco,理论上这可以用来保护任意区块链系统的隐私性。

Coco Framework的设计就是为了降低企业级区块链集成和使用的门槛,解决企业商用的需求——系统的性能、隐私和联盟组织管理。它集成了最先进的软件架构、密码学、一致性算法以及可信计算的技术(如Intel的SGX、Hypervisor的VSM)。

Coco Framework的运行原理

Coco Framework搭建的网络中的节点,通过证书的验证(如Intel背书)而成为可信节点VN(Trusted Validating Nodes)。每个节点运行Coco Framework和某个区块链的协议(比如以太坊),并根据所选取的一致性协议系统选取lead来处理应用中的交易事务。

类比来说,成为lead的VN就像以太坊里面的矿工,但不同的是Coco Framework里面的每个VN都可以通过TEE attestation 验证其他节点执行时候所用的代码哈希值(恶意行为将直接被发现),而不需要像以太坊一样通过重新计算交易来验证。VN之间通过TEE可以互相验证身份和代码从而建立可信的连接。更为重要的是,Coco Framework包含了一套密钥及权限管理机制,可保证只有在TEE中才能处理加密后的交

易,并且只有拥有相应权限的用户才能查看相关状态。

正是由于可信网络的建立,让Coco Framework 搭建企业级区块链网络的优点十分突出:

· 吞吐量和交易响应时间接近数据库的速度。通过使用TEE,Coco Framework可以简化一致性协议,从而提高了交易的速度和延迟但不会影响安全性。

· 支持更丰富、更灵活的隐私保护模型。有了TEE的加成,Coco Framework通过使用数据访问控制方案来实现复杂的隐私保护模型。交易的执行,智能合约代码和状态都只能通过应用定义的接口返回给有权限的人。

· 提供可编程的管理模型来支持任意的分布式管理策略

· 支持非确定性(Non-deterministic)的交易和运算。在绝大多数的区块链系统里,交易的运行结果必须是确定的,任何纯随机的运算都会导致无法有效重现和验证。然而在Coco Framework里因为有了TEE,节点间的运算结果无需验证,所以可以支持非确定性的计算。更加灵活的是,交易可以根据应用的需要和外界系统进行交互。这极大的丰富了应用的语义和场景。

已有的区块链协议通过与Coco Framework的整合能够直接解决隐私、性能和管理三大问题。例如,一个企业正在使用以太坊开发应用,那么与Coco Framework整合之后,关键问题一并解决,且不需要对已经开发的应用做修改。

同时,Coco Framework并非必须要和云服务绑定,它可以被部署到云上(如Microsoft Azure),也可以部署在企业自己的服务器上。正因为此,Coco Framework在短时间内就迎来了广泛企业和区块链团队的欢迎和拥抱,如J.P. Morgan (Quorum)、R3 (Corda)以及 Intel (Hyperledger Sawtooth)。更多技术细节,请查看 Coco Framework白皮书。

baby ZoE

关于baby ZoE目前网上能找到的资料也非常少,这是以太坊隐私保护技术路线。

baby ZoE是以太坊最新的拜占庭版本中加入零钞特性,实现匿名功能的初级版zcash,考虑到与已有的以太坊兼容性问题以及集成代价,zoe只实现了预编译合同中。

ZoE的运行模式与零钞非常类似,主要经历的阶段如下:

(1)铸币阶段:转账ETH交易时,合约会生成等值承诺,类似于如今的支票。之后存储在摩尔根树中,金额进入合约账户中。

(2)生成零知识证明阶段:乙结合甲给的信息在本地进行零知识证明的计算,证明他知道摩尔根树中承诺的信息,不代表某个承诺。

(3) 赎回阶段:乙将证明和新的承诺附在交易中发送给标准合约的验证函数。

(4)生效阶段:合约的验证函数在全网节点执行,合约相应金额进入乙的账户中。

0 人点赞