40

区块链扩容技术Plasma研究之核心篇

 5 years ago
source link: http://www.chaindd.com/3126783.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

只有炒作的区块链,不是真正的区块链。

不懂区块链技术就搞投资分析的所谓大V,都是耍流氓!

上次我们分享了Plasma技术的概要设计,今天我们讲Plasma的分片核心机制。包括如何把大量运算分解成分布式运算、压缩数据体积、防止分片后节点作恶等核心机制原理。

Plasma是区块链技术奇才Vitalik和Joseph Poon提出的区块链扩容技术方案,一经提出便受到区块链业内瞩目。有望将以太坊的性能提升至超越EOS的水平,因此不得不研究。

因为这篇文章是Plasma系列研究第二篇,没看过第一篇的朋友建议先看 区块链扩容技术Plasma研究之概要篇

文末有亮点,你会发现以太坊的Plasma和另一热门技术相关。

1、分布式计算(MapReduce)

水平扩展能力是区块链平台性能提升的关键,也是现有区块链技术最突出的问题。现有区块链网路的处理能力受限于单个节点的运行和储存内存,整个网络的处理能力都只相当于单个节点的处理能力。

要提升整个网络的处理能力只有两个选择:

1、分片或是跨链;

2、提升单个节点的处理能力

Plasma选择了前者。

Plasma将一种分布式运算规则MapReduce应用于区块链,这是一种大规模数据处理的并行计算模型。简单来说,将一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。

MapReduce的计算环节总体分为两步,一个是map阶段计算,表示对一个列表(List)中的每个元素做计算。一个是reduce阶段运算,表示对一个列表中的每个元素做迭代计算。

Plasma在应用时也采取了同样的规则。

首先,Plasma在层级区块链结构上应用分布式计算模式,思路是计算由上一级分配,下一级执行。子区块提交计算需求,而上一级区块分配计算需求。

节点负责计算,参与者负责验证这些计算。

veURnqZ.png!web

图.计算分配方式

Map环节,由第1级Plasma区块链逐级向下分配。Map一般来讲是对每个元素做单独处理的,这表示原始数据可以是杂乱无章的数据。

Reduce环节,由较低级的Plasma区块链逐级向上提交运算出的元素结果,并进行Reduce运算,对元素进行处理相互关系的迭代计算。最终,计算结果被提交给最高级Plasma区块链。

2、反欺诈证据(fraud proofs)

在POW机制中,为了防止记账者作恶,中本聪基于理性人假设,给创建错误区块以极高的算力成本,然而这也限制了出块速度。 而Plasma为了防止出块者作恶,也为了提高出块的效率,采用反欺诈证据的机制,来给予作恶者惩罚。

防欺诈证据是交易的花费性证明和状态转换证明,包括检查签名可以花费输出的能力,通过区块包含/排除的证据,存款/提现的证据。

jUVjEvf.png!web

图.防欺诈案例

设想一个事件:有人提交了错误的区块“区块4”,而另一人有所有区块的副本。根据历史区块的记录,能够证明“区块4”是欺诈的,含有作恶的错误信息。那么这个人可以提交“区块4”欺诈的证据——反欺诈证据。那么不仅“区块4”将变成无效的并且被回滚,而区块的提交者也会遭到惩罚。“区块4”的提交者将失去在智能合约上的“bond”的利益。(在Plasma中,“bond”是一种权益)

3、位图(bitmap)

位图(bitmap)是通过一个bit数组来存储特定数据的一种数据结构;由于bit是数据的最小单位,所以这种数据结构往往是非常节省存储空间。另一方面,这种数据的存储结构十分地方便运算。

Plasma中反复提及“bitmap”,是为了提高计算速度的办法:

“为了能够进行最大限度地压缩状态交易(信息),输出可能会选择用位图来表示。

与位图思路相一致的事,Plasma采用许多压缩交易信息的办法来提高计算速度。

难以置信的大量交易在Plasma区块链能被执行时因为最小化压缩数据(放在)根区块链上。”

4、分片

此处分片是指Plasma子链的账本是相互间独立的。在特定Plasma子链内部进行交易是方便的,但在子链和子链之间进行交易需要经过特殊处理。子链和子链类似于多链、跨链的关系,批次有一定隔离关系。因此这里称Plasma网络是分片的。

分片提高了共识效率。

比如一个账户在根链上并没有的账本余额,但账本记录在Plasma区块链上。在根链的余额表现一个执行Plasma本身的智能合约。这就减轻了所有交易集中于根链的负担。

而对于分片的问题,Plasma也给出了解决办法:

在分片数据中,单个分片拒绝披露信息是非常大的风险。这将导致无法产生防欺诈证据。

试图使用3种策略来解决这个问题:

1、一个鼓励区块广播的新的股份证明机制。这个底层机制不完全依赖正确的激励功能。然而,这应该有力地减少错误的行为。

2、一个计算提款证据的有影响力的提款延迟。这个机制能对扣块攻击给予提出防欺诈证据的时间。比如资金被锁定的情况下,给予提交防欺诈证据的时间,来防止提取被锁定的资金。

3、创建使交易可以在任意父链传播的子链。

5、闪电网络

Plasma表现出了使用闪电网路的意愿。

IzMZNfB.png!web

图.含闪电网路的链结构

闪电可能是在Plasma上的快速的金融支付/合约主要的接口。

在顶部的是闪电网络,允许通过Plasma和区块链瞬时支付。

你会发现,以太坊采取一种确保共识一致性的分片机制来解决性能问题,其采用的mapreduce、位图等机制是在传统IT领域运行成熟的技术,结合反欺诈证据等机制解决区块链下应用的特殊问题,这就在保证多节点参与网络的同时,提高了性能。

解决了EOS把记账权力集中于21个少数节点的问题,这点上无疑比EOS更具优势,是真正的去中心化。

(作者:区块链财富,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK