擴容方案 II
IPFS
書接上回,我們繼續來談三個歷史上出現過(其實也就幾年前的事),現在都已化作春泥的擴容方案。之所以要介紹這些歷史產物,一是鑑古而知今,能讓我們更好理解發展的脈絡;二是當下很多解決方案,都大量使用了這些方案中的元素。讓我們開始吧!
[ Payment Channel ]
- 兩個用戶之間可以建立一個快速的網絡通道:兩者先在通道上存一部分資金,定時的去更新它們的最新狀態,最終要退出時,再到 Layer 1 上進行結算。
- 所以只在兩個時間點上才需要與 Layer 1 互動:建立通道跟關閉通道的時候。
- 優點是交易的雙方更有隱私(通道上的交易只有雙方看得到),且可以降低交易費用(中間不管交易多少次,只收開始跟關閉兩次的手續費),很適用於與固定對手方的小額高頻交易。
- 缺點一是不支援智能合約帳戶(Contract Account),只能兩個EOA之間互動,少了一些可玩性。
- 缺點二是很少會有人在通道上放上大筆資金,加上只能跟其他也在通道上的人進行交易,導致資金利用率會很低。就是例如我先放了10 ETH在通道上,但其實每次都只是小額的三五 ETH在那邊交易,等於很常有資金是閒置的。
- 比特幣上做 Payment Channel的專案叫做閃電網路 Lightning Network(閃電網路);以太坊上的專案叫做 Raiden Network。
[ 側鏈 Sidechains ]
- 嚴謹來說,sidechain並不屬於一種Layer 2。Layer 2是必須是依存在某個 Layer 1上,且 Layer 2不具有決定一個區塊正確與否的最終話語權。反過來說,Layer 2的安全性,通常是由 Layer 1來背書的,所以基本可靠。
- 相對的,sidechain是一條完整且獨立的區塊鏈,有自己獨立的共識機制以及驗證機制,只是剛好設計來跟某特定的 Layer 1 互動而已。
- 至於要理解它們的互動關係,我們先想像自己是一顆代幣,今天在主鏈上跑來跑去是很貴的,這樣我可以先跑到側鏈上去玩,那邊跑起來通常比較便宜,然後等有什麼特殊需求一定要在主鏈上完成時,我還是可以回到主鏈上。就是單線道不夠用,就把路拓寬成雙線道的概念。
- 優點是資料與程式碼獨立,因為它完完全全就是一條獨立的鏈,在架構的時候,主鏈不用去做出太多的改變。
- 缺點是安全性通常比較差,因為沒有 Layer 1來背書,它需要有一支自己的驗證者(Validator)或礦工來維持安全。
- 比較有名的側鏈專案有 Matic Network和 Skale Network,兩者都是與以太坊互動的側鏈,其中又以前者更出名。
- Matic Network是比較早期的名字,之後改名為眾所皆知的Polygon(這也是為啥Polygon上面的原生代幣是$MATIC的原因)。
[ 等離子體 Plasma ]
- 最開始由Vitalik Buterin(大家熟悉的V神)和Joseph Poon(Lightning Network的共同作者)在2017年共同提出。
- Plasma MVP是第一個被實現出來的版本(2018.01),Plasma Cash是隨後改進的版本(2018.03)。
- Plasma可以理解成加強版本的sidechain,也是一條獨立的鏈,差異是 Plasma受到Layer 1的監管,在這個例子也就是Ethereum,當Plasma的節點被Ethereum判斷作惡的時候,Plasma允許使用者依照上一個合法的狀態(State)來抽回現金。
- 說它像sidechain,原因是它也像一個側鏈一樣,是把很多計算與驗證拉到Plasma上面去做,最後再給Ethereum一個結果,以此來減輕L1的負擔。
- 說它是加強版,原因是Plasma並非一個一維的鏈,而是個二維的樹狀鏈:在Ethereum上先是有一個Plasma的根(第一層),從這個根出發,上面可以有多個Plasma節點(第二層),然後能再繼續往上推。這東西效率會好,就跟搞傳銷去拉下線是一樣的道理,而Ethereum就是最大的組頭。
- Plasma的有效性,也就是下線要跟組頭彙報的時候,通常組頭是不會輕信小弟的。會有一個查證機制叫做欺詐證明(fault proofs)。
- 行走江湖,講的就是一個理字,每個人說話最好是有證據的,也就是所謂的證明(proof)。證明可以分成兩種:欺詐證明與有效性證明(validity proofs)。
- 有效性證明:這個組頭疑心病很重,很不相信自己的下線,每一個資訊過來,都要求要附上證據才行,例如可以附上之後會講到的zk proof。這機制的缺點是很耗計算資源,因為證明是需要算出來的;但優點就是可靠,附上證明的資訊可以直接無腦相信。
- 欺詐證明:相信人性本善的組頭,直接默認下線是正確的,但提交過來的資訊,會讓其他人(節點)有一個Dispute Time Frame(DTF)的機會去挑戰。這個DTF的期間內,如果其他節點覺得那提交的資訊有問題,則可以提出fault proof,隨後也會有一個賞善罰惡的機制。如果後來發現真的是有問題,則會自動恢復到L2的上一個狀態。DTF的時間越長,則越安全,但相對的,用戶也要等更久才能確認某個資訊沒問題。這機制的優點是可以減少所需要的計算資源,但缺點就是要等那個DTF,這對很多要求時效性的應用來說,是阿基里斯之腱,是無法承受的缺點。
- 為了要在DTF之中能發出挑戰,在Plasma上面的節點玩家,首先自己要存著一定數量的資料,不然根本沒有可挑戰的東西,這個叫做資料的可取性(The availability of data)的問題,在技術圈子內,這是一個很重要也很常被討論的話題。
- 舉例來說,站在Ethereum的角度來看,因為Plasma這個L2只會給最終結果,Ethereum是不知道細節與過程的,如果那一天Plasma爆炸了,則單單從Ethereum是沒有辦法復原每一筆交易的,這是一個很大的潛在風險。
- Plasma的另一個難題是:要求節點要處於活躍狀態,不然錯過了DTF,系統看到沒人要挑戰,會直接默認大家都同意。例如有些攻擊就是透過DDoS去攻擊節點,讓節點沈默,然後就通過了。
- 總結來說,Plasma是個有著樹狀結構的L2鏈,資料在這上面處理,然候把最後送到Ethereum那邊,中間的有效性是透過欺詐證明機制來維護的。
是不是其實也不難懂?讓我們一起期待接下來的最終章吧,我要繼續去搔腦袋想如何寫了。Be Happy & Stay Tuned,咱們下次見!
〈中杯星巴克〉是一個談組合管理的自媒體。我們會從區塊鏈講起,再到DeFi,最後談如何把DeFi納入投資組合當中。如果覺得內容有幫助的話,也請不要藏私的分享給你所有的朋友喔。你的點讚與分享,將會對這個無營利的自媒體有很大的幫助!