作者:Bec
修订:Evelyn
什么是DataAvailability
大家都知道,区块链技术的一个特点就是:存放在链上的数据是安全可靠的,不可篡改的。那数据可用性是指的什么呢?难道区块链的共识不能保证数据的安全了吗?显然不是,区块链数据的安全性,是大家都认可的,也是区块链一直持续发展的一个动力之一。那么DA层是什么,我们先来看看下面几种情况。
一个节点如果想验证某一笔交易或者某一个区块,这个节点需要下载所有的区块和交易数据。由于区块链的持续运行,区块和交易数据会持续增长,这个节点的成本也会越来越高。以至于越来越多的节点只能选择运行轻节点。这些轻节点,没有下载所有的交易数据,它们不能对交易和区块进行验证,只能相信它们选择的共识节点。因此,实际上这些轻节点是不知道获得的数据是否可用。
同时区块链网络为了提高效率,一直在尝试进行扩容。以太坊的L2就是以太坊的一种扩容方案,从而提高以太坊的吞吐量。但L1和L2在本质上还是两个网络,L1是不会参与L2的共识,也不会验证和执行L2的交易,同理L2也不会参与L1的共识,亦不会验证和执行L1的交易。但是在此时,L1与L2之间其实是有信任问题的,例如:Rollup要求将所有交易数据都记录到以太坊的交易中,那么Rollup的用户为了验证自己的交易是否存入以太坊,他还需要运行一个以太坊的全节点吗?
《交通强国建设宁夏试点任务实施方案》:推动区块链与交通运输深度融合:金色财经报道,交通运输部近日批复《交通强国建设宁夏试点任务实施方案》,《方案》指出将推动区块链等新技术与交通运输深度融合,实现数据信息资源跨部门、跨区域间共享与协同应用。[2021/9/8 23:09:55]
从目前区块链的工作机制当中我们可以知道,当一个节点不参与共识的时候,特别是没有存储所有交易数据的时候,对于它自己获得的数据是否有效它是无法验证的,这些节点目前都只能相信自己连接的共识节点不会自己,或者多连接几个共识节点,做一个小小的容错。
因此DA层解决的问题是,在不参与共识、以及不用存储所有交易数据的情况下,依然能够对交易进行验证,从而证明这个交易是否可用。
Celestia
在上面先介绍了什么是DA,接下来,我们再来看看Celestia项目是打算如何来解决这个问题的。
Celestia项目围绕二维Reed-Solomon纠删码,设计了一套随机抽样来验证数据、以及恢复数据的方案从而确保数据可用。
当一个全节点发现轻节点收到有问题的数据时,会构建一个欺诈证明并发送给这个轻节点,轻节点收到欺诈证明之后,从网络中通过随机抽样的方式,获得需要的数据,来验证这个欺诈证明是否有效,从而能够明确的知道自己之前获得的数据是否可用。轻节点不需要信任给自己发送数据的节点,也不需要信任给自己发送欺诈证明的节点,这是因为轻节点是通过随机抽样的方式,来获取进行此次验证所需要的数据,因此安全性能是由整个网络来提供的。这样也使得DA层的安全等级,能够接近共识层的安全等级。
链上ChainUP WaaS联盟与VirgoX达成深度战略合作:据官方消息,链上ChainUP WaaS联盟宣布与VirgoX交易所达成深度战略合作,将为VirgoX提供全方位的WaaS联盟服务,包含主链开发接入、主链技术维护、主链资产托管等,双方就区块链技术应用落地、区块链金融服务、资金安全等方面深度合作。
VirgoX一站式数字资产交易平台,主要致力于稳定币交易,通过提供现货和期货交易、数字资产借贷模式,融合多种法币渠道,满足客户多样化的交易和理财需求。VirgoX已上线各类稳定币、优质数字资产项目、稳定币外汇期货以及其他数字资产衍生交易产品。目前已获得共识实验室、BR Capital、科银资本、初夏虎基金、Nova Club等多家机构投资。
WaaS联盟是链上ChainUP集团依托3年时间所服务的300多家交易所经验,将底层资产托管和钱包封装而成的一套完整的服务,包含资产托管、节点服务、主链币种开发、热门币种一键接入、共管钱包、借贷理财等多种功能服务,通过开放钱包API与SDK,帮助交易所、项目方、媒体等快速高效接入,实现云端资产安全托管,联盟内部转账0手续费,即时到账。目前,已有超过500家企业加入ChainUP WaaS联盟。[2020/10/9]
接下来,我们来了解一下Celestia具体是如何工作的。由于Celestia项目还处于开发测试阶段,因此这里采用的都是现阶段的白皮书的介绍方案,可能会与实际的解决方案有出入。
现场 | 大汉软件房迎:面向政府服务的区块链需要深度场景挖掘:金色财经现场报道,9月25日下午,外滩大会区块链产业峰会在上海开幕。在《区块链生态上的公共服务体系》圆桌论坛上,大汉软件股份有限公司副总裁房迎指出,在政务数字化的环节中,特别是数字化应用的过程中,需要解决的问题还有很多,比如部门之间的数字壁垒、数据的过分共享等问题。另外,面向政府服务的区块链,需要深度场景挖掘,还有一段路要走。[2020/9/25]
准备
欺诈证明的验证,必须是高效的,并且不需要全部的交易数据,也不需要执行具体的交易,因此Celestia对于自己区块的数据,进行了一些扩展。
1.stateRoot
状态的稀疏默克尔树的根,这种默克尔树的叶节点,是一个key-value对。
定义了一种变量,状态见证(w):是一些key-value对,以及他们在默克尔树中的证明,组成的集合:
定义了一个函数,rootTransition:可以通过状态根、交易、以及这些交易的状态见证,转换得到交易执行后的状态的根。也就是每个交易执行后的状态的默克尔根stateRoot`可以通过rootTransition(stateRoot,t,w)得到
缤果合约(BingoEx)与币盈公社达成深度战略合作:据官方消息,缤果合约(BingoEx)与币盈公社达成深度战略合作,并签约成为缤果合约(BingEx)大中华区合约运营商,将享有全球市场运营、渠道商招募及全方面业务拓展等权益。双方在合约市场展开全方位合作,将在用户扩展、社区合作、品牌宣传方面等进行合作,助力社区人员拥有最佳的合约体验、建立线上社区以及线下运营中心,共同赋能行业发展。
据介绍,币盈公社由多位币圈操盘手组成,为散户提供数字货币操盘指导。目前币圈体系最完善的一个投教社区,涵盖数据采集部门,市场分析部门,交易培训部门。
缤果合约(BingoEx)隶属于BingoEx Capital集团,在美国注册成立的数字资产衍生品交易平台。截至目前,累计注册用户已有42万以上,系统采用多重底层安全技术,已与多家区块链安全服务平台达成合作。缤果合约(BingoEx)已正式开启全球合伙人招募。[2020/7/3]
2.dataRoot
将交易,以及这些交易执行的中间状态根,组合成一个固定大小与固定格式的shares?。这些所有的交易的shares?,按照二维RS纠删码,进行扩展,最后得到一个默克尔树的根,即dataRoot。
具体步骤
动态 | 报告:区块链等技术将同众筹深度融合驱动众筹模式创新:9月18日,京东金融研究院与国家发改委经济研究所联合发布《无界众筹—助推创新创业升级的新范式 新工具》研究报告。研究报告指出,无界众筹时代,以大数据、智能科技、区块链、云计算为代表的新技术手段将同众筹深度融合,驱动众筹模式不断创新。[2018/9/18]
将初始的交易数据,按照?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中抽样的坐标都有收到回应,同时在一个设定的时间段内没有收到关于这个区块的欺诈证明,则轻节点认为这个区块是数据可用的。
从人类有自我保护意识开始,关于隐私话题的探究就没有停歇过,尤其是在科技高度发达的当下,这种情况愈演愈烈,而在区块链技术发展的盛潮中,项目方又以最大化去中心化和最大化隐私为终极目标,这就给社会提出了更高的要求.
1900/1/1 0:00:00Celsius发布公告称,“由于今天的极端市场情况,我们宣布Celsius暂停所有的提款、交易和账户之间的转账。我们今天采取这一行动是为了使Celsius能够更好地履行其提款义务.
1900/1/1 0:00:0012:00-21:00关键词:CPI、Coinhouse、Optimism1.美国5月CPI同比上涨8.6%,超出预期;2.数字资产服务提供商Coinhouse完成4000万欧元融资.
1900/1/1 0:00:00近年来,加密货币的市场规模不断扩大,叠加俄乌地缘矛盾“黑天鹅”以及史无前例的通胀风险,悄然改变了华尔街传统玩家对待加密货币的态度,越来越多的合约对冲开始涉足这一领域.
1900/1/1 0:00:00本文来自Decrypt,原文作者:AndrewAsmakovOdaily星球日报译者|念银思唐支付巨头万事达卡宣布,它将与数个NFT市场合作,“将其支付网络引入Web3”,从而使使用其借记卡和信用卡购买NFT成为可能.
1900/1/1 0:00:00前言 北京时间2022年6月8日,知道创宇区块链安全实验室?自动数据监测工具监测到BSC链上NFT项目GYMNetwork因"PublicdepositFromOtherContract"权限控制问题被攻击,损失包括7475枚BNB.
1900/1/1 0:00:00