ARK:Volition:探索数据可用性的设计空间_STAR

编者按:本文来自以太坊爱好者,作者:StarkWare,翻译&校对:闵敏&阿剑,Odaily星球日报经授权转载。太长不看

数据可用性并非只有链上/链下之分,而是一段频谱。StarkEx的部署方案将覆盖整个频谱。目前,StarkEx实例既可以是Rollup,也可以是Validium。首个StarkEx实例是Validium方案。我们将介绍一种新的设计Volition。Volition是一种混合链上/链下数据的解决方案,可以让用户动态地选择数据的存储位置。StarkEx即将支持Volition。背景

我们最近在以太坊主网首次上线了StarkEx。这一版的StarkEX作为后端支持着DeversiFi去中心化交易所。而DeversFi所选的数据可用性方案是通过数据可用性委员会将交易数据存储在链下。DeversiFiV1.0之所以选择这种方案,是因为它不能将客户的交易历史记录到链上,以免将客户的交易策略透露给竞争者。DeversiFi在数据可用性方案的选择上充分考虑到了客户的需求,同时尽可能免去他们对DAC的信任。需要注意的是,DeversiFi选择链下数据方案的另一个原因是可扩展性:可扩展性可以带来流动性,对于一家新兴去中心化交易所来说至关重要。StarkEx的上线引发了一场关于如何合理命名不同可扩展性方案的讨论,因为它们的数据可用性方案毕竟不同。我们建议对定义进行如下改进。

根据上述定义,DeversiFiV1.0的技术方案应该叫“Validium”。动因

我们相信数据可用性是可扩展性方案的一大重要维度。我们知道不同的应用、用户、运营者都有各自独特的需求,从而影响到它们对数据可用性方案的选择。开发可扩展性方案的公司需要提供不同的产品,来满足其客户/用户的多样化需求。过去一年来,我们在数据可用性方案的设计上投入了大量研究。这是一个丰富的多维度领域,并且随着区块链的发展,整个生态系统对区块链的理解也将得到发展。我们希望解释现有的权衡关系,并研究出改进方案。具体来说,我们致力于设计出具有亚线性可扩展性的数据可用性方案;随着以太坊上的拥堵加剧,这类方案就愈发重要。如果以太坊成为了理想中的通用公共基础设施,势必会对可扩展性提出更高的要求。Volition

我们的价值主张很简单:让用户在进行个人交易时,可以随时自由选择任意程度的数据可用性偏好,不受资产类型的限制。假设有一家交易公司的风险/回报预测反映了用户对安全存储资金以及较低交易费的偏好。在这样一家公司,交易日开始时,资金会转移到交易者的链下数据账户中。出于安全性原因,在交易日结束时,所有资金都会被转移到链上数据账户中。从概念上来说,StarkEx中的每个账户都会被定义为OFFD或OND。用户可以控制多个账户,然后根据需要在这些账户之间转移资金。StarkEx会为每一批交易生成一个证明。如果某批交易中包含了OND用户的交易,则相应的证明必须这些OND账户的余额作为公共输入。因此,上图应该更新成这样:

我们正在实现这一设计,具体的部署细节很快就会发布。隐私性

目前,市面上可用的解决方案都存在隐私性问题。如上文所述,正是隐私性方面的担忧促使DeversiFiV1.0选择了StarkEx。将零知识证明与加密技术相结合的系统可以实现数据隐私性。这类系统可以应用于OND和OFFD,为用户带来更好的隐私性。OND:我们有一种可以让加密数据上链的设计。这可以让交易者既享受Rollup的安全性,又不用担心会损害隐私性并暴露自己的交易策略。OFFD:隐私性能够确保DAC成员无法滥用职权:他们依然可以证明数据可用性,但是无法获知交易或余额的具体细节。因此,StarkEx的DAC成员人数可以扩大10倍。DAC扩大之后,签署每批交易所需的人数也会增加。此外,DAC成员的职责也会减少到只需签署由StarkEx处理的每批交易即可;数据可以公开——DAC成员不再承担数据保密的责任。总之,无论选择什么配置,被赋予了隐私性的StarkEx会成为更加完善、安全的产品。接下来,我们将更深入地介绍我们设计的两个数据可用性增强功能。我们的目的是分享有用的设计,并凸显数据可用性的设计空间。最小可行性回滚

在考虑OFFD解决方案时,我们的一个担忧是数据不可用攻击:在运营者和DAC均遭到攻击的情况下,攻击者可以在不公布所需数据的情况下将系统转换成一个新的状态。最小可行性回滚可以将一个数据不可用状态回滚到一个数据可用状态,从而解决这一问题。与此同时,MVR可以确保系统在回滚到新状态之后仍具有偿付能力,从而防止双花。在一个MVR系统中,每次取款都需要将所有与该账户相关的存款交易提交上链。state_new基于一个数据可用的最近状态,但它并非单纯地复制了这个状态。state_new是一个“具有偿付能力的”状态,包含了所有流入和流出StarkEx的交易。因此,用户可以从处于新状态的系统中取款。这种MVR设计可以防止双花攻击,即,攻击者先在state_recent后取款,然将系统转变成数据不可用状态;一旦系统回滚到state_recent,攻击者就可以重新获得之前已经取走的资金。有了MVR,只要双花攻击在k批交易内被发现,系统就可以回滚到state_new,因为这几批交易期间提交的证明中所包含的信息足以用来构建一个具有偿付能力的状态。就可扩展性而言,一些数据会被发送至链上,但是在通常情况下,需要上链的数据少于Rollup。该系统在设计上合理利用了快速取款机制,因此不像Validium那样需要额外的公共输入。点击此处,了解MVR的详细说明,包括如何计算state_new。免信任型链下数据可用性

在免信任型链下数据可用性模型中,用户可以选择成为权力用户,以完全免信任的方式运营。PU始终将资金掌控在自己手中:通常情况下,PU会像DAC成员那样,为每个证明提供签名。PU可以通过签名来证实他们有权访问自己的OFFD。即使DAC成员没有按规定公布所有数据,PU也可以在紧急情况下激活“逃生舱”。在没有及时签名的情况下,PU的资金会自动从链上退回应用智能合约——这属于保护性取款,在TODA改进后的免信任性中起到核心作用。不想成为PU的用户可以选择信任链下实体,不再仅限于信任DAC成员——他们可以选择信任任何愿意成为瞭望塔的PU。我们之后会发文详细介绍该协议。结论

对于任何具有可扩展性的区块链系统来说,数据可用性都是至关重要的一部分。区块链生态系统,尤其是StarkWare,都在努力探索这方面的设计空间。本文介绍了我们想到的一些比较优秀的设计,包括Volition。通过Volition,用户每次交易时都可以自由选择是将数据放在链上还是链下。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-4:204ms