Suterusu CTO 林煌:如何助力Neo开发Layer2隐私协议的解决方案_亚博开奖网

泡沫雕刻机 | 2020-11-12

再一的Neo Live再度与大家见面啦!2020年的首期Neo Live,我们邀到新的伙伴 Suterusu 的 CTO 林煌,一起聊聊他们与Neo的深度技术合作「如何助力Neo研发Layer2隐私协议的解决方案」。以下是全场活动的文字版内容国史:今天给大家讲解下Suter作为Neo Layer2 解决方案的架构。

如系统架构图右图,发送者将从他的钱包中自由选择NEO账户,并运营Fund智能合约,该合约将NEO切换为二层协议代币Suter。Fund合约将在主链网络上运营。

发件人通过运营CreateAddress创立一个Suter帐户,然后运营CreateFundTx算法来创立一个能运营Fund智能合约的交易,该交易将启动Fund智能合约,并在他的钱包中将NEO转换成Suter代币,然后将这些Suter代币并转到新创建的Suter帐户中。在NEO blockchain证实Fund合约后,将通过运营Suterusu电子邮件账户contract来电子邮件化对应Suter token,该合约将由Suter blockchain network证实。这里,Suter电子邮件账户contract将确保发送者和接收者的匿名性以及出让金额的保密性。

发送者将通过运营CreateTransferTx来创立一个能启动时Suter电子邮件账户contract的交易,即Transfer。最后,Fund合约不会将电子邮件的Suter token换NEO,并将其存储在接收者的钱包中。发送者将运营CreateBurnTx交易以启动时Burn contract,以将电子邮件化后的Suter帐户中的Suter token切换为接收者帐户中的NEO。

亚博开奖网

下面将讲解这些contract的细节以及各个用户算法与这些contract如何交互。Suter缴纳框架Suter缴纳框架主要包括以下三个智能合约,以构建智能合约平台的保密缴纳。- Fund合约 -任何人都可以通过登录公钥并移往一些NEO来为帐户投资。

该合约将NEO切换为Suter。NEO被存储在智能合约中,而Suter将以同态的方式加到到y的余额中。

如果该帐户尚能不不存在,该合约将不会创立一个新的帐户。该合约中的账户操作者还附带有范围证明,以保证存款金额不多达Suter token的下限。- Burn合约 -Burn将Suter切换返NEO。

它根据Fund声明的statement来检验Fund对应零科学知识证明,以保证发送者告诉准确的私钥并burn了准确的金额。它还检查交易数据上的亲笔签名和计数器的当前值,以避免纠错反击。- Transfer合约 -通过此操作者,可以在Suter blockchain中电子邮件账户Suter token。

电子邮件账户对应零科学知识证明可保证密文具备准确的格式,并且发件人有充足的Suter token。用户通过运营以下算法之一与智能合约交互。这些算法的输入是完整交易。

它们将用于发送到这些交易的NEO或者Suter帐户的私钥亲笔签名,并启动时NEO或Suter blockchain的智能合约。CreateAddress(sk,pk)为用户获取了一种向智能合约证书身份的方法。它以安全性参数\ lambda作为输出,并输入一个私钥sk和适当的公钥pk。

123696com澳门官网

CreateFundTx(pk,amt)向帐户加到资金,该算法的输出为公钥pk和金额amt。CreateTransferTx(sk_ {from},pk_ {to},amt,st)将资金从一个帐户转至另一个帐户。它必须私钥sk_ {from},接收者公钥pk_ {to},账户金额amt以及某个特定block height h的智能合约的状态st 作为输出,最后输入tx_{trans}。(对于电子邮件账户,该算法还把电子邮件子集AnonSet作为输出,输出中还包括发送者和接收者的公钥。

AnonSet也不会包括在输入中。)CreateBurnTx(sk,st)从帐户中萃取全部余额。这个算法的输出是密钥sk和一个状态st。

ReadBalance(sk,st)加载帐户余额。该算法输出为密钥sk和状态st,输入整数b。有关这些算法的更好详细信息,有兴趣的读者可以参照Suterusu黄皮书。

请注意,发件人必须出售Suter token以缴纳电子邮件账户的费用。我们在架构设计中还考虑到了如何避免frontrunner反击和纠错反击。

亚博开奖网

如何避免frontrunner反击这里叙述下如何避免frontrunner反击。当牵涉到到横跨链功能时,这个是我们必需考虑到的问题。

Zether的论文获取了一个如何发动frontrunner反击的详尽案例:账户交易中的零科学知识证明必须证明余额为于是以。用户Alice针对合约中以加密方式存储的金额为正的证明。但是,如果另一个用户Bob移往了一些ZTH到Alice,并且Bob的交易被blockchain network先处置,则Alice的交易将被拒绝接受,因为此时Alice账户余额由于Bob的操作者而转变了,因此对应的零科学知识证明仍然有效地。请注意,Bob几乎有可能用心较好,而Alice却不会因此丧失了为处置交易而缴纳的gas费用。

为了解决问题frontrunner反击,Suter框架将所有起源于的transaction继续维持为pending状态。系统时间分成多个周期,每个周期由k个倒数的块构成。在每个周期完结时,未完成的提款将被转至适当的帐户。

预计用户将在一个周期开始时公布其transfer或burn交易。然后,当接到来自该帐户的第一条消息时,我们不会在一个时期内旋转一个帐户;因此,一条消息只不会滑动到一个帐户。为了构建这一点,我们定义了一个分开的(内部)滑动方法,其他所有方法要做到的第一件事就是调用该方法。为了避免纠错反击,Suter框架具备另外一个最重要功能:将帐户瞄准到智能合约里。

将一个随机数与每个Suter帐户相关联,该随机数将随该账户所处置交易数目减少而减少。来自帐户的新交易必需签订与该帐户关联的近期随机数以及交易数据(其中还包括对应的零科学知识证明)。

这种方法将交易的所有内容,还包括随机数和零科学知识证明初始化一起,并保证freshness。因为攻击者无法在蓄意交易中引入合法的零科学知识证明,也就无法构建所见所闻反击。

这个系统架构大约就是这样了。QA解说环节· Suterusu最近在市场层面频密的倾听,是不是在技术上获得了领先的优势性的进展?林煌:目前我们密码模块和客户端基本早已调试完,现在在展开密码模块和区块链网络的接入,预计三月份测试网上线。· 作为Suterusu roadmap中的一环,与Neo这样的公链展开技术合作是目前较为最重要的事情,Suterusu最后的定位和愿景是什么样的呢?项目仅次于的价值反映在什么地方?林煌:目前我们项目还是专心于做到服务于公链的二层协议,一个能电子邮件化任何底层密码币的二层协议。短期来看我们为智能合约平台设计的电子邮件缴纳方案为各大公链生态系统获取一流的隐私维护服务,长年看我们期望能空缺密码理论和隐私维护技术实践中之间的鸿沟。

123696com澳门官网

· 电子邮件币在早期的加密社区就很不受大家推崇,门罗,大零,小零,和从去年开始较为火热的grin等等,林博士可以不可以深入浅出的为我们解释一下Suterusu Zk的核心优势点相比于其他的电子邮件币解决方案到底杰出在哪里?林煌:目前的隐私币要不就必须可靠初始化(如zcash),这将容许攻击者不被察觉到的情况下发售不限量的zcash,要不然就可扩展性不强劲(如monero)。我们所明确提出的高效的保密缴纳方案能确保我们的隐私维护blockchain协议能在安全性和可扩展性之间获得最佳均衡,也就是既需要可靠设置同时证明大小还是常数的。另外,和大部分不获取智能合约功能的隐私币比起,suter的智能合约容许我们获取更加非常丰富的金融功能。

另外,我们还获取了一个Suter虚拟机基于我们的zk-consnark获取各种隐私维护的服务,还包括隐私维护的pos和电子邮件证书等。· 能无法非常简单说道一下Suter虚拟机。林煌:Suter虚拟机是我们可行性的设想,在我们zk-consnark在测试网测试运行靠谱以后,我们不会在这上面着力多些。另外,因为现在用户对隐私问题更加推崇,另外区块链中有很多隐私涉及的问题亟待解决,所以我们坚信这样一个专门针对隐私服务的虚拟机是有他的市场的。

· 说道返与公链合作,在技术层面之外,大家最关心的是,隐私协议+公链所能可谓的应用于场景是什么样的,除了账户这样的底层市场需求之外,林博士是不是观点想共享一下?林煌:这个应用于场景很多,因为区块链技术最主要的应用于还是去中心化金融,而对于金融服务而言,因为牵涉到的数据十分脆弱,隐私维护应当是个必要条件,所以这个问题解决问题好了,众多之前不能谈谈而已的应用于场景比如dex什么的就有了可以落地的一个适当前提了。· 林博士可以非常简单讲解一下Suterusu的通证经济模型是如何设计和运作的吗?林煌:这个问题你有可能得回答Suterusu的首席经济学家郭大治老师,因为我本人不是经济学家,对这方面理解得也较为较少。但我确切我们的代币发售总量为100亿,而且是通缩模型。

· 林博士对隐私与监管的均衡问题有什么观点?林煌:我实在区块链现在还正处于跟上阶段,对于这种新生事物的监管,坚信有关部门也正处于思索阶段,这个应当不会逐步成熟期一起吧。· 林博士您提及为了避免frontRunner反击,您用于了比较复杂的交易状态管理,但是为了避免纠错,您又对交易编成了号,我较为困惑的是,为什么对交易编号本身为什么无法用来避免frontrunner呢?林煌:嗯?frontrunner主要和交易以及合约被继续执行次序有关,而交易编号是用来区分协议的freshness的,这两者应当是彼此之间涉及的,网卓新闻网,因为有可能被frontrun的协议和frontrun的协议都是fresh的。

· 这个架构就是为了电子邮件账户设计出来的吗?林煌:主要是这个目的,但我们用于的零科学知识证明代码库可以拓展成标准化的,这方面的研究工作我们仍然在做到,另外我们也不会考虑到做到些针对零科学知识证明的ddl,以确保零科学知识证明协议的可用性。· 直说,Suter本身作为Layer2的解决方案,将来扩展到多条链的时候,否有对有所不同类型的代币之间展开区分的机制?因为NEO在您的链上必须外币成Suter,别的代币也不会外币成Suter,那在账户的时候,如何区分呢?林煌:这个问题很好,只不过账户时候货币的所有权还是由对应Suter的私钥定义的,所以即使一堆的Suter在账户所有者还是确切那一部分是自己的NEO切线来的。

换句话说只有你告诉私钥的那部分Suter才确实是你的,这也合乎整个加密货币的基本原则,私钥即所有权。· 那我享有的那部分由NEO外币来的Suter否可以外币成别的代币呢?大股东我自己不可以,那我把Suter转交别人,别人否可以权利外币成给定的代币呢?林煌:那当然可以。-亚博体彩官网。

本文来源:亚博开奖网-www.chezplayers.com