前言:區塊鏈的擴充套件性是限制它走向主流人群的主要障礙。本文主要聚焦解釋側鏈模式和跨鏈模式的擴充套件性解決方案。它們分別是如何來解決擴充套件性問題的?它們又有什麼侷限?本文僅代表作者觀點。本文文作者Dave Kajpust,來源於medium.com,有藍狐筆記社群“Leo”翻譯。
作為第一步,Vitalik提出了一個簡單的Plasma可行方案,稱為最小可行Plasma。
最小可行Plasma(MVP)
最小可行MVP是Plasma的精簡版。它符合Plasma鏈的設計要求,同時足夠簡單,可以落地實施。Plasma智慧合約包含如下資料結構:
l 智慧合約的所有者
l Plasma區塊列表。每個區塊有梅克爾根以及提交梅克爾根的時間。
l UTXO(未消費交易輸出)位置
有了這些資料結構,我們還需要根據交易排序執行優先退出。這也意味著,在大規模退出發生時,UTXO交易將在主網上重放,重放會根據它們在Plasma鏈出現的順序進行,直到所有資金都返還。這會確保沒有利益相關者可以跳出偽造區塊並在退出時候偷走Ether。
在MVP中有三個利益相關者:
l 以太坊主網礦工
l Plasma驗證者,稱為“操作者”(他們維持Plasma子鏈的執行,以獲得費用)
l 在主網Plasma智慧合約上抵押Ether的使用者
透過這種MVP的設定,我們只是進行簡單的token轉移,並不具備通用智慧合約能力。相反,我們獲得強大的token安全保證。token不能被雙花,不能被扣壓,並且總是可以透過Plasma退出回兌到根鏈。
我們甚至可以執行一個MVP鏈,只有一個POA Plasma驗證者,並保證安全退出。MVP的設計考慮了ERC-20的Token。未來,Plasma Cash的設計專門考慮了不可兌換Token,比如ERC-721 token標準。
Plasma Cash(現金)
不可兌換的token類似於你口袋中的現金。你口袋中的每張美元鈔票都有一個系列號,這讓它獨一無二,每個ERC-721token也有唯一的識別符號。沒有任何兩個ERC-721token是相同的。
這意味著,在儲存資料的梅克爾樹中,只有一個token有效的位置。任何其他人試圖把該token退回到主鏈都很容易受到token真正所有者的挑戰。
為了激勵良好行為,每個Plasma鏈使用者在加入時都會提出退出存款。如果他們試圖退出不屬於自己的資金,一旦被發現,他們會失去所有的存款,轉給挑戰者。
Plasma Cash 所有者只需跟蹤他們獨特代幣的資料,而不是整個區塊鏈狀態。相反,MVP則要求所有者觀察區塊鏈的完整狀態。兩種設計都要求使用者在檢查點期間至少登入一次,以確保沒有其他利益相關者試圖錯誤地退出其token。
總的來說,Plasma Cash對需要簡單UTXO狀態的高吞吐量應用來說,具有良好的前景。
Plasma如何實現應用的擴充套件?
可以想到一些應用,它們有高吞吐量和UTXO狀態,比如去中心化交易所和通用支付。
去中心化交易所
多年來,中心化交易所被駭客攻擊過很多次。去中心化交易所可以提供解決這個問題的方案。Plasma具有高吞吐量,這讓它成為構建去中心化交易所的有力競爭者,這些去中心化交易所可以連線到主鏈,由此移除對中心化交易所的需求。
目前也有去中心化交易所,比如IDEX,也有去中心化交易協議,比如0X,它們目前受制於以太坊吞吐量。目前,去中心化交易所根本不可能跟傳統的中心化交易所競爭。
然而,構建一個Plasma去中心化交易所並不是簡單。去中心化交易所,比如IDEX,它在以太坊主網有很多智慧合約和狀態物件,這允許它執行,並且為了構建一個能運轉的DEX很可能需要智慧合約的支援。
目前,Plasma相關的大多數想法都集中在有簡單UTXO狀態的高吞吐量應用上。因此0X和IDEX交易所還無法在Plasma上執行,直到它能支援更多複雜狀態物件進行大規模退出。
特別是,一個交易所需要一個訂單簿以最好的價格來匹配訂單。它也需要做市商、交易者來給平臺提供流動性,且還涉及到多種token,需要數百萬數千萬美元。此外,交易者希望可以從平臺中快速提款,這也受制於Plasma挑戰期的侷限。
支付
支付更適合Plasma MVP和Plasma Cash。少於一美分的微支付可以很容易換手1000次,費用不多。但要記住,在Plasma,每次轉移的速度仍受限於根鏈的最終時間。
除了微支付,任何一群使用者之間,如果需要經常發生重複和昂貴的以太坊主網交易,他們也可以使用Plasma鏈以節省費用。支付是區塊鏈可擴充套件性設計的重要領域。如果Plasma可以解決這個問題,它會是一個很大的成就。如果我們希望用區塊鏈來處理購買咖啡這樣的微支付場景,我們必須找到一種可擴充套件的方法。
Plasma的侷限
截止到現在,想讓Plasma鏈擁有完整的EVM能力是不現實的,也不是正確方法。大多數研究聚焦於讓UTXO模型首先發揮作用。
我們必須保持簡單,其中一個理由是因為智慧合約的所有權性質。Solidity智慧合約不擅長代表所有權。這意味著EVM dApp的使用者會發現自己很難實現退出。一個智慧合約可以包含許多不同的功能和狀態變數,這些變數由不同個人所擁有。
這會在大規模退出時帶來問題,因為它要求保證Plasma鏈的安全。任何從狀態A到狀態B的有效狀態轉移將會導致任何狀態A的退出無效。由此,子鏈智慧合約的每個單一狀態都需要有明確的所有權,否則,大規模退出總是可以被阻止的。
在Plasma鏈上擁有複雜智慧合約是可能的,但它們必須是受約束的智慧合約。儘管如此,隨著研究的深入,Plasma智慧合約應該最終支援更復雜狀態。它們需要經過深思熟慮的機制設計才能實現複雜的大規模退出功能。
大規模退出非常關鍵,因為即使你設計了一個非常安全的Plasma鏈,仍然有必要存在一個高效的方法來處理從Plasma到主鏈的交易。大規模退出如果花費太長時間或太昂貴,都將是不可接受的,因為它會把使用者的資金置於危險之中。
白皮書中描繪的確認簽名也是有限的。它們要求雙方傳送確認交易以確保最終性。這樣的使用者體驗很糟糕,因為每一方不得不提交另一個確認交易以確認原始交易。然而,Plasma Cash和更多可行的Plasma目標在於解決這個問題。
對於Plasma退出,它也要求使用者每個檢查點線上一次,這是一種設計約束,它可能會讓一部分使用者不想忍受麻煩。
---未完待續---
------
風險警示:藍狐筆記所有文章都不構成投資推薦,投資有風險,投資應該考慮個人風險承受能力,建議對專案進行深入考察,慎重做好自己的投資決策。
通往區塊鏈的新世界:關注“藍狐筆記”區塊鏈公眾號:lanhubiji
或加入藍狐筆記的知識星球:https://t.zsxq.com/iaQNnIq