火星链 火星链
Ctrl+D收藏火星链
首页 > UNI > 正文

SHA:深度解析Data Availability与Celestia的解决方案

作者:

时间:1900/1/1 0:00:00

作者:Bec

修订:Evelyn

什么是DataAvailability

大家都知道,区块链技术的一个特点就是:存放在链上的数据是安全可靠的,不可篡改的。那数据可用性是指的什么呢?难道区块链的共识不能保证数据的安全了吗?显然不是,区块链数据的安全性,是大家都认可的,也是区块链一直持续发展的一个动力之一。那么DA层是什么,我们先来看看下面几种情况。

一个节点如果想验证某一笔交易或者某一个区块,这个节点需要下载所有的区块和交易数据。由于区块链的持续运行,区块和交易数据会持续增长,这个节点的成本也会越来越高。以至于越来越多的节点只能选择运行轻节点。这些轻节点,没有下载所有的交易数据,它们不能对交易和区块进行验证,只能相信它们选择的共识节点。因此,实际上这些轻节点是不知道获得的数据是否可用。

同时区块链网络为了提高效率,一直在尝试进行扩容。以太坊的L2就是以太坊的一种扩容方案,从而提高以太坊的吞吐量。但L1和L2在本质上还是两个网络,L1是不会参与L2的共识,也不会验证和执行L2的交易,同理L2也不会参与L1的共识,亦不会验证和执行L1的交易。但是在此时,L1与L2之间其实是有信任问题的,例如:Rollup要求将所有交易数据都记录到以太坊的交易中,那么Rollup的用户为了验证自己的交易是否存入以太坊,他还需要运行一个以太坊的全节点吗?

Asproex(阿波罗)与DW2100达成深度合作:据官方消息,2020年11月3日,Asproex(阿波罗)与DW2100正式达成深度合作,DW2100支持MOON直接扫码支付。此次双方强强联合,旨在为平台用户提供更为广泛、更为丰富的Moon消费场景,扩大AsproPay的支付边界。据悉,DW2100还特推出专属阿波罗1号酒,用户使用AsproPay支付时可享受专属折扣。

DW2100是由数字工场、TODO BLOCK、彼岸花资本共同打造的行业资源直通平台和高端商务私人会所,同时又是一家专业的鸡尾酒、威士忌、雪茄吧和网红打卡圣地。据悉,DW2100目前还正在紧张筹备另外一家中国风夜店,旨在推广国潮文化的同时也为行业提供千人规模以上的活动平台。

Asproex(阿波罗)作为一家离岸银行控股持牌交易平台,涵盖CTO(Corporate Token Offering)企业通证上市、合约跟单、ETT指数通证、数字矿业、Digital Bank板块并持有5国合法牌照,致力于为全球中小微企业提供数字化上市一站式服务。[2020/11/3 11:32:33]

从目前区块链的工作机制当中我们可以知道,当一个节点不参与共识的时候,特别是没有存储所有交易数据的时候,对于它自己获得的数据是否有效它是无法验证的,这些节点目前都只能相信自己连接的共识节点不会自己,或者多连接几个共识节点,做一个小小的容错。

Bitstamp推出新服务INSIGHTS,以提供市场深度信息:交易所Bitstamp在推特上宣布推出新服务INSIGHTS,旨在为用户提供加密市场的深度信息,其数据由IntoTheBlock提供。[2020/7/29]

因此DA层解决的问题是,在不参与共识、以及不用存储所有交易数据的情况下,依然能够对交易进行验证,从而证明这个交易是否可用。

Celestia

在上面先介绍了什么是DA,接下来,我们再来看看Celestia项目是打算如何来解决这个问题的。

Celestia项目围绕二维Reed-Solomon纠删码,设计了一套随机抽样来验证数据、以及恢复数据的方案从而确保数据可用。

当一个全节点发现轻节点收到有问题的数据时,会构建一个欺诈证明并发送给这个轻节点,轻节点收到欺诈证明之后,从网络中通过随机抽样的方式,获得需要的数据,来验证这个欺诈证明是否有效,从而能够明确的知道自己之前获得的数据是否可用。轻节点不需要信任给自己发送数据的节点,也不需要信任给自己发送欺诈证明的节点,这是因为轻节点是通过随机抽样的方式,来获取进行此次验证所需要的数据,因此安全性能是由整个网络来提供的。这样也使得DA层的安全等级,能够接近共识层的安全等级。

上海经信委:推动工业互联网平台与区块链等深度融合:上海经信委:上海的目标包括,到2022年,实现工业互联网对实体经济引领带动效能显著,工业互联网核心产业规模达到1500亿元人民币等等。具体任务包括:推动工业互联网平台与5G、人工智能、区块链等深度融合,打造10个“5G+工业互联网”先导应用;建立长三角工业互联网平台应用创新体验中心;聚焦航天航空、高端装备、生物医药等区域重点产业,面向全球开放工业场景,培育工业互联网标杆平台和龙头企业等等。[2020/6/19]

接下来,我们来了解一下Celestia具体是如何工作的。由于Celestia项目还处于开发测试阶段,因此这里采用的都是现阶段的白皮书的介绍方案,可能会与实际的解决方案有出入。

准备

欺诈证明的验证,必须是高效的,并且不需要全部的交易数据,也不需要执行具体的交易,因此Celestia对于自己区块的数据,进行了一些扩展。

1.stateRoot

状态的稀疏默克尔树的根,这种默克尔树的叶节点,是一个key-value对。

定义了一种变量,状态见证(w):是一些key-value对,以及他们在默克尔树中的证明,组成的集合:

ChainUP创始人钟庚发:当前市场状态企业需要深度修炼内功:3月12日,ChainUP联合Cointube、Cointelegraph中文主办区块链\"三方会谈\"线上直播,三位CEO嘉宾就\"疫情下的行业发展与合作\"进行精彩分享。ChainUP创始人兼CEO钟庚发在分享中表示,针对目前疫情现状,ChainUP加强线上品牌活动、加强与媒体间的深度合作、发起\"企业战疫扶持计划\"等等。另外他认为,当前正是适合企业修炼内功的时候,可以为下一次的市场爆发做好准备。

对于未来的规划钟庚发表示,合规化、集团化、全球化一直是ChainUP的目标。合规上,ChainUP持续推进与监管机构和持牌机构的合作,发力监管,加码合规。集团化方面,重点发展1个主品牌、5条业务线,打造全生态平台。全球化方面,目前ChainUP除了新加坡总部、日本分公司、香港分公司,已在10多个重点国家和地区拓展市场建立深度联系,未来会持续深入布局,实现全球化与本地化。[2020/3/12]

定义了一个函数,rootTransition:可以通过状态根、交易、以及这些交易的状态见证,转换得到交易执行后的状态的根。也就是每个交易执行后的状态的默克尔根stateRoot`可以通过rootTransition(stateRoot,t,w)得到

Gene基因源码链与国内基因检测公司星舰基因达成深度战略合作:近日,新加坡基因源码链基金会与国内知名DTC基因检测服务公司星舰基因达成深度战略合作,双方将共同推进区块链技术在健康大数据存储领域应用。星舰基因为基因源码链提供基因测序技术、数据分析、本地系统研发等技术支持,同时助力生态体系的落地和推广。Gene基因源码链团队由跨界极客和博士团队组成,有EOS开源开发者、资深黑客、生物信息博士、人工智能博士等组成。诺贝尔奖得主布赖恩·戴维·约瑟夫森出任项目顾问。Gene目前已获得节点资本、创世资本、双花资本等机构投资。[2018/5/23]

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中抽样的坐标都有收到回应,同时在一个设定的时间段内没有收到关于这个区块的欺诈证明,则轻节点认为这个区块是数据可用的。

标签:HARESHAREARESHAhare币行情gxsharesAREP币Milkshake Swap

UNI热门资讯
LINK:在 LINK 最近的牛市中找出危险信号

Chainlink(LINK)最近的反向头肩突破导致alt在两个多月以来首次突破EMA丝带。尽管长期趋势仍显示看跌,但LINK多头终于摆脱了一连串看涨吞没烛台.

1900/1/1 0:00:00
TOK:imToken 六周年,Panel 圆桌分享

在imToken六周年之际,新加坡总部举行了主题为「EqualAccesstotheTokenizedWorld」的活动。以下为Panel圆桌分享的精华摘录.

1900/1/1 0:00:00
CoinW将于6/6 18:00上线SHIT,2,000 美金SHIT限时领取!

亲爱的CoinW用户:币赢CoinW将于2022/6/618:00在动物园区上线SHIT,开通SHIT/USDT交易对.

1900/1/1 0:00:00
CoinW将于6/16 19:00上线CFC(Cicada FC DAO).

亲爱的CoinW用户:币赢CoinW将于2022/6/1619:00在创新区上线CicadaFCDAO,开通CFC/USDT交易对.

1900/1/1 0:00:00
BitVito币位:灰度称尚未收到追加保证金通知

MicroStrategy表示,周三没有收到针对其比特币支持的借款追加保证金的通知,并且如果有必要,它还有大量额外的抵押品可供质押.

1900/1/1 0:00:00
COIN:关于部分ETF产品合股的公告

尊敬的CoinW用户:币赢CoinW将于6月10日15:00(UTC8)进行BTC3S、ETH3S、XRP3L、EOS3L、LTC3S、LUNC6LETF产品万倍合股.

1900/1/1 0:00:00