区块链技术迅猛发展,新想法、新概念、新名词层出不穷。万向区块链因此推出“技术研究报告”专栏,定期与大家分享在区块链行业创新及热门技术方面的研究成果,带领大家第一时间研究学习新技术,紧跟技术发展趋势,探索发掘技术的应用价值。
本期技术研究将带大家了解Oasis网络。
本文作者:万向区块链通用架构技术部 宋广洋
1.概要
隐私始终是保护用户和扩大加密货币使用的基本要求,并被认为是Web3.0的重要方向之一。
隐私赛道的角逐日益激烈,协议与应用层都诞生了诸多主打隐私的项目,其中一些项目尝试利用可信执行环境(TEE)、多方安全计算等方式保护数据隐私 (区块链混合架构) ,例如身份信息、医疗信息,一些项目则专注于使用 ZKP (零知识证明数据) 等解决方案来保护资产隐私,例如币种数量、类型等。
1. 隐私交易网络
主要针对链上交易数据(持有或交易的币种类型与数量)进行隐私化处理,通过零知识证明等技术原生支持用户进行隐私交易,无需使用Tornado Cash等协议,就可以保证自己的隐私数据不会被外界查看,同时支持在该协议开发更多类型的隐私应用。
包括Aleo、Nym、Secret Network、HOPR等,目前,隐私交易网络大多数处于测试与开发阶段
2. 隐私计算网络
隐私计算协议是一种更底层的基础设施,具体的交易信息(币种类型与数量等)往往可以通过区块浏览器公开查看,但更强调用户使用数据的隐私。目前主要的隐私技术包括零知识证明、安全多方计算、基于现代密码学的联邦学习、可信执行环节(TEE)等。
目前比较知名的区块链隐私计算网络包括Oasis Network、PlatON、Phala Network、ARPA、Aleph Zero、Findora和Deeper Network等。
由于仍然很少被产业型项目所采用,以及部分技术尚不成熟,所以隐私计算网络目前的实际应用场景亦比较有限。
3. 隐私应用
隐私应用是指建立在Layer1或Layer2协议之上,为用户或DApp提供不同应用场景隐私保护功能的应用,例如交易、支付、邮件等。
隐私应用包括Tornado Cash、Railgun、Ruby Protocol等。
其中,Tornado Cash是目前最为常用的隐私应用,如今许多加密用户都会使用该应用对资产信息进行隐私化处理。
4. 隐私币
隐私币是指原生支持隐私性的加密货币,外界无法查看交易双方的具体交易类型、金额等信息,通常不支持智能合约及相关应用,最早在2014年就有相关项目诞生。
较为知名的隐私币包括Zcash、DASH、Horizen 、MobileCoin、BEAM、Grin等。
总结:
目前,隐私币普遍发展状况一般,用户量、交易量都大幅小于智能合约平台、DeFi等赛道项目。主要是发展隐私计算网络,作为隐私计算平台与区块链结合,以及隐私应用的发展
Oasis network
1.简介
Oasis 网络是去中心化的区块链 Layer 1 网络,旨在设计拥有独特的可扩展性、隐私优先和多功能性,2020年11月19日正式上线。
该网络有两个主要的架构组件,共识层和计算(ParaTime)层。
- 共识层由一组去中心化的验证节点来运行具有可扩展、高吞吐量、安全、基于权益证明(Proof-of-Stake)的共识。
- 共识层是利用 Tendermint 的拜占庭容错共识算法的权益证明(PoS)
- ParaTime层托管许多并行运行态(ParaTimes),每个运行态代表一个计算环境的拷贝,各计算环境之间共享状态。
技术
- 将共识和执行分为两层 —— 共识层和ParaTime层 —— 以实现更好的可扩展性和多功能性。
- 共识和执行的分离允许多个 ParaTime 并行处理事务,这意味着在一个 ParaTime 上处理的复杂工作负载不会减慢另一个更快、更简单的事务的处理。
- ParaTime 层是完全去中心化的,允许任何人开发和构建自己的 ParaTime。每个 ParaTime 都可以单独开发,以满足特定应用程序的需求,例如隐私计算、开放或封闭委员会等。
- Oasis 网络高级的差异检测技术使得其比分片和平行链更有效
- 该网络广泛支持隐私计算技术。
官方现支持paraTime
- emerald-paratime (EVM 兼容的paratime)
- cipher-paratime (机密智能合约执行环境的Paratime,rust ,TEE可信执行环境)
- parcel-paratime (隐私存储相关,不对外开放,申请使用)
- sapphire-paratime (7.21上线测试网,首个EVM兼容的隐私ParaTime)
交易
交易API定义和用于创建和验证事务的辅助方法存在于go/consensus/ API /transaction中。共识后端Api文档
版本
- Oasis Core version:
- Emerald ParaTime
- Runtime binary version