讲到模块化区块链,数据可用性DA是一个绕不过去的主题。无论是以太坊大热的EIP-4844提案还是通用的DA层解决方案Celestia
,都跟DA有着密不可分的关系。那DA到底是什么呢?为什么DA方案能提升区块链网络的性能?在讲DA之前,我们先来思考一个问题:怎么确保区块中包含的交易是在链上实际发生的?换种说法,在区块链网络中实际发生的交易是否被真实地包含在区块中呢?DA即保证数据在链上可用,让区块信息能真实反映实际的链上交易情况。
在区块链网络中通常包含2类节点:全节点和轻客户端。
SBF保释后FTX与Alameda相关加密钱包异常活跃:12月28日消息,前FTX首席执行官SBF在以2.5亿美元保释金获释后,FTX与Alameda Research相关加密钱包发生资金移动,且这些资金转移的方式引起了社区的关注。Alameda钱包被发现将ERC20小额代币交换为ETH/USDT,然后ETH和USDT通过去中心化交易所和混币器进行汇集。
例如,一个以0x64e9开头的钱包地址从属于Alameda的钱包收到了600多枚ETH,其中一部分被兑换成USDT,另一部分被发送到ChangeNow。链上分析师ZachXBT指出,Alameda钱包最终使用FixedFloat和ChangeNow等去中心化交易所将资金换成比特币。这些平台经常被黑客和攻击者用来隐藏他们的交易路线。[2022/12/28 22:12:53]
1)全节点;下载区块中的所有数据进行验证,能够最大程度地保证DA.
波卡生态系统7支团队成立维护社区道德规范的Polkadot联盟:11月29日消息,据波卡DeFi平台Acala官方博客,Polkadot生态系统的Acala、Astar、Interlay 、KILT Protocol、Moonbeam、Subscan和Phala 七支团队宣布成立Polkadot联盟,旨在建立和维护一套供社区遵循的道德规范。联盟将存在于链上,并将在链上发布其对不法网站和账户的调查结果。但它不会有任何治理权;它的范围不涉及Polkadot协议的其他部分。
联盟成员由公司、项目、其他集体,甚至是Polkadot生态系统中的其他网络组成。会员资格分为两层:伙伴(Fellow)和盟友(Ally)。伙伴对联盟议案拥有投票权,并进行链上操作。盟友是波卡联盟的成员,没有投票权。[2022/11/29 21:09:23]
2)轻客户端。只下载区块头进行验证,并假设区块包含的都是有效交易。这里存在的问题是,恶意的区块生产者可以通过构建一个包含无效交易的区块,去轻客户端。
数据:1000枚BTC从未知钱包转移至Gemini:金色财经报道,据WhaleAlert数据显示,1000枚BTC(价值19948138美元)从未知钱包转移至Gemini。[2022/9/1 13:02:30]
那竟然轻客户端的安全性较差,网络中全部运行全节点不就好了吗?理想跟现实之间的差距在于成本,运行全节点需要下载全部的区块数据。因此,除了专业的节点运营商,普通用户没有动力去运行全节点。
那轻节客户端还有什么办法可以保证安全性呢?聪明的开发者想到用欺诈证明解决轻客户端的安全性问题,简单来讲,与轻客户相邻的全节点可以通过发送欺诈证明,告知轻客户端区块无效。因此,从理论上讲,轻客户端+欺诈证明能实现全节点级别的安全性。
那轻客户端的安全性问题就解决了吗?不。原因是,恶意区块生产者可以选择扣留一部分数据不发布,此时诚实全节点会发出警告。如下图所示,区块生产者在T3补全所有区块数据。
因此,欺诈证明并不是有效的解决方案。选择不发布数据不是唯一可归因错误。比如在T3阶段,很难去证明到底是恶意区块生产者扣留了部分数据,还是检验节点的恶意误报。
那么,验证节点对恶意区块的警告行为是否因受到激励?此时就会面临一个三难困境。1)如果激励为正,此时恶意验证节点可以通过发出虚假警报获利;2)如果激励等于0,意味着恶意验证者能零成本发起DOS攻击;3)如果激励为负,可能只有为爱发电的节点才愿意做。
说了这么多,到底有没有办法可以解决轻客户端的安全性问题?有。就是我们接下来要讲的数据可用性抽样,即轻客户端只要随机下载一部分数据进行验证,就能确保数据的可用性。关于DASampling的底层技术实现,此推文不做深入探讨。通过一个简单的场景模拟,简单了解下它的逻辑实现。
场景如下:现在有2枚硬币:1枚两面都是数字;1枚一面是数字,另外一面是图案。现在2枚硬币给到你,怎么确认哪枚是两面都是数字的呢?
其实很简单,我们只需要无差别地掷硬币记录情况即可。如果前2次掷的都是数字,意味着这枚硬币有的概率是2面都是数字的那枚。同样地,如果前n次掷的都是数字,此时2面都是数字的概率是.只要重复这个过程20次,上述可能性将变成99.9999%。
DAS的逻辑实现正是基于上述原理。轻客户端无需下载所有的区块数据,只需要随机下载少量数据进行验证,就能保证数据可用性。更直观地,如果区块的大小是4MB,轻客户端进行随机20次1kb的数据抽样。意味着只需要下载0.5%的数据,就能够实现置信水平高达99.9999%的数据可用性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。