以太坊Plasma

区块链不断增长,因为新完成的区块被添加到先前形成的区块链中。这些块被添加并以线性,按时间顺序保存。由于区块链网络(匿名)系统的功能齐全,开辟了各种商业优势。如果你有自己的区块链,则无需中介来检查交易;相反,共识机制用于验证交易。然而,尽管区块链技术具有众多优点,但它也存在严重的技术问题。其中之一是可扩展性。

以太坊Plasma概述

以太坊项目致力于创建一个平台,通过该平台在区块链之外进行计算,并最终确保链中每秒数十亿次计算,链上的更新次数最少。在Plasma技术的帮助下,节点不必在下一个智能合约的结束时确认所有数据。更确切地说,在这种情况下,操作系统避免了加载完整历史和验证所有信息的强制阶段。更新的交易不会重新加载块的历史记录。新交易仅需要双方交换数据,用于将资金从一个用户的钱包转移到另一个用户的钱包。因此,用户获得的数据量要少得多,需要处理。从技术角度来看,特定用户只需要监控他或她自己参与交易的代币的准确性和可用性。

新的Plasma子网的开发人员报告说,他们的技术的使用允许在可信节点之间实现交易而不必参考主块,可以在各种项目中实现。加密货币交换平台,区块链平台和去中心化的社交网络都可以使用plasma技术来增加速度和安全性的参数。

Plasma Ethereum协议将具有灵活的设置,可以根据特定产品的独特需求进行定制。这将改善特定网站运营的某些高必要性方面。与此同时,Plasma的主要功能实施更有利的缩放和更快的指标不会受到影响。每个Plasma版本都可以根据其业务逻辑进行配置,基于智能合约。这些可以围绕以太坊的根区块链,解决安全和扩展的任务。在区块链操作过程中,一些计算将在子区块链中进行,仅偶尔使用根区块链。但是,有可能面对当地的攻击。当地侧链的成员将有机会通过转到根区块链而不会丢失个人资金来离开它。

由于侧链用户,以太坊将构建一个树状结构,具有分支和效率指标。这将有助于提高数据安全性和可用性的最大阈值,同时保持最低佣金。每个侧链都可以创建自己的Token,用于奖励矿工和其他用途。采矿本身将根据欺诈证明协议进行。

要了解Plasma可以在以太坊区块链中发挥的作用,我们必须探索网络的架构。Lightning Network技术(如在比特币中)以Raiden协议的形式适用于以太坊。Raiden是以太坊的一种延伸。为了成功操作已处理的交易,节点既与根区块链的节点链接,又与根区块链的节点链接。利用离线技术将减少订单佣金,因为无论执行的操作数量多少,与以太坊的数据交换都很少。

带宽,但这不是它的唯一好处;该解决方案允许以更实用的方式使用智能合约。在这里,Plasma释放进入游戏:一个高稳定性框架,允许将某些计算从根区块链转换为从属单元。

在结构层面,Plasma以在主网络上执行的一组智能合约的附加形式呈现。它允许在数据交换中以非常低的主区块链参与处理大量操作。因此,Plasma是地区法院网络的类比,以太坊将成为联邦法院的类比。

职责分离允许仅向每个网络转移解决特定任务所需的数据。但是,为方便起见,必须付出代价:攻击的危险性增加,安全性降低。为了消除欺诈,除了可以快速退出子系统到主网络之外,还开发了一种对非法交易企图进行处罚的机制。

在Plasma发布中,该团队提出了为每个附加网络创建自己的Token的可能性(类似于矿工收到的代币作为奖励)。这将为验证者创造经济激励,激励他们根据欺诈证据规则维护网络的可操作性和安全性(如果发现欺诈者,他立即失去存款,并且用户有机会使用其他网络-add-on进行付款)。这些指示是智能合约防止非法交易逻辑的基础。资金的提取需要时间,必要时用于检查和取消操作。

即使你向网络发送了数百万笔交易,佣金仍然很低,因为要确认计算,你只需要在主区块链中输入一些条目(例如,如果你每天发送一次交易)。

操作的处理性能将大幅提高,因为许多小交易现在将在区块链之外进行,合并为通过Raiden进入区块链账户的较大交易。Lightning活动还可用于扩展智能合约并改变其状态。这是Plasma的本质。

可扩展的区块链计算

在Plasma项目的白皮书中,对这种新技术进行了详细解释。Plasma由五个关键部分组成:

  • 持久性合约计算的动力场,将是经济上有利的。
  • 用于组织子链的结构,以树状形状,以最低成本最大化效率。
  • 用于构建插入链状态转换的欺诈证据的MapReduce体系结构,必须与树结构一致,重新绘制状态转换到更高的可伸缩性。
  • 一种取决于父区块链的共识算法,它试图重现中本共识驱动因素的结果,
  • Bitmap-UTXO架构确保从父区块链精确状态重定位,从而降低退出成本。由于数据不可访问而退出的许可或其他拜占庭风度是等Plasma释放的主要概念。

因此,Plasma的体系结构可以描述如下:将所有区块链计算框架化为一组MapReduce框架,以及在预先存在的区块链之前执行Proof-of-Stake标记链接的另一种方式,以及Nakamoto共识驱动程序解释的概念阻止克制。通过使用欺诈证明机制的根区块链上的智能合约开发来确保这种类型的架构。

MapReduce是一个利用大量计算机(节点)计算/计算分布式任务的框架。我们将以代码形式描述此函数以演示它们的工作方式。

实现Mapper:

实现Reducer:

以太坊团队以树状布局组成区块链,并将每个区块链作为单独的侧区块链处理,其中包含强加的区块链历史记录和放置在Merkle样张中的MapReducible计算。通过将一个块重新构建为由父链增强的子区块链,用户可以确保最大限度地减少信任(假设根区块链的存在和准确性)。

在区块链中,确保正确性的决定通常取决于每个参与者自己检查链。要接受新块,需要对块进行全面测试以确保正确性。许多扩大区块链交易吞吐量的努力要求利用临时义务来创建可靠的债券(批准),使得所声称的数据必须经过一个有争议的时期,允许参与者确保遵守国家。此断言/质询体系结构有助于确定特定状态是否正确。如果价值是错误的,那么有一个有争议的时期,另一个观察者可以在一定的时间内提供证据来质疑这一陈述。在欺诈或错误的举止的情况下,区块链可以惩罚(amerce)有罪的人。这创建了一种鼓励参与者强加后果的机制,但是当且仅当声称不正确的状态时。通过这种断言/质询/证明架构,感兴趣的参与者可以确认主要区块链上不感兴趣的参与者的基本事实。

这种架构不仅可以用于支付,还可以用于计算,使区块链成为合约的决策者。但是,推定是所有各方都参与核实计算。例如,在Lightning Network中,设计执行此操作,因此可以设置关于智能合约状态的义务(例如,使用预先分配的条件状态的多签名交易树)。

外部化多方通道

以太坊团队提出了一种方法,其中网络外的多方渠道可以代表其他人保持状态。该团队将此结构命名为Plasma区块链。对于在Plasma链中持有的资金,它允许将资金存入和取出到Plasma区块链中,而状态转换则在证据欺诈的帮助下进行。这使得可以确保可操作性和可互换性,因为它允许提取资金。Plasma体块的核算对应于主链中存储的资金(Plasma体不适用于部分储备银行设计。)

可以在此链中分配大量交易,其中最少的数据到达父区块链。任何参与者都可以向任何人转移资金,包括转移给不在现有参与者中的参与者。这些转移可以将资金提取到父区块链的Token中。

以太坊等Plasma允许用户(或利益证明网络内的参与者网络)在区块链上操作,而根区块链中没有完整的永久记录,并且不信任第三方或多方。在最坏的情况下,资金被封锁,区块链的大量输出会损失时间成本。

Plasma证明共识机制

Plasma Proof-of-Stake允许感兴趣的各方在根区块链或父级Plasma链上发布,其包括其新区块的指定哈希。验证器只是构造他们已经完全验证的块。他们有机会创建并行块(尽可能地刺激数据交换)。以太坊团队通过指定要兑换的更高数量的交易费用,为验证者创建动机以根据实际利益比率引入最后100个街区。任何费用的溢出(由于赌注的行为举止)将被累积以支付费用。每个块中存在一个义务,其包含来自最后100个块(具有随机数)的数据。链的精确顶部是具有最高负载佣金总量的链。随着时间的推移,块已完成。

智能合约

在智能合约中,存在“自由选择权问题”,根据该问题,智能合约提议的接收者(第二个或最后一个用户)是为强制执行目的签署和广播合约所必需的。在此期间,收件人可以将合约视为免费选项,如果活动不符合他们的利益,则拒绝签署合约。智能合约在与不可信任的交易对手合作时效率最高(因为这样可以最大限度地降低交易对手风险,从而降低数据成本),这一点更为严重。

Plasma以太坊协议本身并不能解决这个问题,因为区块链中的交互协议的第一和第二签名信号不能保证原子性。

使用闪电网络(包括Plasma之上的闪电网络),可以通过合理的局部完整性点进行令人难以置信的快速更新。付款可以分为许多小额付款,而不是一次付款给最后一方提供选项。这最小化了每分数量的自由选项。由于智能合约的第二部分只有分数形式的金额的自由选项,因此自由选项的价值仍然很小。

在上面列出的用例中,Lightning可以作为以太坊Plasma平台上快速金融支付/合约的主要接口级别,因为Plasma允许在主链内以最小的义务更新注册数据。

分片问题

对于重叠的数据集,单个分片拒绝信息泄露存在重大风险。因此,不可能产生欺诈证据。

以太坊旨在使用3种策略解决这个问题:

目前,关于区块链通信/以太网分片的工作使用了类似的方法和目标;例如,以太坊分片提案。这种设计可以与更高的水平保持一致。如果根区块链是分片的,则Plasma链可以在其上工作,以获得更广泛的可扩展性和其他好处。它也可以是各种以太坊分片方法的测试平台,因为以太坊无需开始主要操作的共识转换。

非区块链多方通道

以太坊旨在创造一种技术,通过该技术,用户可以将资金保留在区块链的本地主代币中,而无需必要的链上状态。以太坊Plasma已开始消除链上和链外的边界线。

尝试设置非区块链多通道时有两个常见问题。首先,当系统需要更新时(或者提供并获取全局状态更新的可用性),需要在所有成员之间执行同步状态更新,因此应该在线。其次,补充和删除渠道成员需要大量的区块链更新,列出所有添加和删除的成员。

相反,更期望创建一种机制,其中可以附加和删除许多参与者而没有相当大的父区块链状态更新,并且可以在没有所有各方参与的情况下进行内部状态更新。他们只有在调整余额或拜占庭风度透露时才需要参与。

一般设计是子区块链,允许在根区块链(例如,以太坊)上保存智能合约中表示的残差。智能合约的剩余部分被呈现并分配给子Plasma链中已完成的块的余额。这允许在子区块链中保留原生代币,并完全表示根区块链上的遗骸,从而允许在争议调解期之后取款。

欺诈证据

欺诈证明保证检查和验证所有状态转移。欺诈证据的例子是交易有效性的证据(当前UTXO可获得的资金),国家证明过渡(包括结果输出可能性的签名验证,块中包含/排除的证明,以及证明存款/取款资金)。其他更复杂的证明需要互动游戏。通用设计将用于采用功能方法进行块验证。如果在Solidity编程语言中创建这种共识机制,则每个函数的Merkle证明块将被验证,并且无论证明是否有效,出口都将返回。然后,简单地复制共识确认码以便以密集证明的形式处理它(因此不必处理整个块以创建欺诈证据)。

然而,为了使该设计具有最小的证明,所有块必须提供对当前状态的Merkleized树的遵守,所执行的输出的树,Merkle交易树以及到先前改变的状态的链接。

欺诈证明保证了系统的安全性。这确保了用户的合并不能构建欺骗性的块以避免惩罚。当在父区块链(或根Plasma链)上发现并验证欺诈性块时,返回空块。这促使不同的用户对拜占庭行为有激励,这解决了比特币侧链的预定义工作人员安排的状态转换漏洞问题。

因此,状态转换具有更大的可扩展性,阻止Plasma区块链的能力,以及保证有权访问块数据的观察者可以证明无效的状态转换。换句话说,支付可以在这个链中发生,并且在父链上有定期义务。

总结

如今,分布式注册表无法处理大量交易。缩放的一种方法是将各种交易分成几个块系统。虽然这允许每个单元的交易需求较低,但这也意味着每个区块链上都会运行较低的散列功率。此外,在小型侧链上,很容易获得足够的哈希攻击力。虽然这提供了一定程度的可扩展性,但它牺牲了安全性。几个区块链的存在也限制了加密交易链之间的交易,这些交易收取交易费用,处理时间长,并且已知是不安全的。

以太坊提出了一个新的有趣平台来增强区块链可扩展性。Plasma协议仍在测试中。参与测试的Bankex公司注意到了高吞吐量:每秒多达5,000笔交易。因此,以太坊平台上项目数量的增加将与网络拥塞或交易处理延迟无关。但是,我们希望有一个积极的未来,这与基于区块链的平台的快速发展密切相关。

======================================================================

分享一些比特币、以太坊、EOS、Fabric等区块链相关的交互式在线编程实战教程:

  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
  • Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
  • Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
  • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是以太坊Plasma