您好,登錄后才能下訂單哦!
這篇文章主要介紹了Plasma框架是什么的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Plasma框架是什么文章都會有所收獲,下面我們一起來看看吧。
Plasma 作為以太坊的二層擴容框架,自從 2017 年被 Joseph Poon(Lightning Network 創(chuàng)始人)和 Vitalik Buterin (Ethereum 創(chuàng)始人)提出以來[1],一直是區(qū)塊鏈從業(yè)人員關(guān)注的焦點[2]。首先需要明確的是,Plasma 實質(zhì)上是一套框架,而不是一個單獨的項目,它為各種不同的項目實際項目提供鏈下(off-chain)解決方案。這也是為什么很多人對 Plasma 感到疑惑的一個重要原因,因為在缺乏實際應用場景的情況下很難將 Plasma 解釋清楚。 因此,理解 Plasma 是一套框架是理解 Plasma 的關(guān)鍵。
在介紹 Plasma 之前,不得不先介紹區(qū)塊鏈擴容。我們都知道,比特幣(Bitcoin)和以太坊(Ethereum)作為目前最廣泛使用的區(qū)塊鏈平臺,面臨的最大問題就是可擴展性(Scalability)。這里需要注意的是,區(qū)塊鏈中的可擴展性問題并不是單獨特指某個問題,而是區(qū)塊鏈想要實現(xiàn) Web3.0[3] 的愿景,為億萬用戶提供去中心化服務(wù)所要克服的一系列挑戰(zhàn)。雖然以太坊號稱是“世界計算機”,但這臺“計算機”卻是單線程的,每秒鐘只能處理大約 15 條交易,與目前主流的 Visa 和 MasterCard 動輒每秒上萬的吞吐量相比實在相形見絀。因此如何在保證區(qū)塊鏈安全性的情況下,提高可擴展性是目前區(qū)塊鏈發(fā)展亟待解決的問題之一。
目前關(guān)于區(qū)塊鏈擴容的解決方案無外乎兩個方向:一層(Layer 1)擴容和二層(Layer 2)擴容[4]。一層擴容也被稱為鏈上(on-chain)擴容,顧名思義,這類擴容方案需要更改區(qū)塊鏈底層協(xié)議。但同時也意味著需要將區(qū)塊鏈硬分叉。這類擴容方案就像將原來的單核 CPU 改裝成多核 CPU,從而可以多線程處理計算任務(wù),提高整個網(wǎng)絡(luò)的吞吐量。
目前最典型的一層擴容方案是 Vitalik 和他的研究團隊提出的“Sharding(分片)”,也就是說將區(qū)塊鏈劃分成不同的部分(shards),每個部分獨立處理交易。想要了解更多關(guān)于 Sharding 的信息,可以參考以太坊官方的 Wiki[5]。
二層擴容也稱鏈下(off-chain)擴容,同樣非常好理解,這種擴容方案不需要修改區(qū)塊鏈底層協(xié)議,而是通過將大量、頻繁的計算工作轉(zhuǎn)移到“鏈下”完成,并定期或在需要時將鏈下的計算結(jié)果提交到“鏈上”保證其最終性(finality)。二層擴容的核心思想是將底層區(qū)塊鏈作為共識基礎(chǔ),使用智能合約或者其它手段作為鏈下和鏈上溝通的橋梁,當有欺詐行為發(fā)生時鏈下的用戶仍然可以回到鏈上的某一狀態(tài)。雖然將計算轉(zhuǎn)移到鏈下會在一段時間內(nèi)損失最終性,但這個代價是值得的,因為這樣做不止可以極大提高區(qū)塊鏈的靈活性和可擴展性,也極大降低了用戶進行交易所需要的代價。將計算轉(zhuǎn)移到鏈下也并不意味著完全放棄安全性,因為最終的安全性還是由底層所依賴的區(qū)塊鏈來保證,因此二層擴容主要關(guān)注的問題就在于如何保證鏈上鏈下切換過程的安全性。這種思想最早被用在閃電網(wǎng)絡(luò)(Lightning Network)當中作為比特幣的其中一個擴容方案,并取得了很好的效果。
本文所要介紹的 Plasma 就屬于基于以太坊二層擴容方案,類似的解決方案還有 State Channels和 Trubit。這些方案雖然面向的問題有所區(qū)別,但基本思想都是將復雜的計算轉(zhuǎn)移到鏈下進行。那么,接下來我們將進入 Plasma 的世界,一窺究竟!
在前文中我們已經(jīng)明白 Plasma 是一種二層擴容框架,那么該如何進一步理解 Plasma 是什么?它區(qū)別于其它二層擴容方案的地方在哪呢?
Plasma 也被稱為“鏈中鏈(blockchains in blockchains)”。任何人都可以在底層區(qū)塊鏈之上創(chuàng)建不同的 Plasma 支持不同的業(yè)務(wù)需求,例如分布式交易所、社交網(wǎng)絡(luò)、游戲等。
這里可以舉一個例子來理解 Plasma。假如企鵝公司創(chuàng)建了一個 Plasma Chain 叫作 Game Chain。用戶通過向 Game Chain 發(fā)送一些以太幣換取 Token,用于購買皮膚等游戲內(nèi)的增值商品。加入 Game Chain 的操作是在鏈上進行的,以太坊區(qū)塊鏈將這部分資產(chǎn)鎖定,轉(zhuǎn)移到 Game Chain 上。之后每次我們購買虛擬商品的交易就會轉(zhuǎn)移到鏈下進行,由企鵝公司記賬。這種方式幾乎跟我們現(xiàn)實生活中游戲內(nèi)購的體驗一樣,不僅結(jié)算迅速,而且手續(xù)費低廉(相比于以太坊之上需要給礦工支付的手續(xù)費)。那么問題來了,如果企鵝公司從中作祟,修改賬本,惡意占有我們的資產(chǎn)怎么辦?這時我們就可以提交之前每次交易的憑證到以太坊區(qū)塊鏈上,如果確實是企鵝惡意篡改了賬本,那么我們不但能夠成功取回自己的資產(chǎn),還能獲得之前企鵝公司創(chuàng)建 Game Chain 存入的部分或全部押金。
通過上面這個例子是不是已經(jīng)明白 Plasma 大致是如何工作的了?但上面這個例子還是過于簡單,只涉及用戶自己和企鵝公司。下面我們使用區(qū)塊鏈的語言對上面的例子進行解析。
首先,企鵝公司在以太坊主鏈之上創(chuàng)建了一系列智能合約作為主鏈和子鏈 Game Chain 通信的媒介。這些智能合約中不僅規(guī)定了子鏈中的一些基本的狀態(tài)轉(zhuǎn)換規(guī)則(例如如何懲罰作惡的節(jié)點),也記錄了子鏈中的狀態(tài)(子鏈中區(qū)塊的哈希值)。之后企鵝公司可以搭建自己的子鏈(可以用以太坊搭建一套私鏈)。子鏈實際上是一個完全獨立的區(qū)塊鏈,可以擁有專門的礦工,使用不同于主鏈的共識算法,例如 PoS(Proof of Stake)等。
當子鏈創(chuàng)建完畢后,企鵝公司可以使用 ERC721 合約創(chuàng)建 token 作為游戲內(nèi)的商品(就像 Cryptokitty)。但這里需要注意的是,所有數(shù)字資產(chǎn)必須在以太坊主鏈上創(chuàng)建,并通過 Plasma 子鏈的智能合約轉(zhuǎn)移到子鏈中。用戶也需要在主鏈上購買數(shù)字資產(chǎn)后轉(zhuǎn)移到子鏈上。在上面這個例子中,Game Chain 的智能合約將主鏈上的資產(chǎn)鎖定,之后在子鏈上生成等值的資產(chǎn)。之后用戶就可以完全脫離主鏈,在子鏈上進行交易。企鵝公司在子鏈上扮演 operator 的角色,如果一切運行正常,子鏈中的礦工會正常打包區(qū)塊,并在需要時由 operator 將區(qū)塊的哈希值提交到主鏈作為子鏈的狀態(tài)更新證明。在這個過程中,用戶完全不需要和主鏈交互。
我們可以看到,將復雜的計算操作轉(zhuǎn)移到鏈下確實使得整個交易過程變得簡單。但沒有強大的共識算法和龐大的參與者,資產(chǎn)在子鏈上是很不安全的。Plasma 給了我們一種避險機制,即使 operator 作惡,我們也能取回屬于自己的資產(chǎn)。下圖(來源自[1])簡單說明了這個過程。圖中,在第 4 個區(qū)塊中的交易被篡改。由于 Alice 本地保存有 Plasma Chain 中所有的區(qū)塊數(shù)據(jù),因此她可以向主鏈提交一個含有“防偽證明(Fraud Proof)”的交易。如果證明生效,那么主鏈將狀態(tài)從 4 號區(qū)塊回滾到 3 號區(qū)塊,一切恢復正常。Plasmas Chain 中的參與者也可以隨時提交資產(chǎn)證明,返回到主鏈。
到這里我們應該已經(jīng)理解了,Plasma 所要做的工作并不是保護子鏈的安全,而是當有安全事故發(fā)生時,保證用戶可以安全地取回自己的資產(chǎn),并返回到主鏈上。并且采用一系列經(jīng)濟激勵的方式減少作惡情況的發(fā)生。
關(guān)于“Plasma框架是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Plasma框架是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。