看完 Plasma MVP 跟 Plasma Cash 的介紹,會感受 Plasma MVP 目前還處因而概念上的階段,正式上線好像還有段距離。Plasma Cash 每一個 coin 都是不可分割的,在實際上的使用上有點困難。而本篇是要接續介紹Ethereum researcher 更新的提案:Plasma Debit 以及 More Viable Plasma。html
Plasma Debit 要解決的就是 Plasma Cash 每筆進賬不可分割的問題。Plasma Cash 的帳戶裏只有一個值(並且值等於1),在 Plasma Debit 改爲兩個值 a 跟 v。git
v 表明這個帳戶最多能夠擁有多少錢(也就是存了多少 ETH 進 Plasma chain)github
a 是目前帳戶裏的錢post
舉例來講:(1) 甲存了5 ETH 進入Plasma chain 後,v=5, a=5;(2)甲轉 2 Plasma token給乙,v=5, a=3。能夠想做是信用卡的最高額度(v) 跟 還可使用的額度(a)。設計
可是,這裏有個問題,在最一開始你們的 a 跟 v 的值都同樣,表明着你們不能相互轉帳。什麼意思呢?舉例來解釋一下:3d
甲、乙各存了 5ETH、7ETH 進 Plasma chain,此時甲:(v=5, a=5)、 乙:(v=7, a=7)cdn
甲想轉帳給乙,但由於乙的 v=a,若甲轉給乙則會形成乙的 a>v 的情況,這在設計上是不容許的(信用卡公司給你5萬的額度,總不能刷超過5萬吧) 所以,爲了要有流動性,operator 能夠透過不一樣的 function 存錢進你的帳戶(也就是某個coin),也就意味着你的 v 值會變被增長(固然會須要付一些手續費給operator),以上例來講htm
operator 提供 2ETH 的額度給乙(v=9, a=7)blog
甲就能夠轉 2ETH 給乙(甲:(v=5, a=3), 乙:(v=9, a=9))排序
目前 Plasma Debit 的設計相似 payment channel,每一個 coin 的擁有者跟 operator 創建一個雙向的 payment channel(提案中多處都在模擬 Lightning Network 的channel,不過我不夠熟悉 payment channel,就不在這裏提出比較),因此在交易時,都是透過 operator 作中介作交易。因爲channel 結構上的問題,目前這個提案,只限於單一個 operator。
More Viable Plasm(MoreVP)是基於 Plasma MVP 做發展,改進提款的流程(Exit Game)。 上一篇 Plasma MVP 只有簡單介紹概念,沒有特別着墨在 exit 的部分,由於 MoreVP 是針對 exit game 的部分作改進,因此此次會對 exit game 的部分在作多一些的解釋。
在Plasma MVP中,有人要離開 plasma chain(把錢提出)時,須要你們的簽名(confirmation signature),而 confirmation sign 對使用者很是的不方便,每次有人離開,都須要收集簽名。但移除了 confirmation sign,operator 就很容易能夠做怪,例如不打包使用者的 tx(in-flight tx),甚至能夠憑空鑄幣。MoreVP 改變了本來離開 plasma chain 的排序機制,在 MoreVP 中越新的 input(youngest input)有越高離開 plasma chain 的優先權。此外,挑戰期(challenge period)也改爲兩段式。
整理一下:
MVP的 exit game
越舊的 UTXO 的優先權越高
送出交易須要簽名,離開時也須要簽名(confirmation signature)
單一挑戰期(須要 exit bond)
MoreVP 的exit game
越新的 input(youngest input)優先權越高
只須要送出交易的簽名,不須要 confirmation signature
兩段式挑戰期(須要 exit bond 跟 piggyback bond)
接下來再深刻一點介紹兩段式的挑戰,這裏只針對 worst case(byzatine 共識且是 in-flight tx)做討論,由於被打包的的 tx 不會有問題,就照正常程序離開便可。in-flight tx 就是還沒被打包的 tx,不管是還沒被打包或是被 operator 惡意不打包。
當有人要離開 plasma chain 時,要先壓錢做擔保(exit bond),任何想一塊兒離開的人須要壓附帶擔保(piggyback bond),若是沒有附帶擔保(piggyback bond)就不能離開。此時,進入第一階段挑戰期
第一挑戰期,原則上就是讓你們提出要離開的這個 tx 是否是無效的或被花過的。若是是,提出證實的 tx‘ 來更換本來的 tx,提出證實的人能夠拿到上一個的附帶擔保(piggyback bond),而後壓上新的 piggyback bond。而後一直直到沒人提得出新的證實爲止。
如有人挑戰,就進入到第二階段
第二階段,上一階段只有提出挑戰,可是沒有人去確認,而這階段就是去確認/驗證第一階段的挑戰,若是驗證後是正確的,則第一階段的挑戰者能夠拿到申請離開人的 exit bond,而且申請者不能離開。若無人能驗證,則退還 exit bond,此時申請者也不能離開(不能把 plasma chain 的錢提出)。 若第一階段無人挑戰,則有申請離開者就順利離開。 有沒有以爲聽完有點頭昏眼花 2333,這裏有提案者的圖解。
– source: ethresear.ch –
今天的介紹大概就到這邊,有任何的錯誤或是意見歡迎指教!
other references:
原文連接: kimiwublog.blogspot.com/2018/10/eth…
做者: Kimi Wu
稿源:以太坊愛好者(ethfans.org/posts/simpl…)