“数据可得性”和“数据可得性问题”指的是一些区块链扩容方案所面临一个问题。具体来说,就是当新的区块创建时,节点如何确保该区块中的所有数据都已发布到网络上?困难之处在于,如果区块生产者没有公布区块中的所有数据,就没人能发现该区块中是否隐藏了恶意交易。
在本文中,我将深入探讨数据可得性问题的重要性,以及相关解决方案。
区块链节点是如何运行的?
区块链上的每个区块都由两部分组成:
区块头,即,区块的元数据,由一些关于区块内容的基本信息组成,包括交易的默克尔根。
交易数据,即,区块的主要组成部分,由实际的交易数据组成。
区块链网络中主要有两类节点:
全节点。这类节点会下载区块链中的每笔交易并验证其有效性。这需要消耗大量资源和数百GB的磁盘空间,但是这些节点的安全性最高,因为它们不会接受包含无效交易的区块。
轻客户端。如果你的计算机没有足够的资源来运行全节点,你可以运行轻客户端。轻客户端不需要下载或验证任何交易。它们只下载区块头,并认定区块中包含的交易都是有效的。因此,轻客户端的安全性低于全节点。
巨鲸交易员KOL:Sui基金会并未公布真实Token排放量,SUI持有者持币份额每月或被稀释20%:6月27日消息,DeBank 排名前 10 的巨鲸钱包地址交易者 @DefiSquared 在社交媒体上发文表示,Sui 基金会在故意歪曲 SUI 排放量,已有证据证明 Sui 团队正在将锁仓和非流通的 SUI 质押奖励转入 Binance 抛售。
@DefiSquared 表示,SUI 供应量实际上每天都在增加, 包括来自锁仓SUI 分配(例如 VC 份额)的排放,这些分配自由解锁不受限制。质押释放大约相当于每月额外释放 33,000,000 枚 SUI,在 6 亿枚的 SUI 流通供应中,约有 2.5 亿是非基础流通供应,这意味着这些释放量在非基础流通供应中增加了 10%。除每月 Token 供应之外,还有每月来自 Launchpad 的 3700 万枚非基础流通 SUI。也就是说,如果投资者持有 SUI,那么目前每月其持有的份额将被稀释约 20%。
此外,据链上数据显示,拥有近 30 亿非流通和锁仓质押 SUI(是整个流通供应量的 6 倍)的 SUI 基金会,正在公开市场上抛售解锁奖励。基金会地址(持币 27 亿枚 SUI)已将 27,000,000 枚 SUI 发送至 Binance 平台。[2023/6/27 22:03:23]
幸运的是,有一种方法可以让轻客户端间接检查区块中的所有交易是否有效。轻客户端可以依赖全节点向其发送关于无效交易的欺诈证明,无需自己检查交易的有效性。欺诈证明是一个很小的证明,可以证明区块中的某个交易是无效的。关于欺诈证明的运作原理,本文不做具体介绍,请阅读这篇文章。
Coinbase Prime与Talos合作推动机构用户的访问:金色财经报道,Coinbase Prime 与 Talos 达成合作协议,Coinbase Prime 将为 Talos 客户提供现货流动性和托管服务,Coinbase Prime 客户能够访问 Talos 的交易产品。
此前报道,Talos 于 2022 年 5 月宣布以 12.5 亿美元估值完成 1.05 亿美元 B 轮融资,General Atlantic 领投,花旗集团、富国银行、a16z 等参投。[2023/4/26 14:28:29]
这里只有一个问题:全节点如果要为某个区块生成欺诈证明,需要知道该区块的交易数据。如果区块生产者只公布区块头,没有公布交易数据的话,全节点就无法验证交易的有效性,并针对无效交易生成欺诈证明了。这就要求区块生产者公布区块的所有数据,但是我们需要找到一种方法来强制实行。
为了解决这个问题,轻客户端需要找到某种方法来检查区块的交易数据是否真的发布到了网络上,以便全节点进行验证。然而,我们又要避免让轻客户端下载整个区块,因为这会使得轻客户端丧失存在的意义。
Transfero CEO:FTX事件损害巴西人对CEX和行业的信心,但不会影响加密货币跨境支付:11月20日消息,法币入金服务提供商Transfero Group首席执行官Thiago César表示,FTX事件打击了人们对中心化交易所(CEX)和加密货币的信心。然而其影响不会影响巴西普通公民,他们仍然会使用加密货币进行跨境交易。
他还指出,围绕CEX的不确定性导致巴西交易所“大量资金外流”,许多人开始寻求进行自托管——估计迄今为止交易所至少损失20%的交易量。
César表示,FTX的崩溃可能会被当地交易所用作“游说工具”,以推动相关法规。这些加密交易所一直在巴西推动监管,通过取消国际交易所对其全球流动性账簿的访问权,将当地交易所和国际交易所“隔离”。“他们提议,例如,监管将强制执行巴西雷亚尔账簿的流动性与国际账簿分开。”(Cointelegraph)[2022/11/20 22:09:14]
我们该如何解决这一问题?首先,我们先来讨论数据可得性问题的相关性,以及如何采取解决措施。
数据可得性问题与哪些方案有关
在上一节中,我们介绍了数据可得性问题。让我们来讨论一下它对可扩展性解决方案的重要性。
比特币市值占比降至近半年以来最低点:金色财经消息,据CoinMarketCap数据,自六月中旬以来比特币市值占比持续下降,目前已降至40.35%附近,此占比为近六个月以来的最低点。此前4月23日的低点为40.79%。
金色财经昨日报道,ETH市值占比为19.2%,较6月份低点增涨超5%。[2022/8/8 12:08:25]
增加区块大小
在比特币等区块链中,绝大部分一般的手提电脑都能运行全节点并验证整条链,因为存在人为规定的区块大小上限,来防止区块链变得过大。
但是,如果我们想要增加区块大小上限该怎么办?那就只有更人才能负担得起运行全节点并独立验证区块链的成本,大多数人都会运行安全性更低的轻客户端。这并不利于去中心化,因为这会让区块生产者更容易更改协议规则,插入无效交易来轻客户端。因此,为轻客户端提供欺诈证明支持很重要,但是正如我们已经讨论过的,轻客户端需要一种方法来验证区块中的所有数据是否都已发布至网络。
分片
提高区块链吞吐量的一种方法是,将区块链分成多条链,即,分片。这些分片都有自己的区块生产者,而且可以相互通信,以便在分片之间转移代币。分片的意义在于,将网络中的区块生产者分组,这样就不需要每个区块生产者处理每个交易,只需将他们分散到不同的分片上即可。每个分片只需处理部分交易。
ConsenSys Mesh选择Codefi Staking运营其在以太坊上的验证器:据官方消息,ConsenSys Mesh选择了ConsenSys的机构级质押服务Codefi Staking来运营其在以太坊上的验证器。
ConsenSys于2020年12月推出Codefi Staking,作为一个面向交易所、托管方、基金、钱包和其他机构的以太坊质押即服务平台。Codefi Staking有助于消除质押ETH的技术和操作风险,帮助机构实现回报最大化。如今,Codefi Staking运行着超过8000个以太坊验证器节点,拥有99.95%的正常运行时间记录。
Codefi Staking将在其多区域、多云和多客户端平台上分发MESH的验证器。在与Codefi Staking合作时,MESH将保留对其ETH的托管和控制权。[2022/6/1 3:56:48]
通常来说,在分片式区块链上,验证者只需要为一个或少数几个分片运行全节点,并为其它分片运行轻客户端。毕竟,如果每个验证者都要为每个分片运行一个全节点,就无法实现分片的目的——将网络的开销分割给不同节点。
然而,这种方法本身存在缺陷。如果分片上的区块生产者作恶,开始接受无效交易怎么办?相比非分片式系统,分片式系统更有可能发生这种情况,因为后者的每个分片上只有少量区块生产者,攻击起来更容易。请记住,区块生产者会被不断分配到不同的分片上。
为便于察觉是否存在分片接受无效交易的情况,我们必须确保分片中的所有数据都是公开可得的,以便使用欺诈证明来证明所有无效交易。
Rollup
Optimisticrollup是一种基于rollup侧链的新型可扩展性策略。这些侧链有自己专属的区块生产者,可与其它侧链互相转移资产。
但是,如果有恶意的区块生产者将无效交易打包进区块,将侧链上所有用户的资金盗走怎么办?为解决这一问题,我们可以使用欺诈证明来发现这种情况。但是,还是那个老问题,侧链用户需要找到某种方法来确保侧链上所有区块的数据都公开可见,以便发现无效交易。为了解决这一问题,以太坊上的Rollup将所有rollup区块都发布到以太坊区块链上,依赖以太坊来实现数据可得性。也就是说,将以太坊作为数据可得性层。
ZK-rollup与optimisticrollup类似。区别在于,前者并非使用欺诈证明来发现无效区块,而是使用有效性证明来证明区块的有效性。有效性证明本身不需要数据可得性。然而,总的来说,ZK-rollup需要数据可得性,因为如果区块生产者创建了一个有效区块,并为其生成有效性证明,却没有公布区块数据,用户就无法知道区块链的状态以及他们的余额,也就无法与区块链进行交互。
进一步探索
rollup的设计旨在将区块链作为数据可得性层来存储交易,但是实际的交易处理和计算都发生在rollup上。这是一种很有趣的思路:区块链实际上不需要进行任何计算,但是至少需要将交易分装到区块中,并确保交易的数据可得性。
这也是LazyLedger的设计思路,即,一种“懒惰的”区块链,只需要完成区块链的两个核心任务——通过可扩展方式对交易进行排序,并实现交易的数据可得性。这使得LazyLedger成为rollup等系统中的最小“可拔插”组件。
数据可得性问题的解决方案
下载所有数据
正如上文所讨论的那样,解决数据可得性问题的最直接方法就是,要求所有人下载所有数据。显然,这种方法不具备良好的可扩展性。比特币和以太坊等大多数区块链均采用这种方法。
数据可得性证明
数据可得性证明是一种新技术:客户端只需下载区块中的一小部分数据,即可检查该区块中所有数据是否均已发布。
数据可得性证明采用了一种被称为纠删码的数学元件。纠删码被广泛应用到了从CD-ROM到卫星通信再到二维码等信息技术中。纠删码可以将原本1MB的区块数据扩充成2MB,其中多出的1MB就是叫做纠删码的特殊数据。如果区块中的任何字节丢失,纠删码都可以帮你找回它们。即使整个区块的数据丢失,纠删码也可以帮你找回所有数据。同样地,有了纠删码,即使CD-ROM中的数据都被擦除,你的计算机也可以读取到。
这就意味着,要实现100%的数据可得性,区块生产者只需将区块中50%的数据发布到网络上。如果恶意区块生产者想要成功隐瞒1%的数据,就必须隐瞒超过50%的数据,否则这1%的数据可以通过剩下50%的数据找回。
有了这个知识,客户端就能采取措施来确保区块中的数据不会被隐藏。客户端可以尝试随机下载区块切分而成的数据块,如果他们未能成功下载数据块,它们就会拒绝承认该区块的数据可得性。如果下载一个随机数据块,客户端就有50%的概率发现无效区块。如果下载两个数据块,就有75%的概率。如果下载三个数据块,就有87.5%的概率。以此类推,直到下载七个数据块之后,就有99%的概率。通过这种方式,客户端只需下载区块中的一小部分数据,即可有效检查整个区块的数据可得性。
数据可得性证明的全部细节会更复杂一些,而且依赖于其它假设,例如,网络中的轻客户端数量不能低于某个下限,这样就有足够多的轻客户端请求数据块,以便恢复整个区块的数据。如果你想了解更多信息,可以查看关于数据可用性证明的论文。
结论
在本文中,我们介绍了数据可用性问题,讨论了数据可用性对区块链可扩展性的重要性,并提出了解决方案。
如果你想了解更多信息,请查看以下资料:
JohnAdler’swhiteboardsessionaboutfraudanddataavailabilityproofs
Originalfraudanddataavailabilityproofspaper
CodedMerkleTreespaperonanalternativedataavailabilityscheme
EthereumResearchwikipostonthedataavailabilityproblem
原文链接:
https://coinmarketcap.com/alexandria/article/what-is-data-availability
作者:MustafaAl-Bassam
翻译&校对:闵敏&阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。