我們知道 Plasma 是以太坊擴容方案之一,那麼,到底什麼是 Plasma?什麼是 Plasma Cash?本文給我們一些簡要的說明。

原文標題:《什麼是 Plasma?Plasma Cash?》
作者:Jinglan Wang
譯者:Cipher

Plasma 是一種設計模式,它允許鏈外消息驅動鏈上資產的轉移。它通過將交易吞吐量轉移到 Plasma 鏈來實現對根鏈的擴展。你可以把它看作是一個教授需要在短時間內批改許多考卷。教授可以將這項工作委託給助教,他們查看考卷上的每個問題並計算對應的分數,但只向教授報告總分。

每個 Plasma 鏈將交易排序的信息壓縮到單個哈希,並存儲在根鏈上。像比特幣和以太坊這樣的就是根鏈——這些區塊鏈具有更強的安全性和去中性化保證 (安全性和活性)。本篇文章將使用以太坊作爲根鏈例子貫穿全文。

Plasma 不是在中心化服務器上貼上一個 Merkle 樹。
——Vitalik Buterin,2018 年於 TechCrunch,瑞士 Zug

Plasma 設計的兩個主要分支稱爲 Plasma MVP 和 Plasma Cash。首先,讓我們瞭解一下背景信息,從宏觀角度瞭解下簡單的用戶流,之後再更深入地探討每個部分。

在開始之前,讓我們先快速瞭解一下基本概念 :

圖文詳解以太坊支付方案 Plasma Cash 運作原理稀疏的 Merkle 樹,來自 : https://doi.org/10.1007/978-3-319-47560-8_13

稀疏 Merkle 樹 : 一種大小不變的完美 Merkle 樹,之所以稱之爲「稀疏」,是因爲大部分葉子是空的。

經濟最終性 : 保證操作永遠不會逆轉,除非提供最終結果的一方將一大筆錢燒燬。

UTXO: 未消費交易輸出(unspent transaction output)。每筆交易都必須具有來自有效 UTXO 集的輸入。每筆交易的輸出將成爲新的 UTXO 集的一部分。比特幣就使用 UTXO 模型。

現在開始闡述 Plasma。

1 運營者將 Plasma 合約部署到主網

圖文詳解以太坊支付方案 Plasma Cash 運作原理

像交易所這樣的實體,如希望擁有高交易吞吐量和低延遲 (甚至實現即時的經濟最終性) 的實體將受益於運行 Plasma 鏈併成爲運營者。合約所有者包含在合同的初始化中。

2 Plasma 運營者創建區塊

圖文詳解以太坊支付方案 Plasma Cash 運作原理

運營者的衆多角色之一是聚合和排序交易,並將其打包到區塊中,然後將 Plasma 區塊的哈希提交到根鏈。

實現 Plasma 的方法有很多種。不同的 Plasma 鏈可以有不同的治理規則、不同的 token、存儲狀態的方法等,但所有 Plasma 鏈會定期向根鏈提交哈希,以便繼承根鏈的安全性。

3 Kanye 是一個新用戶,將 ETH 存入 Plasma 合同,並分配返回 PETH

圖文詳解以太坊支付方案 Plasma Cash 運作原理圖片由阿里·格雷厄姆提供

在兩種主要的 Plasma 設計中,你可以將任何 token 存入 Plasma 鏈並接收到與之相對應的 token。所以,如果 Kanye 存入 ETH,他會得到 PETH!如果他存入 BTC,他就會得到 PBTC!(Plasma Cash 的規範更好地支持 ERC721 資產,如加密貓,但並非所有 Plasma 規範都支持存入任何 token)。

4 Kanye 向 Donald 匯款,但 Donald 還不在 Plasma 智能合約中

Kanye 並不僅限於匯款給那些已經是 Plasma 合約成員的人 ! 他也可以匯款給 Donald 這樣的以太坊巨鯨。

在 Plasma Cash 規範中,你存入的每個代幣都會被分配唯一的 ID。這些唯一 ID 存儲在稀疏 Merkle 樹中。代幣有所分配的(Merkle 樹的)葉子的索引,而這些索引是這些代幣可用於交易的唯一位置。

想想買賣房產——當你交易房子時,房子不會移動,但擁有房子鑰匙的人會改變,房子的契據是當事人的記錄以及所有權易手的頻率。這使得它非常容易檢查 token 的歷史記錄,因爲你能夠輕易的在 Merkle 樹中查找到這些記錄!

圖文詳解以太坊支付方案 Plasma Cash 運作原理圖片由亞當·埃利斯提供

在這裏,我們具體看 Kanye 發送給 Donald 的 token 的索引。Kanye 在發送 token 時必須包含 token 的歷史記錄。如果 token 被多次交易,其歷史記錄可能會變得非常冗長!稍後我們將討論如何改善這種情況。但就目前而言,這對 Donald 來說可以接受,他只需要下載他關心的代幣交易歷史。

5 Donald 有兩種選擇:繼續花費 PETH 或創建退出交易以在根鏈上兌換出 ETH

Donald 不需要向運營者提交消息成爲 Plasma 合約會員,以實現退出 PETH 並贖回 ETH。Donald 想立即換掉代幣以保持匿名,所以他不想繼續使用他的 PETH。

他拿到了 token 的歷史記錄,以證明所有權,並將記錄放入提交到 Plasma 合約的退出請求中。他的退出交易還包括 gas 費和作爲抵押的保證金(以防止撒謊)。當一切停當,如果沒有人挑戰 Donald,他能在根鏈上用 PETH 贖回 ETH。

圖文詳解以太坊支付方案 Plasma Cash 運作原理

棒極了!我們已經在宏觀上闡述了一個理想的場景,因此讓我們深入探討這一工作流中的每個部分:交易、退出和 Plasma 運營者的角色。請務必注意,它存在多種規範,不同執行方案的規範之間存在差異,但以下內容會讓你熟悉一些核心的 Plasma 概念和詞彙。

交易

每當 Kanye 發送 token 時,他還必須同時發送該 token 的歷史記錄。在 Plasma Cash 中,用戶只需下載他們關注的代幣的交易歷史。分片客戶端驗證允許每個用戶的數據負載更輕。

但是,如果一枚代幣被花了很多很多次,那麼該代幣的歷史就會變得很長並難以在交易中傳輸。解決這一問題的一種提議是引入檢查點。一旦檢查點最終確定,客戶只需提供從該檢查點(有最終性)開始的證明,這樣可以將證明的大小變成常數,而不是線性增長。

Plasma Cash 檢查點基於加密經濟聚合簽名,爲在 Y 區塊高度的用戶 X 對代幣的所有權提供了經濟保證。

遺憾的是,在 Plasma Cash 中發送任意小面額的代幣更加困難 (Plasma 借記或狀態通道是對這一缺陷的改進方案)。當調用存款函數時,用戶指定其存款的面額,這一方案使得 Plasma Cash 適合發送 ERC721 非同質 token,而 Plasma MVP 的 UTXO 模型更適合處理任意麪額交易。

退出

當提款被認爲是如下情況,退出就產生了挑戰 :

  1. 退出一枚已經花過的代幣
  2. 雙重退出代幣
  3. 退出有無效歷史記錄的代幣

任何人都可以提交欺詐證明來挑戰退出者,如果他們在撒謊,他們將失去他們的保證金。

黑客攻擊怎麼辦?

Plasma 鏈安全保證與根鏈一樣好。 如果 Plasma 鏈被黑客攻擊,黑客必須提交退出交易,以得到他想竊取的所有資金 ! 在 Plasma Cash 中,黑客必須在他的退出交易中包括保證金,他不能帶着所有竊取的資金潛逃。

Plasma 運營者

Plasma 運營者的主要作用是將交易聚合到區塊中,並將每個 Plasma 區塊的 Merkle 樹發佈到根鏈。

在更復雜的設計中,中心運營者可以由 PoS 驗證者取代,從而緩解對交易審查的擔憂。然而,擁有中心運營商有很多好處,而且我們可以用 Plasma 運營者的保證金做很多有趣的事情 :

  • 即時經濟最終性!由於運營者負責創建區塊,因此他們可以提供有關交易包含和排序的保證。運營者會因爲撒謊而付出失去保證金的代價,因此用戶會立即知道他們的交易是否包括在內。
  • 無效退出處罰 : 可以懲罰運營者允許無效退出的通過,並消減其保證金中的資金。
  • Casper 驗證 : 運營者可以是 Casper PoS 驗證者(驗證者有保證金)。
  • 你能想到其他的嗎?

Plasmas 總結

圖文詳解以太坊支付方案 Plasma Cash 運作原理圖片由海登·亞當斯提供

來源鏈接:mp.weixin.qq.com