開發了 30 萬用戶使用的區塊鏈項目后,我們發現 Polkadot 太重要了

PolkaWorld  2019-06-17  DOT/波卡(Polkadot)欄目  

  登錄波卡世界社區 polkaworld.org 立即加入討論

  本文是 Chainsafe 創始人 Aiden Hyman 在 LongHash 和 HashBang 聯合主辦的 “Polkadot 中國行上海站” 活動中的演講內容,PolkaWorld 作為活動的獨家合作社區整理和報道活動干貨。

  Aiden Hyman

  大家好,我是 Aiden,Chainsafe System 的聯合創始人和 CEO。Chainsafe 是家區塊鏈開發公司,base 在多倫多,我們在過去兩年內一直在服務客戶去開發各種基礎設施,在整個開發過程中,我們發現我們也想把客戶所需求的這些基礎設施開源給大家使用,讓整個社區能夠受益。我們也是以太社區的一部分。 這是我們的一些介紹。

  Chainsafe 做的項目

  簡單介紹一下我們所做的一些項目:

  第一個要介紹的是 Lodestar。Lodestar 是基于 TypeScript 的信標鏈實現。信標鏈是以太坊 2.0 線路圖的基礎,我們是信標鏈項目的一部分,希望能讓更多人使用,我們在努力實現基于 TypeScript 的信標鏈實現。這些是我們所做的庫: ssz.js(simple serilaize,簡單序列化)是一個編碼和解碼的庫,bls.js 是一個信號簽名聚合庫,gossipsub.js 是我們用于網絡的一個庫。

  第二個介紹一下 Gossamer 。Gossamer 是 Polkadot 運行環境的 Golang 實現。你們看波卡白皮書上面,平行鏈那個大方塊就是可以通過 Gossamer 來實現的。對于我們而言,我們需要做一些可以讓大多數開發者可以用的工具,我們認為 JavaScript,TypeScript 還有 Golang 是大多數開發人員都比較容易上手的,并且能夠保留組基本的區塊鏈開發需求。這是我們做的一些組建,Grandpa 是一個內置的共識機制,life 是一個 Wasm 的解釋器,Go-libp2p 是一個網絡協議。

  第三個是 G?rli 測試網G?rli 測試網在幾個月前已經發布,是第一個跨客戶端的以太坊 POA 測試網。這個的意義在于:以前我們只有一個客戶端的測試網絡,是單機的,不能滿足多客戶端的測試需求;現在通過這個測試網,多個客戶端可以在同一個測試網進行測試,這個測試網聽上去并沒有說非常吸引人,但是對于開發人員來說是個非常基礎的東西。

  第四個是 ChainBrige,它是一個模塊化跨鏈轉接橋,能夠讓不同區塊鏈互相轉移數據,目前的方案基本上只能轉移 ERC 20 的數據或者代幣,我們這個模塊化的跨鏈轉接橋可以輕松讓開發者自己開發跨鏈轉接橋。

  所以我們是如何做到這一切的?我們為什么會做 Polkadot 運行環境的 Golang 實現?

  一年半左右之前我們開始研究我們第一次側鏈的實現。所以什么是側鏈?側鏈通常都是以太坊的分叉,為特定場景進行優化。但是側鏈需要通過轉接橋實現鏈與鏈之間的互操性。沒有轉接橋的話,側鏈基本就沒有使用案例,它們沒法使用別的開發工具等,很難讓鏈跑起來。這是轉接橋的比較高階的想法,首先你可以將任意的代幣或者數據(其本質還是代幣)存儲在一個地方通過一個轉接橋的實例,這個實例是一個在某個地方的服務器監控智能合約,然后從另一個鏈上將代幣拿出。反之亦然。

  案例一:當地社區自治管理項目

  現在我來給你們介紹一下我們在過去一年半載所做的一些案例,來說明為什么波卡對我們很重要,我們為什么需要它。

  第一個案例是一個當地社區自治管理的區塊鏈項目。

  ? 客戶的需求是什么?

  這個客戶是多倫多當地的一個交易市場,有兩百萬用戶(注:可以理解為多倫多淘寶),然后他們有三十萬用戶想通過區塊鏈技術來解決一些交易問題,主要就是討價還價的整個過程中存在的問題。所以他們需要一個獨特的共識機制,那些商家可以持有代幣,成為網絡的部分持有者,然后他們也希望能夠連上以太坊網絡具有互操作性,最后他們還需要比較高的 tps

  獨特的共識機制是怎么樣的呢?首先它是個需要許可的 PoS(Permissioned Proof of Stake)。現在在加拿大有超過 150 家被許可的商戶,只有這些商家可以在網絡上進行抵押及驗證并支付手續費,共識機制則通過在這些不同商家中的經濟激勵機制來達成。所以對于用戶而言,這些代幣只能在這些商家中使用,他們沒有拒絕接受代幣的理由。

  互操作性這塊就跟如何把 ERC 20 代幣轉移到以太坊主網上一樣簡單。而且因為這個是可信的案例,我們知道這些人都是誰,所以可以大幅度提高 tps。

  ? 在這個案例中我們需要做什么?

  我們有一套方案,雖然這些都不是必須的,有些東西是用不到的。我們用了 Parity 轉接橋來實現了互操作性,我們編寫了獨特的 PoS。

  ? 從這個案例中我們學到了什么?哪些東西是我們認為需要帶到波卡生態中的?

  我們需要更加模塊化的共識機制。我們需要讓不同的人選擇不同的方法來治理,我們無法教世界如何去管理自己,我們也不應該這么做,而是應該讓社區自己選擇。我們需要明白:很多人解決問題的方式的確可以解決當下的問題,但是未必能夠解決未來會產生的問題。

  一些本地化的區塊鏈是完全可以成功的。在加拿大就有這么一個一年內超過 150 家商鋪、30 萬用戶使用,銷售額過百萬美金的鏈。從用戶角度而言這是極其成功的。

  案例二:可互操作的證明網絡

  第二個案例是一個可以進行互操作的證明網絡。

  ? 客戶的需求是什么?

  首先他們需要通過操作碼來達成證明。同樣我們還是需 fork GETH (注:Geth 是 Go Ethereum 開源項目的,它是使用 Go 語言編寫且實現了 Ethereum 協議的客戶端軟件,也是目前用戶最多,使用最廣泛的客戶端),然后我們也需要在上面加一堆東西。同樣我們需要考慮實際使用的用戶,而無需考慮一個不存在的未來場景。我們也需要互操作性,除了以太坊以外,還需要跟其他很多不同的區塊鏈網絡來進行聯動。

  所以通過操作碼達成證明的機制是什么樣的呢?通過技術層面來說,其實就在 Geth 上增加操作碼,這個其實可以在基本層完成,只需要更新 solc、Solidity Remix 就能完成。(注:solc 是  Solidity 編寫的以太坊智能合約的編譯工具,Remix 是以太坊在線的 IDE,拿來寫智能合約的)。我們需要讓這些東西都能夠適配。

  其次它也需要獨特的共識機制。那共識機制是怎么樣的?首先我們研究了Authash。Authash 是一種 PoW 機制,可以通過白名單來選擇特定人來挖礦,可以理解為 PoS 的驗證人來挖礦。然后我們整合到 Geth 的過程中發現過程中有一堆編譯方面的技術難題,最后客戶覺得還是算了,選擇了單純的PoW。我們忙活了大半天,如果有更好的編譯工具的話其實這些都是比較容易做到,只是 Geth 沒有這個功能。

  第三點是多種網絡的互操作性。我們不僅需要交易 ERC 20 代幣,這些數據還需要能夠在不同網絡上進行交易,這樣大家才能在其他區塊鏈的落地場景里進行使用。區塊鏈本身沒有這個功能,而波卡通過其他不同的方式來實現這個功能。我們自己做了個轉接橋,非常厲害的轉接橋,至少我認為是很厲害的。但是這個轉接橋還是只是基于區塊鏈之上的一個軟件。

  ? 在這個案例中我們需要做什么?

  我們需要搭轉接橋,fork Geth,然后還寫了個我們最后沒怎么用的共識機制(Authash)。

  ? 在這個案例中我們學到了什么?

  我們需要更加模塊化的區塊鏈組件。從基礎設施方面而言,我們需要能從頭開始做起的區塊鏈,然后根據大家不同的想法去復刻它,去增加功能來解決他們自己的問題,而不是說以太坊是設計出來來解決這些問題的。

  混合模型是可行的。我們不需要去提前去理解這些個治理方法是怎么樣的,我們可以去進行試驗,可以有很多有創意的治理方式。

  我們所有這些被 fork 的代碼庫的合并請求最后都是通過 Remix 的 Ctrl S 來完成的。原本在 Remix 上通過 Ctrl S 只能保存頁面,后來我們的一個合伙人添加了一個組件可以通過 Ctrl S 來重新編譯智能合約。我們在過去一年在 Github 上面做的這些開源的東西都是,展現給世界的一切都是通過 Ctrl S 來完成的。這個案例我想說明的點在于,我們在過去一年內開發了整個項目但是到最后我們貢獻給整個開發社區的只有區區這個 Ctrl S 的功能,我們希望我們做的更多的東西能夠被大家使用。我們很想在波卡上面能夠用我們開發出的這些開源的東西能夠被大家演繹使用。

  互操作性的前提是可用性。這些技術不僅我們可以使用,整個生態都能夠使用它們,這樣我們作為開發人員才能致力于這樣的生態環境同時能夠吸引更多人來貢獻,吸引別的優秀開發者來成為我們這個生態的一部分,我們不希望我們開發的開源項目只能夠由我們自己來使用而別的開發沒法使用,這樣的開源是沒有意義的。

  我們怎么看待波卡

  對于波卡,我有幾個觀點不同于白皮書中所展現的內容,通過我這些經歷我想讓大家看清楚波卡是什么樣的,至少從我的角度來說希望大家是這么看波卡的。

  那首先,波卡是一個對異構多鏈框架的一個設想

  這是一個非常強有力的宣言,這跟以太坊 2.0 有非常大的區別。以太坊 2.0 是個同構的分片場景,這些分片是一模一樣的,可能在治理上會有點不同,但是從技術上來說是一模一樣的。波卡異構設想是:你作為一個開發或者創業者,你能夠建造一個非常不可思議的東西而不被幾年前的大家所決定的這些技術所限制,被這些技術所限制然后還參與到生態中是不合理的,整個生態會由于技術不足給大家帶來很多限制。

  以太坊作為平行鏈,大家其實可以把它看做波卡是以太坊擴展性的一個解決方案,這不僅是給以太坊增加擴展性,還同樣提供了互操性,我們現在有 Zcash 的平行鏈,有以太坊的平行鏈,通過跨鏈的消息傳輸,我們可以部署智能合約可以同時與 Zcash 、以太坊和比特幣一起聯動,這也是大家之前想做的事情之一。

  去信任化的比特幣轉接橋是怎么樣的呢?去信任化比特幣轉接橋其實通過簡單的雙向錨定就能實現。這個白皮書上都有,如果你們沒讀過,我強烈建議你們去讀一讀,這些內容也非常易懂。我們通過簡單的比特幣的多簽錢包來完成,通過證明和波卡的一部分相結合完成。這都是些非常令人興奮的技術,我們可以通過這些方案通過波卡來打通比特幣,以太坊, Zcash 等等其他的鏈。

  這些是白皮書上的一些答疑,我認為寫的非常酷。

  波卡是否被設計來代替其他鏈?答案是絕對否定的。波卡的目標是能夠讓不同的區塊鏈社區成為更大的生態系統的一部分,建立一個異構的世界,你不會被自己的專業知識所限制,拘泥于自己的生態,而是助力于整個區塊鏈生態,并讓整個生態所有人都能夠接觸到你的區塊鏈。

  那波卡的 DOT 是否被設計來代替其他加密貨幣?答案同樣也是否定的。DOT 無意也沒有被設計成作為貨幣使用,DOT 是需要被大家流通使用的,被用到像我之前描述的那些功能一樣。能夠和不同區塊鏈聯動是很重要的。我們也對此非常的興奮,我們原來所開發的這么多功能組件能被大家使用成為更大生態的一部分。

  如果作為貨幣,DOT 將會是非常糟糕的貨幣。原因在于大多數代幣都會抵押在系統中,流通性很差,而且代幣流通需要支付較高的手續費。波卡的代幣 DOT 主要目的還是在于直接代表在波卡網絡中的抵押。從現在開始,我們可以直接為客戶們還有合作伙伴開發很多平行鏈,而不用像以前一樣,糾結于為每個獨立的項目開發不同的鏈,然后再開發不同的組件把他們連起來。

  翻譯:Kobby(LongHash)

  編輯:KIKO

  查看更多波卡中國行干貨:

  W3F:波卡和 Web 3 生態

  Edgeware:Polkadot 智能合約平臺

  更多干貨會陸續在 PolkaWorld 獨家首發,敬請期待。

  關注 PolkaWorld 公眾號,回復 “2” 可以獲得波卡中國行上海站完整 PPT ??

  長按識別二維碼關注 PolkaWorld

  如果你覺得這篇文章還不錯,就點個 “好看” 吧!

版權信息
作者:波卡世界
來源:PolkaWorld

關于我們

聯系我們

作者進駐

手機版

Copyright © 2013 比特巴 www.qdwpjd.tw
始建于2013年,提供比特幣 區塊鏈及數字貨幣新聞、技術教程、測評、項目周報、人物等資訊
本頁面提供的是DOT新聞資訊,波卡(Polkadot)主要的目的是將各自獨立的區塊鏈連接起來,實現不同區塊鏈之間進行通信和數據的傳遞
六和网站曾道人