Suter|Suter, 下一个Chainlink一样的百倍币( 三 )


4
回归初心,技术至上
【 Suter|Suter, 下一个Chainlink一样的百倍币】讲完了市场定位和空间,下面开始讲技术。带着几个问题:
什么零知识证明?什么是Mimblewimble?什么是多方计算MPC以及可信计算Tee?
下文将一一展开,讲清楚为什么Suter独创的技术是最牛逼的。
先来一个图:
这几个代表性的项目你可以看到,Arpa干的事情跟Suter干的事情不一样,他们做的企业级的安全感觉是给企业做风控,并不是2C场景的隐私保护,而Suter是既包括toB也包括toC的场景的安全保护。尤其是toC的场景,这在世界上除了纯粹为了支付的隐私币来说,Suter的解决方案可以说是唯一。

Suterusu与隐私币Beam和Grin的区别:
Beam和Grin都是隐私币,基于Mimblewimble的协议,他们的目标是类似Zcash实现自己的隐私交易。Suterusu自身是一个协议,基于自研的零知识证明技术的通用Layer-2隐私协议,目标使其他链具备隐私保护功能。
以下是详细的对比:
1.适用性更广:Beam 和Grin都仅仅是隐私币,Suterusu致力于构建Layer-2的通用协议,并将通过为其他区块链网络和应用提供隐私保护功能。
2. 更高级别的隐私保护:Mimblewimble旨在找到隐私和可伸缩性之间的平衡。但为了确保 Mimblewimble 协议的可伸缩性,矿工须对交易信息进行精简,否则无法打包交易,因此无法彻底保证交易不被追溯。Suterusu基于自研的zkp算法「zk-conSnark」,做到无需可信预设(Zcash需要可信预设),具有更高安全性,运算接近常数级别,可以保证发送方、接收方的匿名性和交易的私密性的同时兼顾效率。
3.支持 DeFi:Beam和Grin的脚本语言与比特币相似,因此无法支持复杂的智能合约,这限制了它们在 DeFi和其他领域的适用性。Suterusu的隐私方案支持账户模式和UTXO模式,具备完整的智能合约,未来将是Defi等领域重要的基础协议。
另外一个相关的项目是以太坊隐私交易层协议Tornado.cash,这个项目目前的月流量已经有几百万美金。以下是Suterusu和这个项目的主要区别:
1. Tornado的解决方案不能保护交易金额隐私。Suterusu的方案同时保证交易参与者匿名性和交易数据保密性。
2. Tornado的方案和Zcash一样都基于ZK-SNARK,因此需要可信初始化。Suterusu的方案则无需可信初始化,因此更加安全透明。
3. 和Tornado的方案只适用于以太坊不同,Suterusu针对智能合约平台的匿名支付方案是通用的,换句话说他不仅仅支持以太坊还支持任意的智能合约平台,这也是为何目前众多的智能合约平台项目和我们合作的原因。
4. Suterusu的虚拟机还提供了针对比特币的跨链匿名转账功能,这将为Suterusu的生态系统带来更多的流动性。
5. 由于Suterusu的匿名支付方案同时支持智能合约平台和比特币跨链转账,我们提供的技术模块之上还可以构建更为精妙复杂的Defi功能。

Suterusu主要有如下几个核心技术:
?针对智能合约平台的零知识证明代码库
目前市面上通用的零知识证明代码库的实现主要是针对layer 1的隐私币,如zcash的zk-snark, monero的ring confidential transaction等。为智能合约平台准备的零知识证明代码库和针对layer 1隐私币的零知识证明代码库主要有以下这些差别:
在layer 1隐私币UTXO模型下针对一个账户使用数字承诺方案发送该接受者可使用的加密密钥,如果该UTXO账号接受者无法打开该数字承诺,那仅仅意味着这个UTXO账号无法使用。因此,UTXO模型下转账发起者在给接受者发送加密的金额所对应的随机密钥时,无需提供零知识证明来证明加密密钥的合法性。
出于便利性的原因,账户模型模拟的是银行账号的工作模式,因此在账户模型下所有传输金额最终都聚合到一个账户下。因此在该模型下,账户收到的加密转账金额的随机密钥只要有一次不能打开,意味着对应接受者账户中其他所有金额全部无法继续使用,因为聚合以后的随机密钥无法打开对应密文。
因此,针对智能合约平台的零知识证明方案,需要针对账户金额密钥的加密方案提供零知识证明,以避免上述问题。
这意味着对应的转账证明和范围证明做一系列的改动;由于针对智能合约平台的支付方案防止重放攻击的机制和隐私币如monero中防范双花攻击的机制不同,这方面Suterusu也做了相应的改动。
Suterusu初步的零知识证明代码库提供了针对智能合约系统的转账金额均衡证明和范围证明。转账金额均衡证明指在一个转账操作中输入金额之和和输出金额之和相等,范围证明指涉及金额属于正确范围,从而保证攻击者无法发起凭空打印Suter币的攻击。
?支持形式化验证的客户端
Suterusu幻影1.0的客户端使用OCaml语言编写,OCaml语言近来在智能合约编程中得以广泛应用,主要原因在于他是一?函数式编程语言,因此便于编写形式化验证的开发者库和工具。
所谓形式化验证指将系统代码抽象成数学模型,然后针对一些预先定义的属性和说明,对系统使用算法的正确性进行数学证明以验证系统的安全性。
受益于OCaml语言的强类型系统和内存管理特性,OCaml语言在支持形式化验证方面有得天独厚的优势。OCaml语言的技术社区也十分强大,有众多可用于生成形式化验证的OCaml代码的工具,如 F*, Coq, Why3等。


推荐阅读