什么是DataAvailability
大家都知道,区块链技术的一个特点就是:存放在链上的数据是安全可靠的,不可篡改的。那数据可用性是指的什么呢?难道区块链的共识不能保证数据的安全了吗?显然不是,区块链数据的安全性,是大家都认可的,也是区块链一直持续发展的一个动力之一。那么DA层是什么,我们先来看看下面几种情况。
一个节点如果想验证某一笔交易或者某一个区块,这个节点需要下载所有的区块和交易数据。由于区块链的持续运行,区块和交易数据会持续增长,这个节点的成本也会越来越高。以至于越来越多的节点只能选择运行轻节点。这些轻节点,没有下载所有的交易数据,它们不能对交易和区块进行验证,只能相信它们选择的共识节点。因此,实际上这些轻节点是不知道获得的数据是否可用。
同时区块链网络为了提高效率,一直在尝试进行扩容。以太坊的L2就是以太坊的一种扩容方案,从而提高以太坊的吞吐量。但L1和L2在本质上还是两个网络,L1是不会参与L2的共识,也不会验证和执行L2的交易,同理L2也不会参与L1的共识,亦不会验证和执行L1的交易。但是在此时,L1与L2之间其实是有信任问题的,例如:Rollup要求将所有交易数据都记录到以太坊的交易中,那么Rollup的用户为了验证自己的交易是否存入以太坊,他还需要运行一个以太坊的全节点吗?
从目前区块链的工作机制当中我们可以知道,当一个节点不参与共识的时候,特别是没有存储所有交易数据的时候,对于它自己获得的数据是否有效它是无法验证的,这些节点目前都只能相信自己连接的共识节点不会自己,或者多连接几个共识节点,做一个小小的容错。
Numen发布微软漏洞解析,黑客可通过该漏洞获取Windows完全控制权:6月9日消息,安全机构 Numen Cyber Labs 发布微软 win32k 提权漏洞解析。Numen 表示,该漏洞系 win32k 提权漏洞,是微软 Windows 系统层面的漏洞。通过该漏洞,黑客可获取 Windows 的完全控制权。
Numen 指出,win32k 漏洞历史众所周知。但在最新的 windows11 预览版中,微软已经在尝试使用 Rust 重构该部分内核代码。未来该类型的漏洞在新系统可能被杜绝。
此前报道,5 月,微软发布的补丁更新解决了 38 个安全漏洞,其中包括一个零日漏洞。[2023/6/9 21:25:55]
因此DA层解决的问题是,在不参与共识、以及不用存储所有交易数据的情况下,依然能够对交易进行验证,从而证明这个交易是否可用。
Celestia
在上面先介绍了什么是DA,接下来,我们再来看看Celestia项目是打算如何来解决这个问题的。
Celestia项目围绕二维Reed-Solomon纠删码,设计了一套随机抽样来验证数据、以及恢复数据的方案从而确保数据可用。
当一个全节点发现轻节点收到有问题的数据时,会构建一个欺诈证明并发送给这个轻节点,轻节点收到欺诈证明之后,从网络中通过随机抽样的方式,获得需要的数据,来验证这个欺诈证明是否有效,从而能够明确的知道自己之前获得的数据是否可用。轻节点不需要信任给自己发送数据的节点,也不需要信任给自己发送欺诈证明的节点,这是因为轻节点是通过随机抽样的方式,来获取进行此次验证所需要的数据,因此安全性能是由整个网络来提供的。这样也使得DA层的安全等级,能够接近共识层的安全等级。
1inch Network:已向解析器激励计划发放超150万枚INCH:2月12日消息,DEX聚合器1inch Network在社交媒体发布项目数据更新,截止目前已向解析器激励计划发放1,507,992 INCH代币,按照当前价格计算超过80万美元。1inch Network于1月底启动解析器激励计划代币发放,总计为1000万枚INCH。
此外,1inch Network还公布了当前主流链上数据,按交易额排名:以太坊(2406亿美元)、BNB(326亿美元)、Polygon(181亿美元)、Avalanche(33亿美元)、Arbitrum(32亿美元)、Optimism(16亿美元)、Fantom(7.291亿美元)、Gnosis(1.92亿美元)。[2023/2/12 12:02:19]
接下来,我们来了解一下Celestia具体是如何工作的。由于Celestia项目还处于开发测试阶段,因此这里采用的都是现阶段的白皮书的介绍方案,可能会与实际的解决方案有出入。
准备
欺诈证明的验证,必须是高效的,并且不需要全部的交易数据,也不需要执行具体的交易,因此Celestia对于自己区块的数据,进行了一些扩展。
1.stateRoot
状态的稀疏默克尔树的根,这种默克尔树的叶节点,是一个key-value对。
定义了一种变量,状态见证(w):是一些key-value对,以及他们在默克尔树中的证明,组成的集合:
安全团队:Reaper Farm项目遭到攻击事件解析,项目方损失约170万美元:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,Reaper Farm项目遭到黑客攻击,成都链安安全团队发现由于_withdraw中owner地址可控且未作任何访问控制,导致调用withdraw或redeem函数可提取任意用户资产。攻击者(0x5636e55e4a72299a0f194c001841e2ce75bb527a)利用攻击合约(0x8162a5e187128565ace634e76fdd083cb04d0145)通过漏洞合约(0xcda5dea176f2df95082f4dadb96255bdb2bc7c7d)提取用户资金,累计获利62ETH,160万 DAI,约价值170万美元,目前攻击者(0x2c177d20B1b1d68Cc85D3215904A7BB6629Ca954)已通过跨链将所有获利资金转入Tornado.Cash,成都链安链必追平台将对被盗资金进行实时监控和追踪。[2022/8/2 2:54:19]
Etherscan现支持以太坊域名服务ENS反向解析:5月12日消息,以太坊域名服务(Ethereum Name Service,简称ENS)发推称,Etherscan目前支持ENS反向解析。ENS反向解析可使用户的ENS域名成为跨DApp的以太坊账户的便携式用户名。除Etherscan外,使用此功能的其他DApp包括Uniswap、Opensea、Aavegotchi和Snapshot Labs等。目前,要使用该服务,用户必须手动启用反向解决,之后将更改为自动启动;DApp须在其UI代码中使用PR。
注:正向解析(Forward resolution,FR)是将一个ENS域名解析到以太坊地址等资源,反向解析(Reverse resolution,RR)是指将一个以太坊地址解析到一个ENS域名。[2021/5/12 21:52:40]
定义了一个函数,rootTransition:可以通过状态根、交易、以及这些交易的状态见证,转换得到交易执行后的状态的根。也就是每个交易执行后的状态的默克尔根stateRoot`可以通过rootTransition(stateRoot,t,w)得到
分析 | 资金流入榜首DASH盘面解析:在过去24小时中,DASH在各主流币中非常强势,资金净流入31.97亿人民币。从图中可以看出,DASH目前4小时走势处于上升楔形三角中,底部不断抬高,100均线上穿长期200均线,表明近期压力位将会上移,并且MA100和MA 200将会对币价起到支撑作用,不过目前两均线的缺口在收窄,说明近期上冲动能在逐步减弱,RSI显示进入超买区域,短期有回撤蓄势的需求,上方压力95,下方支撑89,收盘若站稳89上方,还会有上涨空间,反之币价可能回撤至三角底部$75附近寻求支撑。利好消息面,区块链支付服务PolisPay宣布与Dash合作,将支持其万事达卡借记卡。[2019/3/13]
2.dataRoot
将交易,以及这些交易执行的中间状态根,组合成一个固定大小与固定格式的shares。这些所有的交易的shares,按照二维RS纠删码,进行扩展,最后得到一个默克尔树的根,即dataRoot。
具体步骤
将初始的交易数据,按照shares的大小与格式进行封装。
将shares放入一个k×k的矩阵,如果数量不够,则填充补齐。
然后应用RS纠删码,按照行和列进行3次补齐,最终得到一个2k?2k的矩阵。
对这个矩阵的每一行和每一列,都构建一个默克尔树,得到2?k个行根和2?k个列根。
最后将这4?k个根,组成一个默克尔树,得到根dataRoot。
shares
shares是Celestia项目定义的一个固定大小和格式的数据结构。主要内容是交易,以及执行这些交易的中间状态根。
由于没有具体规定多少交易,需要生成对应的中间状态根,项目方设定了一个Period变量,作为最大限制周期,这个限制可以是最大多少交易之内必须生成中间状态根,也可以是多少字节,或者多少GAS。
还定义了两个函数来帮助验证:
parseShares函数:输入shares,得到消息m,可以是中间状态根,也可能是交易。
parsePeriod函数:输入消息,得到前状态根,执行后状态根,以及交易列表。
固定256字节
0-80:开始的交易
81-170:包含的交易
171-190:中间状态根
191-256:下一批开始的交易
设定的格式举例
白皮书中,介绍了两种欺诈证明,下面将分别对此进行介绍:
3.状态转换无效的欺诈证明
这是一个针对stateRoot的一个欺诈证明。全节点利用dataRoot中的shares,来帮助轻节点验证收到的区块头中的stateRoot是否有效。
状态转换无效的欺诈证明的组成:
对应块的blockhash
相关的shares
这些shares在dataRoot对应的默克尔树中的默克尔证明
这些shares包含的交易的状态见证。
证明的验证:
验证blockhash,确定是对于哪个区块的欺诈证明。
验证证明中的每个shares的默克尔证明是否有效。
通过shares的两个解析函数,可以正确得到对应的交易列表,以及这批交易的执行前状态根和执行后状态根。并且如果执行前状态根为空,则第一个交易一定是块的第一笔交易;同时如果执行后状态根为空,则最后一笔交易一定也是块的最后一笔交易。
根据rootTransition函数,来验证得到的两个状态根。
4.错误生成扩展数据的欺诈证明
这是一个针对shares在网络传播时,当一个全节点从网络中收到shares恢复的数据,与自己的数据不匹配时,会向网络回应欺诈证明。
错误生成扩展数据的欺诈证明的组成:
错误的shares所在行或列的默克尔根。
这个行或列的默克尔根,在dataRoot对应的默克尔树中的默克尔证明。
这足够恢复这一行或列的shares。
每个shares在dataRoot对应的默克尔树中的默克尔证明。
证明的验证:
验证blockhash,确定是对于哪个区块的欺诈证明。
验证证明中行或列的默克尔根的默克尔证明是否有效。注:VerifyMerkleProof(行或列的默克尔根,行或列的默克尔根的默克尔证明,dataRoot,长度,位置索引)其中前面2个数据是证明携带的数据,后面3个是本地数据。
验证证明中每个shares的默克尔证明是否有效。注:VerifyShareMerkleProof(shares,shares的默克尔证明,dataRoot,长度,位置索引)其中dataRoot是本地数据,另外数据都是从证明中获得。
通过收到的shares,恢复这一行或列的所有数据,并验证其默克尔根是否等于自己之前收到的对应行或列的默克尔根。
数据可用性
通过2维RS纠删码,Celestia的轻节点通过随机抽样的方式,来获取区块数据,以及验证欺诈证明的相关数据。同时随机抽样的数据,并在网络中传播,当达到一定的数量时,也可以帮助网络恢复区块数据。下面介绍一下具体的工作流程:
轻节点从任意一个连接的全节点中获取一个新区块的块头,以及2k个行和2k个列的默克尔根。先用这些默克尔根与区块头中的dataRoot进行初步校验。如果错误则拒绝这个区块头。
在这个2k×2k的矩阵中,轻节点随机挑选一组不重复的坐标,将这些坐标发送给与自己相连的全节点们。
如果一个全节点拥有这些坐标所对应的所有数据,就会将这个坐标对应的shares,以及shares的行或列的默克尔证明,回应给轻节点。
轻节点对于每一个收到的shares,都会验证其默克尔证明是否有效。注:VerifyMerkleProof其中前面2个数据是证明携带的数据,后面3个是本地数据。
如果一个全节点没有回应某一个坐标的shares,轻节点则会将自己收到的对应的shares、以及它的默克尔证明发送给这个全节点,这个全节点也会将收到的数据转发给相连的其他全节点。
如果步骤4中的验证都没有问题,并且步骤2中抽样的坐标都有收到回应,同时在一个设定的时间段内没有收到关于这个区块的欺诈证明,则轻节点认为这个区块是数据可用的。
杰克·多尔西的加密业务部门TBD最近宣布,他们正在构建一个基于比特币的去中心化平台:Web5。该项目旨在将个人数据和身份管理的权利交还给网络用户。我们所知道的互联网是一个由网页、系统、服务器和计算机组成的网络.
1900/1/1 0:00:00Web3真正闯入大众视野还是因为顶级VC和科技巨头的激进押注和口水战,就像先前在社交媒体上爆火的元宇宙。Web3,听起来就像是即将拉开帷幕的全新互联网时代,华尔街与硅谷显然都不想错过这场盛宴,国内二线VC也不想.
1900/1/1 0:00:00进入6月以来,加密货币市场的暴跌进一步确定了熊市的到来。但不同加密公司有着不同的应对之道,有的决定大举扩张,有的只能裁员收缩应对,正如老话所言:潮水退了才知道谁在裸泳。人无远虑,必有近忧.
1900/1/1 0:00:00元宇宙拓展了金融机构在产品创新方面的想象力。当前,金融机构服务同质化明显,因此不少机构力图在差异化竞争中脱颖而出,无论是虚拟金融服务的场景还是新型的资产交易,都存在不小的可能性.
1900/1/1 0:00:00中国动漫集团10日联合李可染画院举行“元宇宙数字资产(NFT)研究发展中心”成立仪式。该中心旨在推动文化资源在元宇宙产品中的数字化应用,助力国家实施文化产业数字化发展战略.
1900/1/1 0:00:00过去两个月,加密市场显露出的种种迹象无一不在打击投资者信念:Terra稳定币UST的崩盘,加密货币借贷平台Celsius挤兑潮,加密对冲基金三箭资本面临算危机等等。随着各种Token价格暴跌,加密货币正进入新一轮的寒冬.
1900/1/1 0:00:00