“数据可得性(data availability)”和“数据可得性问题”指的是一些区块链扩容方案所面临一个问题。具体来说,就是当新的区块创建时,节点如何确保该区块中的所有数据都已发布到网络上?困难之处在于,如果区块生产者没有公布区块中的所有数据,就没人能发现该区块中是否隐藏了恶意交易。
在本文中,我将深入探讨数据可得性问题的重要性,以及相关解决方案。
区块链上的每个区块都由两部分组成:
区块头,即,区块的元数据,由一些关于区块内容的基本信息组成,包括交易的默克尔根。
交易数据,即,区块的主要组成部分,由实际的交易数据组成。
区块链网络中主要有两类节点:
全节点(又称完全验证节点)。这类节点会下载区块链中的每笔交易并验证其有效性。这需要消耗大量资源和数百 GB 的磁盘空间,但是这些节点的安全性最高,因为它们不会接受包含无效交易的区块。
轻客户端。如果你的计算机没有足够的资源来运行全节点,你可以运行轻客户端。轻客户端不需要下载或验证任何交易。它们只下载区块头,并认定区块中包含的交易都是有效的。因此,轻客户端的安全性低于全节点。
幸运的是,有一种方法可以让轻客户端间接检查区块中的所有交易是否有效。轻客户端可以依赖全节点向其发送关于无效交易的 欺诈证明,无需自己检查交易的有效性。欺诈证明是一个很小的证明,可以证明区块中的某个交易是无效的。关于欺诈证明的运作原理,本文不做具体介绍,请阅读这篇文章。
这里只有一个问题:全节点如果要为某个区块生成欺诈证明,需要知道该区块的交易数据。如果区块生产者只公布区块头,没有公布交易数据的话,全节点就无法验证交易的有效性,并针对无效交易生成欺诈证明了。这就要求区块生产者公布区块的所有数据,但是我们需要找到一种方法来强制实行。
为了解决这个问题,轻客户端需要找到某种方法来检查区块的交易数据是否真的发布到了网络上,以便全节点进行验证。然而,我们又要避免让轻客户端下载整个区块,因为这会使得轻客户端丧失存在的意义。
我们该如何解决这一问题?首先,我们先来讨论数据可得性问题的相关性,以及如何采取解决措施。
在上一节中,我们介绍了数据可得性问题。让我们来讨论一下它对可扩展性解决方案的重要性。
增加区块大小
在比特币等区块链中,绝大部分一般的手提电脑都能运行全节点并验证整条链,因为存在人为规定的区块大小上限,来防止区块链变得过大。
但是,如果我们想要增加区块大小上限该怎么办?那就只有更人才能负担得起运行全节点并独立验证区块链的成本,大多数人都会运行安全性更低的轻客户端。这并不利于去中心化,因为这会让区块生产者更容易更改协议规则,插入无效交易来轻客户端。因此,为轻客户端提供欺诈证明支持很重要,但是正如我们已经讨论过的,轻客户端需要一种方法来验证区块中的所有数据是否都已发布至网络。
分片
提高区块链吞吐量的一种方法是,将区块链分成多条链,即,分片。这些分片都有自己的区块生产者,而且可以相互通信,以便在分片之间转移代币。分片的意义在于,将网络中的区块生产者分组,这样就不需要每个区块生产者处理每个交易,只需将他们分散到不同的分片上即可。每个分片只需处理部分交易。
通常来说,在分片式区块链上,验证者只需要为一个或少数几个分片运行全节点,并为其它分片运行轻客户端。毕竟,如果每个验证者都要为每个分片运行一个全节点,就无法实现分片的目的 —— 将网络的开销分割给不同节点。
然而,这种方法本身存在缺陷。如果分片上的区块生产者作恶,开始接受无效交易怎么办?相比非分片式系统,分片式系统更有可能发生这种情况,因为后者的每个分片上只有少量区块生产者,攻击起来更容易。请记住,区块生产者会被不断分配到不同的分片上。
为便于察觉是否存在分片接受无效交易的情况,我们必须确保分片中的所有数据都是公开可得的,以便使用欺诈证明来证明所有无效交易。
Rollup
Optimistic rollup 是一种基于 rollup 侧链(类似分片)的新型可扩展性策略。这些侧链有自己专属的区块生产者,可与其它侧链互相转移资产。
但是,如果有恶意的区块生产者将无效交易打包进区块,将侧链上所有用户的资金盗走怎么办?为解决这一问题,我们可以使用欺诈证明来发现这种情况。但是,还是那个老问题,侧链用户需要找到某种方法来确保侧链上所有区块的数据都公开可见,以便发现无效交易。为了解决这一问题,以太坊上的 Rollup 将所有 rollup 区块都发布到以太坊区块链上,依赖以太坊来实现数据可得性。也就是说,将以太坊作为数据可得性层。
ZK-rollup 与 optimistic rollup 类似。区别在于,前者并非使用欺诈证明来发现无效区块,而是使用有效性证明来证明区块的有效性。有效性证明本身不需要数据可得性。然而,总的来说,ZK-rollup 需要数据可得性,因为如果区块生产者创建了一个有效区块,并为其生成有效性证明,却没有公布区块数据,用户就无法知道区块链的状态以及他们的余额,也就无法与区块链进行交互。
进一步探索
rollup 的设计旨在将区块链作为数据可得性层来存储交易,但是实际的交易处理和计算都发生在 rollup 上。这是一种很有趣的思路:区块链实际上不需要进行任何计算,但是至少需要将交易分装到区块中,并确保交易的数据可得性。
这也是 LazyLedger 的设计思路,即,一种“懒惰的”区块链,只需要完成区块链的两个核心任务 —— 通过可扩展方式对交易进行排序,并实现交易的数据可得性。这使得 LazyLedger 成为 rollup 等系统中的最小“可拔插”组件。
下载所有数据
正如上文所讨论的那样,解决数据可得性问题的最直接方法就是,要求所有人(包括轻客户端)下载所有数据。显然,这种方法不具备良好的可扩展性。比特币和以太坊等大多数区块链均采用这种方法。
数据可得性证明
数据可得性证明是一种新技术:客户端只需下载区块中的一小部分数据,即可检查该区块中所有数据是否均已发布。
数据可得性证明采用了一种被称为纠删码的数学元件。纠删码被广泛应用到了从 CD-ROM 到卫星通信再到二维码等信息技术中。纠删码可以将原本 1 MB 的区块数据扩充成 2MB,其中多出的 1 MB 就是叫做纠删码的特殊数据。如果区块中的任何字节丢失,纠删码都可以帮你找回它们。即使整个区块的数据丢失, 纠删码也可以帮你找回所有数据。同样地,有了纠删码,即使 CD-ROM 中的数据都被擦除,你的计算机也可以读取到(译者注:纠删码并不能帮你节约带宽,假设 1MB 的数据被扩充成了 2 MB,你仍然需要获得至少 1MB 的数据才能恢复出原始数据,虽然并不要求这 1 MB 的数据是连续的)。
这就意味着,要实现 100% 的数据可得性,区块生产者只需将区块中 50% 的数据发布到网络上。如果恶意区块生产者想要成功隐瞒 1% 的数据,就必须隐瞒超过 50% 的数据,否则这 1% 的数据可以通过剩下 50% 的数据找回(译者注:此段第一句存疑)。
有了这个知识,客户端就能采取措施来确保区块中的数据不会被隐藏。客户端可以尝试随机下载区块切分而成的数据块,如果他们未能成功下载数据块(即表明,该数据块属于恶意区块生产者未公开的那 50% 的数据),它们就会拒绝承认该区块的数据可得性。如果下载一个随机数据块,客户端就有 50% 的概率发现无效区块。如果下载两个数据块,就有 75% 的概率。如果下载三个数据块,就有 87.5% 的概率。以此类推,直到下载七个数据块之后,就有 99% 的概率。通过这种方式,客户端只需下载区块中的一小部分数据,即可有效检查整个区块的数据可得性。
数据可得性证明的全部细节会更复杂一些,而且依赖于其它假设,例如,网络中的轻客户端数量不能低于某个下限,这样就有足够多的轻客户端请求数据块,以便恢复整个区块的数据。如果你想了解更多信息,可以查看关于数据可用性证明的论文。
在本文中,我们介绍了数据可用性问题,讨论了数据可用性对区块链可扩展性的重要性,并提出了解决方案。
如果你想了解更多信息,请查看以下资料:
John Adler’s whiteboard session about fraud and data availability proofs
Original fraud and data availability proofs paper
Coded Merkle Trees paper on an alternative data availability scheme
Ethereum Research wiki post on the data availability problem
原文链接:
https://coinmarketcap.com/alexandria/article/what-is-data-availability
作者: Mustafa Al-Bassam
翻译&校对: 闵敏 & 阿剑
原文链接:
https://coinmarketcap.com/alexandria/article/what-is-data-availability
作者: Mustafa Al-Bassam
翻译&校对: 闵敏 & 阿剑
金色相对论 | BSN副秘书长李慧:区块链主要解决的是数据可追溯、多方互信等问题:在今日举行的金色相对论中,针对“区块链落地的爆发点会在哪儿”的问题,火币区块链研究院副院长区块链服务网络(BSN)副秘书长李慧表示,区块链主要解决的是数据可追溯、多方协同以及多方互信等问题,涉及到多方的问题,通常都是比较复杂的问题,需要大家一起来配合。但在实际落地实施的过程中总会碰到这样那样的问题,如果没有一个强有力的执行方和推动方,很可能一个很好的项目就会搁置起来,难以落地,我们也不难从很多失败的区块链项目看到这样的情景再现。最好的落地场景,我认为在当前阶段如要满足以下几个特点,才有较高的落地成功概率。 \n1.有真实的业务痛点和需求,除了区块链技术其它技术是很难解决的; \n2.应用场景业务复杂度不高,能够快速做试点,并有良好的可复制性; \n3.参与各方利益目标一致,可以实现“共赢”; \n4.有实际的推动方,有促成项目成功的强烈愿望和需求。[2020/6/3]
动态 | 雄安片区将重点推进基于区块链等技术的大数据可信交易:《 中国(河北)自由贸易试验区总体方案》指出,要引领雄安新区高质量发展建设数字商务发展示范区。发展大数据交易、数据中心和数字内容等高端数字化贸易业态。推进基于区块链、电子身份(eID)确权认证等技术的大数据可信交易。(雄安发布)[2019/8/26]
声音 | 宏链科技晏翔:区块链将在用户对数据可信有强烈需求的场景率先落地:据人民创投消息,日前,宏链科技CEO晏翔表示,区块链技术的应用场景非常广泛,是共享信息互联网到价值互联网转变的基础技术。随着人们对数据的安全性、真实性以及健康性的要求越来越高,区块链显现出其蓬勃的生命力。晏翔认为,区块链可以保证数据的可信、健康和安全,可信信息可以帮助提高社会运转效率。区块链将在用户对数据可信有强烈需求的场景中率先落地。[2018/9/7]
标签:
IMF:疫情恶化或给金融稳定性带来危机:国际货币基金组织(IMF)表示,新冠病疫情恶化可能会给金融稳定性带来危机。
12/21/2020 12:30:26 PM埃隆马斯克先生在推特上发布了一张与比特币相关的图片引发了众多讨论,其中已经买入13亿美元BTC的美国上市公司MicroStrategy的CEO还建议马斯克把特斯拉的资产负债表从美元转换为BTC,他还饶有兴致的问如此大的交易有可能吗,马斯克也算是科技公司中走在最前沿的男人,对BTC的关注和认可也是超前的;同样是马,造火箭的马和搞金融的马境遇却大不相同。
12/21/2020 11:31:38 AMAave、TrueFi、Teller Finance、Aegis 无抵押借贷模式详解。 当前大部分 DeFi 借贷平台以超额抵押的方式运行,这意味着,你想要借出来一千块钱,就得先抵押价值一千八百块的 ETH 才行。使用超额抵押,是不得已而为之,在一个去中心化平台上,如果抵押品不足,很容易出现坏账,超额抵押是很自然的一个选择。
12/21/2020 11:26:05 AM“数据可得性(data availability)”和“数据可得性问题”指的是一些区块链扩容方案所面临一个问题。具体来说,就是当新的区块创建时,节点如何确保该区块中的所有数据都已发布到网络上?困难之处在于,如果区块生产者没有公布区块中的所有数据,就没人能发现该区块中是否隐藏了恶意交易。 在本文中,我将深入探讨数据可得性问题的重要性,以及相关解决方案。
12/21/2020 11:25:59 AM青龙看趋势 消息面上周末短期消息不多,整体长期性都是利多消息。机构持仓方面灰度持续增持主流币中,整体来看长期性依旧看好。短期注意机构获利盘巨大,圣诞节临近,以及国外疫情相对严重,可能会有抛售预期。 主板区币种分析 BTC(4小时走势图):BTC整体行情再次走出短期新高24288,随后出现短期回落。
12/21/2020 11:15:07 AM12月15日SushiSwap联合创始人0xMaki提到SushiSwap计划在波卡上推出,并提到用户将会收到moonSushi。 消息一出,评论区内反响热烈。在此之前还没有以太坊上的去中心化交易所在波卡链上推出,SushiSwap很可能将成为兼容以太坊和波卡的DEX先行者。 除了SushiSwap,波卡和以太坊链上陆续出现跨链DeFi项目。
12/21/2020 11:09:33 AM美国最大的加密数字货币交易平台Coinbase正在申请IPO。它现在估值是280亿美元。这样的IPO估值已经是历史上最大的IPO之一。但是我认为当它真正在IPO时,市场对它的估值将会远超于280亿美元。比特币价格的上升就直接会推高Coinbase的估值。最近比特币已经创造了它的历史新高,超过了每枚2万美元,而且现在还处在继续增长的趋势。
12/21/2020 10:53:21 AM