隐私计算在区块链账户设计中的应用

隐私计算主要解决区块链在面临复杂业务场景中,对原始数据外发进行可用不可见的隐私保护,当前隐私计算主要包含可信执行环境(TEE)、同态加密(HE)、安全多方计算(MPC)和零知识证明(ZKP)四种技术方案。

隐私计算与区块链的结合,不但能够提供数据隐私保护,还能解决区块链性能瓶颈,已经成为区块链落地商用的重点研究方向,在未来隐私计算也将同区块链一样成为通用的信息基础设施。

Trias中的隐私账户设计

Trias的隐私账户在设计上采用了面向账户和UTXO两种模式,以账户制为核心实现复杂业务的需求,以UTXO支持更高的隐私需求和潜在的扩展性需求。





当前很多主流的区块链项目账户在具体使用的时候,都会强调自己的交易非常安全,但实际上每个账号的具体操作和使用全世界的链上参与者都能看见,这就给链上交易带来一定的隐患。

Trias在实现目标的时候不但能很好的体验到区块链上去中心化匿名应用的好处,也能最大限度的保护使用者的隐私,不让与本次交易无关的人觉察自己资产的动向。

1. 兼容两种账户

这里简要介绍一下账户(Account)和UTXO两种模型的区别。

账户模型很容易理解,我们日常使用的银行卡、支付宝、微信钱包等支付方式都是基于账户模型设计的。每人的账户中都有一个余额作为状态,即当前余额是记录在某个地方的,这种设计即被称为账户模型,比如我们的银行卡余额就被记录在银行的数据库中。

UTXO模型是比特币独创的价值转移基本单元。其核心设计思路是无状态,即只记录交易变更事件,而不记录交易的最终状态。区块链系统只处理交易,而清算余额等过程,则交由节点自行处理。

综合来看,两种机制各有优劣。目前比特币采用UTXO,以太坊选用的是Account。

UTXO:原理简单、易于扩展、高度并行、隐匿性强。


Account:易于理解、节省空间、易于实现、模式成熟。

涉及到账户相关的各种操作,如账户注册、管理秘钥、权限变化等,每个账户有三套秘钥,一套支持面向账户机制的操作,一套面向UTXO机制使用,一套用于表明账户所属,极端情况下可用于账户找回(冷备份)。

2. 交易隐私支持

Trias支持采用UTXO的方式进行转账交易,同时支持采用隐藏地址和零知识证明的方法进行匿名转账。

我们先说隐藏地址。在UTXO的工作模式下,假如A账户向B账户进行转账。A账户会通过B账户的公钥产生一个临时地址,并把资产转移到对应的临时地址中去。在收款的过程中,B账户需要历遍所有的有效交易,并通过私钥和交易随机数来判断收款人是否是自身。

其过程如下:A账户向B账户转账,B账户有两对椭圆曲线算法公私钥对,(m,M),(n,N),其指定椭圆曲线的公共参数为G:

隐私计算在区块链账户设计中的应用

通过上述流程计算出临时地址P,A转账至P中并公开R。而B账户通过R计算出对应的隐藏收款中的私钥。如此,既实现了转账收款的全过程,有保护了A账户的隐私信息。

而零知识证明作为近年来颇为火热的技术,受到了国内外学术界的广泛探讨和研究。什么是零知识证明呢?举一个例子,有一个环形走廊,出口与入口在一个位置,中间被一道上了锁的门隔断, B声称他有钥匙,那么A如何在不拿到钥匙的情况下知道B真的有钥匙。这时,A只需要看到B从入口进入,并从出口走出,这样A便可以相信B持有门的钥匙这一事实。 

隐私计算在区块链账户设计中的应用

零知识证明指的是一方向另一方陈述一件事是正确的,而不透露出该陈述之外的任何信息。证明者不直接告诉你答案,而是采用另一种表达方式来让向你证明,直到你认为对方确实知道答案为止。在Trias中,零知识证明主要由zkSNARK算法所实现。

关键词: 隐私计算  区块链账户  

该内容来自于互联网公开内容,非区块链原创内容,如若转载,请注明出处:https://qkljsw.com/archives/28271

联系我们

aliyinhang@gmail.com