Plasma链的构建0x1

Plasma是一种由Joseph Poon和Vitalik Buterin设计的区块链缩放解决方案,该解决方案使用儿童链向根链(即Ethereum)进行报告,以提高交易吞吐量,而无需担心通常使用较小链的安全问题。 OMG(OmiseGO)分散交换是为等离子体设计而设计的。 我们将利用Plasma在不牺牲安全性的情况下支持可扩展的全链式交换。 在这篇文章中,我将介绍我们如何构建Plasma。

目标:创建一个不依靠自身安全的区块链。

我们已经通过要求用户退出他们正在使用的子链来做到这一点,如果出现任何问题。 以下是它的工作原理:

  1. 如果子链中包含无效事务,则所有用户必须在7天内退出子链。
  2. 如果用户不能访问子链,但是子链块被提交给其父链,则用户必须重新获得子链的访问权,并在7天内检查其有效性或退出。
  3. 取款(又名“退出”)按创建他们所指交易的顺序进行处理。 未使用的交易输出(UTXO)撤销引用包含在较低块高度的母链中的交易(即较早的交易)具有优先于较晚块中包括的交易的优先权。 这会导致引用最近包含无效事务的退出的优先级低于退出引用旧有效事务的退出。
  4. 仅当输入的所有者签署确认确认其交易已包含在适当的主链中时,交易才有效。

责任分解

  1. 客户 - 观察以太坊并运行子链,尽快检测欺诈行为并退出。
  2. 儿童链 - 观看以太坊的存款并执行有关链条当前状态的所有计算。
  3. 根链 - 通过智能合约将儿童链锚定到以太坊。 处理儿童连锁店的存款和出口,只接收足够的信息以处理两者并确认或拒绝欺诈性退出。
  4. 母链 - 保护儿童链。 与最小可行产品(MVP)的根链同义; 在Plasma的最终形式中,子链和根链之间可能存在多个父链。

存款

要使用Plasma链,用户需要将他们的资产(即Ether或令牌)从母链转移到子链。 要执行存款,用户将资产从母链转移到儿童连锁店,方法是将资产转移到Ethereum上适当的Plasma智能合约。

MVP的存款流程已经简化了等离子白皮书中指定的存款流程,以降低复杂性。 存入血浆链的资金立即包含在父母的儿童连锁记录中,并且没有机会取消存款。 用户可以立即撤回他们的资产,而不是取消。

存款人没有额外的风险。 一旦交易资产转移到智能合约被确认,它们可能会被撤销。 即使子链不反映相应的存款,存款人仍可能撤回其资产。

取款

为了将资金转回母链,用户可以启动提款。 用户可以启动提款,将资金简单地转移回母链并在那里持有资金。 用户必须在检测到有故障的等离子链时启动提款; 如果用户未能及时做到,他们有可能失去资金。

有两个家庭的提款。 第一个是“简单的提款”。 这是一个单一的团体从儿童连锁店撤回资金的时候。 其次是当多方从儿童连锁店收回资金时“大量提款”。大量提款明显更复杂,将在未来的博客文章中讨论。

当用户从等离子子链中提取资金时,提款将按照退出的交易的顺序进行处理(先前的交易先出现)。 在挑战期结束后退出已经完成。 在挑战期间,任何人都可以提供欺诈行为的证据。

简单的取款

简单的退出包括四个步骤:

  1. 用户向母链上的等离子智能合约提交提款请求。
  2. 取款请求进入一段时间的挑战期。 在此期间,任何人都可以向Plasma智能合同提交双倍支出的证据,证明提款无效。 如果挑战成功,则试图退出的用户无法撤回资金。
  3. 如果提款申请被认定为无效,撤回者将受到惩罚,并获得奖励。 如果挑战期在没有成功的挑战的情况下结束,那么退出者将收到他们的资金。这背后的经济刺激措施尚未最终确定。

终局

有两种不同类型的终结:

  1. 儿童连锁终结 - 取决于儿童连锁使用的共识机制; 我们选择使用股权证明。
  2. 根链最终性 -​​ 取决于根链所使用的共识机制; 以太坊目前正在使用工作证明。

子链的最终性和安全性取决于根链。 Plasma提供的所有安全保证假定以太坊工作正常。

需要记住等离子MVP的事情

  1. 它是权威的证明; 道路上将增加股权证明。
  2. 它不会使用债券来惩罚欺诈行为。
  3. 如果子链中包含无效事务,则每个人都必须立即退出子链。
  4. 儿童连锁店依靠以太坊的终结(区块确认)。

等离子MVP是朝着以下方向迈出的一步:(i)通过扩大以太坊主网络来实现以太坊的潜力;(ii)建立OMG分散交换,为主流金融应用做好准备。 随着OmiseGO进一步进入等离子体开发阶段,设计将发展到包括Plasma和OmiseGO白皮书中描述的其他功能。

https://blog.omisego.network/construction-of-a-plasma-chain-0x1-614f6ebd1612

【译】Construction of a Plasma Chain 0x1相关推荐

  1. Plasma链0x1的构造

    本文由币乎社区(bihu.com)内容支持计划奖励. Plasma是一个由Joseph Poon和Vitalik Buterin设计的区块链扩展解决方案,它使用子链向根链(即以太坊)报告的方式来增加交 ...

  2. Qtum量子链研究院:Plasma技术详解(下篇)

    Plasma的设计模型有两个主要的分支:Plasma MVP(Minimal Viable Plasma,最小可行的Plasma)和Plasma Cash.Plasma MVP的目标是为最基本的可用的 ...

  3. 深入理解Plasma(一)Plasma 框架

    转载地址 https://blog.csdn.net/xilibi2003/article/details/83268589 这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节, ...

  4. 深入理解Plasma(二)Plasma 细节

    最新内容会更新在主站深入浅出区块链社区 原文链接:深入理解Plasma(二)Plasma 细节 这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等. ...

  5. PageHelper 在 Spring Boot + MyBatis 中合理且规范的使用方法

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 一. 开发准备 1. 开发工具 IntelliJ IDEA ...

  6. SpringBoot项目中,如何更规范的使用PageHelper分页?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:臣 ...

  7. pagehelper的使用_SpringBoot项目中,如何更规范的使用PageHelper分页?

    SpringBoot项目中,如何更规范的使用PageHelper分页,拉勾IT课小编为大家分解 一. 开发准备 1. 开发工具 • IntelliJ IDEA 2020.2.3 2. 开发环境 • R ...

  8. pagehelper工具类_PageHelper最佳实践

    来源:https://blog.csdn.net/NOT_TWO_CHEN/article/details/109230267 一. 开发准备 1. 开发工具 IntelliJ IDEA 2020.2 ...

  9. Layer 2:公链本就不该追求性能 |链捕手

    经历了两年时间,区块链行业从无到有出现了数十个.上百个不同设计的 Layer 2 项目,而大部分人对 Layer 2 的认识仅仅就是「扩容方案」那般可有可无. 为什么公链就是性能那么低?为什么我们觉得 ...

最新文章

  1. python测试开发自学教程-python测试开发学习笔记
  2. python中strip()的陷阱
  3. 想成为一个高效的Web开发者吗?来看看大牛分享的经验吧
  4. mysql的知识_mysql基础知识
  5. 顺序表(线性表的顺序存储)---C语言版
  6. GPS信号防丢失、干扰和欺骗——基于雷达的解决方案
  7. Android 圆形颜色拾取器代码,android 颜色拾取控件 ColorPickerDialog
  8. 游戏开发新手快速入门指南
  9. adb shell 小米手机_Ubuntu下adb连接小米手机
  10. Saliency Detection: A Spectral Residual Approach 阅读笔记
  11. 英雄无敌6服务器在哪个文件夹,英雄无敌6无法进入游戏解决方法_单机攻略_快吧单机游戏...
  12. 推荐一款适合苹果电脑小白使用的BT下载器
  13. tenacity -- Python中一个专门用来retry的库
  14. L1-058 6翻了 (15 分)循环的妙用
  15. Z-Stack + OSAL操作系统
  16. 亚甲基蓝在胃肠道恶性肿瘤淋巴结检获中应用价值的Meta分析
  17. oracle如何exp远程备份,oracle exp远程数据库
  18. net::ERR_CONNECTION_REFUSED解决办法
  19. 计算机电子信息类专业大学排名,电子信息工程专业大学排名 2020全国排行榜
  20. VMware ESXi安装NVIDIA GPU显卡硬件驱动和配置vGPU

热门文章

  1. (转)Docker volume plugin - enabled create local volume on docker host
  2. yii框架安装及环境配置!!!
  3. 在Tomcat中部署seam工程
  4. c++学习笔记之类模板
  5. 机器学习导论(张志华):主元分析
  6. Python学习笔记:Day11 编写日志创建页
  7. Linux服务器和客户端之间的数据同步(备份)
  8. android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事
  9. Python源码剖析[16] —— Pyc文件解析
  10. USTC English Club Note20171022