Plasma Debit原理分析

Plasma真空等离子处理仪工作原理 PLASMA真空等离子处理仪配备清洗托盘,把样品放在托盘上,样品朝上的一面等离子处理效果明显,样品贴着托盘的一面处理效果不明显,原因是等离子体需要空间让其做高速运动,而样品贴着托盘的那一面,空间变小,不利于等离子体对样品表面进行处理,所以样品哪一面需要等离子处理,就把那一面朝上,如果两面都需要等离子处理,常规的做法是待样品的一面处理结束后,把样品取出翻转再进行另一面的等离子处理,但如果样品是粉末或者微小颗粒,这个方法就有局限性。硅片-PLASMA亲水性处理。(真空等离子处理仪VP-RS8) 阅读详情

上一篇介绍了Plasma Cash,提到它的缺点是代币无法分割,Plasma Debit就是为了解决这个问题应运而生的。

回顾一下,在Plasma Cash中,每次充值会产生一个uid作为唯一标识,并记录充值的金额amount。注意,这个amount是不可更改的,这就是代币无法分割的关键所在。Plasma Debit把这个amount扩展成了两个值v和a:

  • v表示从主链上充值的ETH数量,正常情况下是不变的
  • a表示在侧链上该代币的owner可用的额度,会随交易发生变化

举个例子:用户从主链上充值了5 ETH,则v=a=5。然后他在侧链上拿出其中价值2 ETH的份额转给了别人,那么此时v=5,a=3。注意,还是同一个uid,只是包含两个属性,用代码可能更容易解释:

struct Balance {
    uint256 bonded; //v
    uint256 withdrawable; //a
}
mapping (uint256 => Balance) public balances;

那么这个v - a的部分归谁呢?归operator。
在这里插入图片描述
也就是说,所有人的交易都是通过operator作为中介的,举个例子:A手里有一个代币#1(v=a=5),B手里有一个代币#2(v=5, a=3),此时operator手中持有代币#2的价值2 ETH的份额。如果A想给B转让价值2 ETH的额度,会发生什么?交易完成后,A手中持有代币#1(v=5, a=3),B手中持有代币#2(v=a=5),此时operator手中持有代币#1的价值2 ETH的份额。可以看到,A和B手中持有的代币没变,operator持有的代币价值也没变,但是A和B完成了交易,这就是Plasma Debit的神奇之处。
在这里插入图片描述
不过,这里有一个大问题:刚开始的时候,所有人充值以后v都是等于a的,v又不能变,没办法互相转账啊?这时候,用户需要调用主链合约的operatorTopUp()函数,请求operator提高自己的v。operator会在主链上充值额外数量的ETH,并在侧链上修改对应代币的v值。

举个例子:刚开始的时候代币#1的v=a=5,修改完后v=7,a=5,相当于充值的时候operator帮你多充了2 ETH,然后在侧链上你又把价值2 ETH的额度转让给了operator。所以,其实是operator掏出钱来为整个系统提供了流动性。从这个意义上来说,operator是贷方(Credit),而用户是借方(Debit),相必这就是Plasma Debit名字的由来~ 至于operator的钱怎么充,文章里没有提,个人猜测可能operator会在主链合约中锁定一部分的ETH,如果有用户发送operatorTopUp()请求,自动从里面扣,具体要等看到代码才能知道了。

另外有人说了,为什么要搞这么复杂呢?侧链反正是operator说了算,他直接把v改掉不就行了么?这里谈谈我的理解。我们知道,Plasma Cash的核心优势是:用户只需要关心自己手中的代币。在Plasma Cash中,只有用户充值才能铸币,uid是主链合约生成的,operator无法凭空造出一个代币来。因此,operator如果想作恶,只能冒领别人的代币,这样一来一定会被别用户挑战。但是Plasma Debit有所不同,operator是可以修改用户代币中的金额的。这部分多出来的钱必须先由operator垫付,并记录在主链上。这样,operator提现的时候也只能提走自己垫付的钱,不能多提。

Plasma Cash/Debit的另一大优势是:可转让性(Assignability)。你可以把代币完全转让给另外一个账户,这样对方无需在主链上进行任何交易就可以加入到侧链的支付网络中了,仅仅需要验证该代币的所有交易历史(这一点正是闪电网络的状态通道方案的缺陷所在)。

总结一下:Plasma Debit通过为代币引入新属性,利用operator作为中介,为整个系统提供流动性,从而解决了Plasma Cash代币无法分割的缺陷,使得微支付成为可能。目前Plasma Debit还处于理论研讨阶段,Loom项目在github上为其单独开了一个代码分支,但是暂时还没有实质性的代码披露,让我们拭目以待。

参考:

https://ethresear.ch/t/plasma-debit-arbitrary-denomination-payments-in-plasma-cash/2198

https://medium.com/@eolszewski/plasma-debit-simplified-dd8aa233e602

https://www.learnplasma.org/en/learn/debit.html

更多文章欢迎关注“鑫鑫点灯”专栏:https://blog.youkuaiyun.com/turkeycock
或关注飞久微信公众号:
在这里插入图片描述

Solidity中的sha256/keccak256如何正确传参 今天遇到一个需求:用户传递一个字符串过来,跟当前的时间拼在一起取哈希值,作为唯一标识。 举个例子,假如用户传递的字符串是abc,当前时间是123,我们来看看标准答案: $ echo -n 'abc123' | shasum -a 256 6ca13d52ca70c883e0f0bb101e425a89e8624de51db2d2392593af6a84118090 看起来很简单,就写了下面这段测... 阅读详情

相关推荐

Call,CallCode,DelegateCall,StaticCall,你分得清吗?

孔乙己懂“回”字的四种写法,你会智能合约的四种调用方式吗? 在中大型的项目中,我们不可能在一个智能合约中实现所有的功能,而且这样也不利于分工合作。一般情况下,我们会把代码按功能划分到不同的库或者合约中,然后提供接口互相调用。 在Solidity中,如果只是为了代码复用,我们会把公共代码抽出来,部署到一个library中,后面就可以像调用C库、Java库一样使用了。但是library中不允许定义任何...

飞久 9770

深入理解Plasma(1):Plasma 框架

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章作为开篇,主要目的是理解 Plasma 框架。 Plasma 作为以太坊的二层扩容框架,自从 2017 年被 Joseph Poon(Lightning Network 创始人)和 Vitalik Buterin (Ethereum 创始人)提出以来[1],一直是区块链从业人员关注...

weixin_33943836的博客 694

一分钟了解硬件钱包

所谓硬件钱包,就是把你的私钥保存在一个不联网的设备上。因为不联网,所以其他人永远都无法窃取你的私钥。 硬件钱包品牌繁多,比如长得像车钥匙的Trezor: 长得像U盘的Ledger Nano: 长得像手机的Ellipal: 甚至还有长得像信用卡的: 那么硬件钱包怎么用呢?以Trezor为例,首先会要求你设置一个PIN码,类似于你的手机密码: 然后就是创建你的私钥了,创建完以后会显示助记词:...

飞久 5995

深入理解Plasma(2):Plasma 细节剖析

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要对 Plasma 一些关键操作的细节进行剖析。 在上一篇文章中我们已经理解了什么是 Plasma 框架以及它是如何运行的,这一篇文章将对其运行过程中的一些关键部分,包括 Plasma 提交区块的过程,当有恶意行为发生时如何构建防伪证明以及如何退出 Plasma 子链等进行剖析。...

weixin_33963189的博客 854

WebAssembly初体验

上篇介绍了WebAssembly的前生今世,这篇准备写几个例子试玩一下。 1.安装Emscripten 首先肯定是先安装Emscripten,这是一个toolchain,可以把C/C++代码编译成asm.js和WASM字节码。内部其实分为三部分: 调用编译器前端Clang把C/C++代码编译成LLVM字节码 调用编译器后端Fastcomp把LLVM字节码编译成asm.js 调用Binaryen的...

飞久 4703

嵌入式工程师成长之路(3)——PCB设计

带有目的的学:要知道,PCB板子做出来需要我们给厂家哪些东西,我们设计板子的时候,需要遵循哪些设计规范,防止画好也是块废板子。然后再逐步开始学习画板。

云轩阁 8万+

junit使用mock objects进行单元测试

上一篇我介绍了使用stub进行单元测试。那么mock objects和stub有何区别?什么情况下使用mock objects呢? 下面摘自junit in action书中的解释: mock objects (或者简称为 mocks),非常适用于将某一部分代码与其他代问隔离开来,并对这部分代码进行测试。 mocks 替换了测试中与你的方法协作的对象,从而提供个隔离层。从这一点来讲,它与 ...

老徐的博客只有干货 1589

LSTM+Transformer混合模型时间序列预测实战教学

LSTM+Transformer混合模型时间序列预测实战教学 毕业设计

8220

极简 Ethereum Plasma Debit 和 More Viable Plasma 介绍

看完上篇Plasma MVP 跟 Plasma Cash 的介绍,感觉 Plasma MVP 目前还处于是概念上的阶段,正式上线好像还有段距离。Plasma Cash 每个 coin 都是不可分割的,在实际上的使用上有点困难。而本篇是要接续介绍Ethereum researcher 更新的提案:Plasma Debit以及More Viable Plasma。 Plasma Debit ...

跨链技术践行者 1万+

智能车图像处理1-基础图像规格

从厂家摄像头的库函数中,我们可以直接得到完整图像的灰度数组,经过二值化之后(算力允许,可以考虑大津法),就是我们要处理的0-1二值图像了。本系列所有的文章中,我们的图像规格如下。

taiyuezyh的博客 4345

100天精通Python(基础篇)——第1天:Python从起源到应用的全面解析(附上Python、PyCharm、VSCode下载安装详细教程)

100天精通Python(基础篇)——第1天:Python从起源到应用的全面解析(附上Python、PyCharm、VSCode下载安装详细教程)

努力让自己发光,对的人才能迎着光而来 101万+

极简 Ethereum Plasma Debit 和 More Viable Plasma介绍

看完 Plasma MVP 跟 Plasma Cash 的介绍,会感觉 Plasma MVP 目前还处于是概念上的阶段,正式上线好像还有段距离。Plasma Cash 每个 coin 都是不可分割的,在实际上的使用上有点困难。而本篇是要接续介绍Ethereum researcher 更新的提案:Plasma Debit 以及 More Viable Plasma。 Plasma Debit Pl...

以太中文网 301

基于MATLAB的多无人机多任务调度算法——CBBA带时间窗

本文将介绍基于MATLAB的CBBA算法,并对其进行改进,加入时间窗概念,以提高多无人机系统的调度效率和性能。时间窗用于限定任务的执行时间范围,以避免任务执行时间过长或过短导致的问题。具体而言,我们为每个任务设置一个允许的最早开始时间和最晚结束时间,并在任务分配的过程中考虑这些时间约束。在多无人机系统中,需要将若干个任务分配给不同的无人机完成,以实现高效的任务执行。以上是关于基于MATLAB的多无人机多任务调度算法CBBA带时间窗的简要介绍和源代码实现。多无人机系统的调度问题。

BUG?不存在的! 1898

Python学习笔记之选择结构

知行合一选择结构实现两数比较实现代码相关说明: 选择结构实现两数比较 实现代码 m, n = map(int, input().split()) # 单行多输入分割 if m > n : result = 'The larger number is:' + str(m) elif m < n : result = 'The larger number is:' + ...

plasma 564

点云从入门到精通技术详解100篇-基于 CBCT 与口内扫描数据的牙齿点云配准

口扫生成的三维牙模型只包含牙冠结构,容易受到唾液、食物残留等杂质的干扰。像精度,但其扫描成本较高,在公立医院的普及率较低。此外,口扫探入式的体。完整、精确的牙齿信息,有助于医生更好地进行数字化辅助诊疗,提高手术的预。可以表示上颌骨、下颌骨、牙冠以及牙根的位置和形状,但其扫描分辨率较低,精配准前实现粗略的预配准来确定点云间的初始位置,为精配准提供良好的配准。该算法通过计算点对间的距离确定源点云中的某一点在目标点云中的对应。算两点之间的欧氏距离,运算量较大,而且由于算法只考虑点集间的距离而忽略。

getusushu的博客 1641

SAP VC 可配置物料超级BOM简介

在有些业务中比如:汽车、笔记本、电脑、电梯等产品中,其中组成产品的型号个框架是确认的 ,但是框架内部的BOM是可变的,在客户下销售订单的时候,选取对应的组件 ,让后通过MRP的计算优生产线对这样的销售订单提供生产。这个时候我们需要选择我们需要的内存和硬盘的型号,还记得我们前面创建的特征值对应的吗,A对应的8G、B对应16G、X对应1T硬盘、Y对应2T硬盘,这里我们填写对应的值,我们这里选择16G的内存和2T的硬盘,B和Y。3、当我们选择了可配置物料的生产模式时,基本上就选择了按单生产的生产模式了。

我小时候很黑的博客 1万+

数据库性能优化之SQL语句优化

一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快

AlbenXie的博客 665

SI案例分享--FPC(柔性电路板)信号仿真

设计高性能的柔性PCB时,由于采用了网格地的参考面构造,因此,需要按照特定的结构进行布局,才可以保证所需目标阻抗的稳定性,该结构的配置过程称为“Hatch Configuration”,合理的参数配置将有助于得到满意的设计效果。

一只豌豆象的博客 2829

区块链扩容系列之Plasma Cash

    Plasma Cash另外一种Plasma技术,大部分逻辑和Plasma MVP差不多,因此本文主要介绍plash cash不一样的地方,Plasma MVP的相关信息请看这篇文章【区块链扩容系列之Plasma MVP】。Plasma Cash的整体架构如下:        用户调用deposit将主链的ETH, ERC20, ERC721代币生成coin,coin类似房产,只能整...

区块链斜杠青年(爱踢门) 2974

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深入理解Plasma(3):Plasma MVP

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍 Plasma 的一个最小实现 Plasma MVP(Minima Viable Plasma)。 在上一篇文章中我们已经理解了 Plasma 中的一些关键操作,但是 Plasma 是一套框架,如果脱离了实际的应用,仍然很难彻底理解它。因此本篇将详细介绍 Plama 的第一...

weixin_34138255的博客 314

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C#面向对象的程序设计提升

静态成员与静态类 “类”一般不包含数据信息,真正的数据信息属于类的特定实例(对象)。但是有一些数据信息需要属于类而不属于对象(如用一个变量来确定一个类一共有多少个对象),把这些属于类而不属于对象的成员定义为***静态成员***。 类的静态成员 静态成员和非静态成员的区别:1.静态成员属于类而不属于对象,只能通过类来访问;非静态成员属于类的实例; 标识:静态成员通过static关键字来标识。可以是静态方法、静态字段、静态属性等。 使用静态成员时要注意 静态成员属于类,只能通过类名引用;因此C#表示当

Sunshine_20201的博客 546

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

kaggle Code :House Prices: Advanced Regression Techniques 回归

The most difficult thing in life is to know yourself' This quote belongs to Thales of Miletus. Thales was a Greek/Phonecian philosopher, mathematician and astronomer, which is recognised as the first

u010016927的博客 2296

回归问题的数据处理

Despite the strange names I gave to the chapters, what we are doing in this kernel is something like: Understand the problem. We'll look at each variable and do a philosophical analysis about ...

小团的博客 3378

以太坊开发(一)——Truffle和Ganache

Truffle是目前最流行的以太坊开发框架,采用JavaScript编写,支持智能合约的编译、部署和测试。 一、安装Truffle 1. 首先安装Truffle依赖的NodeJS: curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - sudo apt-get install -y nodejs sudo apt-get ...

飞久 4万+
上一篇: Plasma Cash完全解析
下一篇: EOS上如何安全生成随机数
TurkeyCock
博客等级 码龄21年 406粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值