原创 PlatON
由于区块链技术本身的特点及发展方向,隐私交易愈加成为人们关注的热点,在保证去中心化的同时保护用户交易的数据隐私是资产价值自由流动之本,本文将详细解析PlatON上的隐私交易,为分布式金融的持续蓬勃发展提供至关重要的底层支撑。
| 隐私交易简介
隐私交易是区块链关注的热点,如采用环签名技术的门罗Monero,zk-SNARK技术的Zcash。在底层计算网络实现交易的隐匿性也会带来以下问题:
- 算法升级:密码学算法发展较为迅速,新的算法应用到主链并且与现有系统适配需要很漫长的过程。
- 漏洞修复:主链的漏洞升级需要协调矿工或验证人来配合升级,影响范围较广,周期较长。
基于智能合约的隐私Token则能做到灵活的算法方案,快速地漏洞修复,影响面较小,只影响到该隐私Token的用户,是实现隐私Token的良好的平台。
PlatON在Alaya网络上基于WASM智能合约平台实现了隐私交易模块confidential-transaction。该模块意在解决日益剧增的交易匿名化需求。通过零知识证明算法达到隐匿身份,算法插件化来满足多种隐私的需求。
| 合约架构
合约架构的主要满足以下几个目标:
- 可扩展,整个框架能够适配更多的算法,扩展隐私交易的生态。
- 可升级,对于合约漏洞,如算法漏洞等,能够进行快速升级,及时避免漏洞导致经济损失。
- 易于发行,Token的发行方不需要具备对算法原理的了解,仅需要判断算法是否满足需求,就能发行隐私Token。
上述架构图中由如下模块组成
- ConfidentialToken-隐私Token合约,由Token发行方进行部署。
- Registry-注册表合约,ACL合约地址会注册在Registry,ConfidentialToken每次交易都是通过Registry获取ACL最新地址,这样ACL可以进行动态升级。
- ACL-访问控制合约,负责管理隐私Token的注册信息,验证算法合约与存储合约版本。
- TokenManager-Token管理合约,ACL关于ARC20合约存取操作都是通过TokenManager与ARC20合约进行交互。
- Validator-验证合约,实现对各种算法的验证功能,每种验证合约可以根据算法自定义账户地址。
- Storage-存储合约负责存储每笔转账的必要信息,用于验证是否存在双花操作。
- ARC20-标准Token合约
从可扩展角度,开发者可以实现多种验证算法,注册到ACL合约中,就能供隐私Token发行方使用。
从可升级的角度,ACL、Validator、Storage都可以进行动态升级。满足了功能扩展,漏洞修复等不同升级的需求。
从易于发行角度,项目方仅需要部署ConfidentialToken,即可实现隐私Token。
| 算法原理
算法概念和定义
1. 票据note:借鉴Bitcoin的UTXO模型,一个票据「note」即是一个UTXO,其是对金额的加密后的表示,逻辑上包括金额「value」、属主「owner」。金额就是该票据的密文形式;属主信息是由该票据的spending key决定,在后续章节会进一步描述;
2. JoinSplit交易(简称「交易」):在本方案中,定义一个交易为多个票据和其他信息的集合。其他信息是指为验证交易逻辑包含的必要的数据,包括零知识证明等。
3. 付款人payer,收款人payee:在一个交易里,指花费了票据的人,和拥有花费新创建的票据的权利的人。这里付款人,需要与发送者sender进行区分,后者是发送了交易给区块链网络的人;因此,sender可以与payer是同一个实体,也可以是被实际payee授权的一个第三方。
| 交易类型
在utxo模型的基础上, 隐私Token支持5种主要的交易类型:铸造Token、销毁Token、划转Token、充值Token、提取Token。
铸造Token:由Token的发行方发起的铸造交易(一种没有input的特殊划转交易)。
销毁Token:由Token发行方发起的销毁一定数量的Token的交易(一种没有output的特殊划转交易)。
划转Token:由普通用户发起的input总和与output总和相等的交易。
充值Token:充值,由普通用户发起的input总和小于output总和的特殊划转交易。差值经Token缩放因子处理后为实际从ARC20转入到隐私账户的Token数量,充值交易内部会从交易指定公开账户划转ARC20 Token到TokenManager合约账户。
提取Token:由普通用户发起的input总和大于output总和的特殊划转交易。差值经Token缩放因子处理后为实际从隐私账户转出到ARC20Token数量,提取交易内部会从TokenManager合约账户划转ARC20 Token到交易指定的公开账户。
通过以上介绍,相信对confidential-transaction有了初步了解。欢迎参与到PlatON隐私AI计算网络的建设中来,并提出宝贵建议。
本文转载自https://mp.weixin.qq.com/s/0LeEcBzjjgvURUAMRN4bTA