FFF:区块链研究实验室 | Plasma Cash区块结构的规范

PlasmaCash推出的最重要的改进之一是“lightproofs”。Plasma结构要求用户下载整个Plasma链,以确保他们的资金安全。使用PlasmaCash,他们只需下载与自己资金相关的Merkle树枝。

这是通过引入一个新的事务有效性条件来实现的:特定CoinID的事务只在Merkle树的CoinIdth叶中有效。因此,只下载该分支就足够确信该硬币不存在有效的交易。这个方案的问题在于,交易是“卡”在这个面额上的:如果你想交易多个硬币,你需要多个交易。

如果我们将基于范围的事务放入常规Merkle树的分支中,则lightproofs就变得不安全。这是因为有一个分支并不能保证其他分支不相交:

第4和第6叶都描述了范围内的交易。有一个分支并不保证另一个分支不存在。

区块链分析平台Elliptic推出新的跨链分析工具Holistic Sc??reening:8月10日消息,区块链分析和加密合规解决方案Elliptic推出新的跨链分析工具Holistic Sc??reening,该产品现可在几毫秒内同时跟踪所有区块链之间的加密交易,将加快跨多个区块链的被盗资金跟踪,这些区块链通常通过跨链桥接处理。

Elliptic的联合创始人兼首席科学家Tom Robinson表示,Elliptic计划在三年的时间里构建一个名为Nexus的“全新区块链分析引擎”,以使整体筛选成为可能,使Elliptic能够通过同一区块链中的一项资产追踪资金的来源或目的地;通过同一区块链中的不同资产,以及跨多个区块链的资产之间的追踪资金。(CoinDesk)[2022/8/10 12:16:01]

使用常规Merkle树,保证没有其他分支相交的唯一方法是将它们全部下载并检查。但那已经不再是lightproofs!

“迦和区块链”获得A轮四千万人民币融资:“迦和区块链”获得A轮四千万人民币融资,此次投资方为国雄资本有限公司。(36氪)[2021/3/26 19:19:54]

我们的Plasma实现的核心是一个新的块结构,以及一个伴随的新事务有效性条件,它允许我们为基于范围的事务获得lightproofs。块结构称为Merklesum树,其中每个散列旁边是和值。

新的有效性条件使用特定分支的和值来计算开始和结束范围。这种计算是经过精心设计的,因此两个分支的计算范围不可能重叠。转移只有在其自身范围在该范围内时才有效,因此这将使我们返回我们的轻客户!

本节将详细说明sumtree的规范、范围计算的内容以及如何实际构造满足范围的sumtree。

我们已经编写了Plasma-Merklesumtree的两个实现方法:一个是在操作员的数据库中完成,另一个是在内存中用于在Plasma实用程序中测试。

金色讲堂 | 吕国宁:区块链作为金融基础设施,是非常符合金融开放的长期政策:在今日举行的金色讲堂第19期《2020金融公链如何落地》中,Nervos联合创始人吕国宁表示,以区块链作为金融基础设施,其实是非常符合国家的金融开放的长期政策的。但是金融开放其实有两层含义,第一层是金融服务开放,第二层是金融资本开放,目前区块链最适合的是前者,即金融服务开放的这个场景,而金融资本开放则现阶段并不合适。抛开区块链不谈,金融服务开放已经是我们坚持了很多年的一项基本制度,金融服务的开放是指降低金融服务机构的门槛,提供更多有价值的金融服务,并且开展良性竞争,让普通用户用更低的成本去享受更好的服务,并且通过竞争不断的提高金融服务的水平,这些是好事情,是可以直接惠及大众的。而区块链作为金融基础设施,不管是在支付,交易,保险,借贷等等方面,都能在金融开放的路上向前推进。而且我认为全世界的所有金融机构,也都密切关注区块链是否能帮助中国把金融开放推向一个更新的高度,而中国的金融服务市场也需要不停的释放积极的信号来吸引更多的金融服务机构来提供更好的服务。[2019/12/25]

sumtree节点规范

动态 | 京东将通过区块链推动山东省农业实现产业链升级:金色财经报道,京东旗下“生鲜超级省计划”将通过区块链等技术推动山东省农业在种植、生产、品控、流通等方面实现全产业链升级。京东表示,未来将把区块链技术广泛应用于山东黄河口大闸蟹、鲁参、乳山生蚝等农产品的产品溯源中。[2019/11/7]

Merklesum树中的每个节点都是48个字节,如下所示:

总和的16字节长度与coinID相同并不是巧合!

我们有两个辅助属性,.hash和.sum,这两个属性将引出这两个部分。

例如,对于somenode=0x1b2e79791f28c27ed669f257397e1deb3e522cf1f27024c161b619d276a25315ffffffffffffffffffffffffffffffffff

声音 | 刘连舸:新加坡将借助科技力量将区块链与金融服务深度融合:据财经网消息,近日,中国银行全球首家创新研发基地在新加坡揭牌。中行刘连舸行长表示,新加坡基地将依托新加坡分行根植南洋八十余载金融服务优势,聚焦跨境客户投融资服务、贸易金融、跨境清算、人民币国际化等业务领域,借助集团科技力量,将区块链、大数据、人工智能等科技元素深入融合金融服务,为中国银行建设新时代全球一流银行提供源源不断的动力。[2018/11/15]

我们有node.hash==0x1b2e79791f28c27ed669f257397e1deb3e522cf1f27024c161b619d276a25315和node.sum==0xffffffffffffffffffffffffffffffffff。

父级计算

在一个规则的merkle树中,我们构造一个哈希节点的二叉树,直到一个根节点。指定和树格式是一个简单的问题,即定义父计算函数,该函数接受两个兄弟作为参数。

例如,常规Merklesum树具有:parent=function{returnSha3)}其中Sha3是哈希函数,concat将这两个值附加在一起。

若要创建merklesumtree,父函数还必须连接其子函数的加法运算结果。sum值:

注意parent.hash对每个sibling.sum和hashes是一种承诺:我们对两者的完整96个字节进行哈希处理。

计算分支的范围

我们使用Merklesumtree的原因是因为它允许我们计算分支描述的特定范围,并且100%确信不存在其他有效的重叠分支。

我们通过在分支上加上左和右和来计算这个范围。在每个父级计算中,将两者初始化为0。如果包含证明指定了右侧的同级,则取rightsum=right.sum;如果将leftsum=left.sum添加到左侧,则取leftsum=left.sum。

然后,分支描述的范围是。请参见以下示例:

在本例中,分支6的有效范围是。注意31–24=7,这是叶6的总和值!同样,分支5的有效范围是[21,36-)==[21,24)。注意它的结束和分支6的开始是一样的!

你会发现构造一个Merklesumtree是不可能的,它有两个不同的分支覆盖相同的范围。在树的某个层面,总和必须被打破!尝试通过制作另一个与范围相交的分支来“”叶子5或6。仅填写灰色框中的?

你会发现,在树的某个层次上,这是不可能的:

这就是我们获得轻客户的方式。我们将分支范围称为implicitStart和implicitEnd,因为它们是从包含证明中“隐式地”计算的。我们在plasma-utils中通过calculateRootAndBounds实现了一个分支检查器,用于测试和客户端证明检查:

在Vyper中使用智能合约

请注意,键入的范围是开始和结束,即完整的16个字节。

在常规Merkle树中,我们通过散列“叶子”构建底层节点:

给定一个带有单个transfera的txa,和值应该是什么?事实证明,不仅仅是transfera.end-transfera.start。原因是,如果传输不接触,它会破坏分支的范围。我们需要“填充”sum值来解释这个间隙,否则root.sum将太小。

有趣的是,这是一个非确定性的选择,因为您可以将节点填充到间隙的右侧或左侧。?我们选择了以下“左对齐”方案来将叶子解析为块:

我们将最底层的.sum值称为该分支的parsedSum,而TransferProof模式包含一个.parsedSum值,用于重建底部节点。

分支有效性和隐含NoTx

因此,由智能合约检查的分支的有效性条件如下:implicitStart<=transfer.typedStart

原子性多发

通常交易要求多次转移要么发生或要么不发生,结果是每个.transfer需要包含一次有效的事务-每个.transfer都有一个与特定transfer.typedStart和.typedEnd相关的有效总和。但是,对于这些包含中的每一个,它仍然是完整的UnsignedTransaction的哈希-而不是被解析到底部的单个Transfer.hash。

本文转载公众号:区块链研究实验室

海纳学院的内容将围绕:区块链技术,产品社群,经济模型等全方位的知识体系输出,为大家带来不一样的社群学习体验。欢迎联系作者微信加入社群:csschan1120

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-0:568ms