「點金課堂04」區塊鏈產業能否成為開發者的天堂

「點金課堂04」區塊鏈產業能否成為開發者的天堂

MAI點金課堂

第四課

區塊鏈產業能否成為開發者的天堂

第一部分 區塊鏈產業

區塊鏈可以把它理解為一個去中心化的一個數據庫,這是最直接的一種解釋。而且存儲在這個數據庫中的數據穩定性非常的強,不容易被篡改,而且安全度非常的高,因為咱們存儲的時候是進行過加密的。從比特幣網絡的存儲的過程中,咱們就會看出來這個安全性和可靠性可見一斑。比特幣從09年1月3號誕生,到現在的話大概有八九年的時間,基本上運行非常的平穩,沒有出現過丟數據或者特別大的一些問題,除了中間有一次硬分叉帶來一些小的影響,整體還是運行的比較平穩。

分佈式存儲數據

分佈式這個概念其實也並不是最近才提出來,其實我們很久以前就一直在用分佈式。那麼一些大型的網站的數據庫服務器,基本上都是分佈式部署的。之前我在百度的時候呢,我們使用的數據存儲他也是分佈式部署的。主要的做法就是一主兩備,就是一臺主要用於存儲,其他兩臺就作為備份。如果一臺服務器出問題,兩臺備份的就會把主服務器的數據做一個同步,這樣的話可以保證數據一致。

數據分片技術解決TPS問題

在中心化的應用上咱們是怎麼樣解決這個併發的問題,其實是通過集群來進行解決的。

什麼是集群,集群的概念就是由多臺服務器構成了一個整體的網絡來處理併發。這樣的話就是說我有多個窗口同時處理所有用戶的請求,這樣的話每條網絡上分得的流量並沒有那麼多,他的吞吐量並沒有那麼多,那麼整體的吞吐量就可以維持到一個很高的一個水平。

像支付寶,支付寶是咱們用支付用的最多的一個工具,支付寶的併發量可以做到三十萬比每秒。就是說正常一個大型的一個平臺,他的TPS必須是做到了幾十萬次才能夠正常解決咱們日常的一個使用。

咱們去中心化應用的話顯然是並沒有達到這樣的一個高度,咱們知道以太坊,EOS,還有比特幣,那麼它的TPS其實並不高,那麼這樣的話就是說根本是沒有辦法解決咱們的日常使用的。EOS目前他的TPS基本上達到了接近每秒4000次。算下就是一天大概能夠處理4億筆交易。前段時間的EOS還剛爆出一次網絡擁堵的事件,從這兒我們可以得出一個結論,就是四千的TPS他其實遠遠達不到咱們日常的一個正常的使用。

我們MAI研究院的通過做了無數次的壓力測試,我們得出了一個什麼樣的結論呢?

像EOS這樣減少節點,或者就是說像比特幣增加單個區塊的存儲。這種方式只能夠暫時的加大些TPS,但是他不能從根本上解決併發的問題。

我們MAI研究院是如何解決這個辦法呢?就是說我們必須突破這種單通道處理數據的問題。

這個地方我們就得提到MAI公鏈所使用的一個技術,那就是數據庫分片技術。

那麼什麼叫分片技術呢?我在這個地方給大家做一個詳細的解答。應用在咱們去中心化的網絡裡面就說。使用分配技術啊,可以把整個區塊鏈網絡切分成若干個小組。每個小組的就單獨對自己的內部的節點做一個管理。每個小組,咱們稱它為一個碎片,這樣就相當於有若干個獨立的區塊鏈,同時在運行。因為這些碎片可以同時處理交易,相當於把原有單一處理模式,變更為一種分開並行的處理模式。這樣的話隨著節點的增多,可以處理的併發會越來越高。

舉一個例子來說明這樣一個道理,假如說現在有一家超市,這家超市有一個收銀臺,其實也就是現在的EOS和比特幣他們的那種處理方式,無論如何想辦法始終都會遇到一個瓶頸,因為這個交易都是一筆一筆的在處理,一筆一筆的在同步。處理同步這一筆交易後才會去同步下一筆。這樣的話,他處理的速度始終會有一個瓶頸。

如果說咱們打破這種常規,就是說我們來設置多個收銀臺,也就是我們的分片技術。是多個收銀臺,讓這些收銀臺同時工作同時來處理交易。這樣的帶來的一個結果,就是說我們的。交易的交易處理的併發將會成倍的增大。隨著我們MAI的公鏈以後的節點的越來越多,我們分組的碎片也會越來越多,這樣的話,我們的TPS是可以隨著公鏈的發展而發展的,而不是停滯在一個瓶頸的階段。這樣一來的話就是說TPS將不再是MAI的阻礙,MAI可以同時運行更多的DAPP,這樣的話,我們的公鏈其實是一個完全可以落地的一個項目。

第二部分 開發者

咱們關於區塊鏈的就簡單說這麼多,接下來咱們再從技術的角度來分析一下,我們開發者應該怎麼樣積極的參與到公鏈或者去中心化應用的一些開發上。對開發者而言,就是說咱們可以從事的第一個,可以積極的參與公網的開發與維護,另外一個,咱們可以去多開發一些DAPP出來。

比特幣是用C++語言來開發的,以太坊前期用c++語言來開發的,後期它更換成了GO語言。還有一個項目就是Fabric 超級賬本,他也是用GO語言的開發的。

其實區塊鏈它是一種編程思想,就是用任何一種編程語言基本上都可以實現,比如說c++也好,JAVA也好,Solididy也好 python也好GO語言也好,他都可以進行一個區塊鏈的開發,那麼。咱們應該選一種什麼樣的語言作為主要的開發語言呢?這個我們MAI研究院也是進行了一個對比分析,最後得出了一個結論,就是使用go語言作為我們MAI公鏈的主要開發語言。

為什麼要使用GO語言,咱們通過一些對比來說一下。

GO語言,由Unix之父肯.湯普森牽頭開發的,而肯.湯普森在電腦工業史上具有極高的地位,在2007年9月的時候才正式命名為GO語言,2012年3月然後發佈的第一個正式版本。那麼GO語言是一門比較新的語言,轉眼五六年的時間。已經成為了2016年年度的編程語言最佳的編程語言,那麼在2018年5月的TIOBE語言排行榜上的他已經排到了第九位。

就是說大家對這個GO語言普遍還是比較看好和比較認同的。而且GO語言它還有一定的特性,他呢主要是用來解決分佈式的計算,它是雲計算領域的新興語言。而區塊鏈是一個典型的分佈式數據存儲系統,使用GO語言是一個絕配,這是行業裡大家都認可的。

GO語言優勢,就是說它這門語言在編譯和運行的速度上面,在眾多的編程語言中是遙遙領先的,而且它裡面提供了非常豐富的標準庫,讓學習成本低於java。

從最新的boss直聘統計來看,從事去中心化相關開發的技術的薪資,要比從事中心化開發的技術的薪資大概要高個百分之三十到四十。這個給我們帶來一個什麼樣的一個觀點呢?

中性化的應用在未來的十年之內已經趨向於飽和階段,如果再去參與或者從事這些行業的開發,其實他是前景不是很明朗。如果是從事去中心化的一些開發,其實我覺得:因為物以稀為貴。現在畢竟這方面的技術還是比較少,我覺得這方面應該是有很大的一個機會的。

2018年被業內公認為是公鏈的元年,2019年被稱為DAPP的一個元年。過去十年裡,中心化應用一直是獨霸天下。未來的十年,去中心化應用會不會成為行業的領導者呢?會不會引領下一個互聯網下一個十年的發展呢?讓我們拭目以待。

今天我的分享就基本上結束了,感謝大家的收聽。大家在聽的過程中,如果說有遇到什麼問題的話,可以及時的提出來啊,咱們一起探討一下。

互動環節

1、對開發者來說,他所開發的dapp中產生的數據會不會與其他的dapp的數據混合?

這個應該是不會的,因為每一個DAPP呢,他都會有一個單獨的API去存儲數據,那麼存儲數據一旦上了公鏈呢,他這個不屬於任何一個DAPP的。而且就是說這些存儲上的數據呢,都是屬於用戶的,每一個DAPP他都沒有權利去讀取所有的數據,而如果要讀取數據的話必須經過用戶的同意才可以。

2、當我開發的dapp產生的數據量過大的情況下會不會像EOS一樣收費?

就是我們的DAPP產生的數據呢,這個如果說存儲到MAI的公網上的這個我們是不會進行收費的。

3、如果數據量太大,會不會像之前btc 產生分叉,因為單個區塊的容量?

這個產生分叉是不會的,因為咱們的區塊呢,MAI的區塊是一個動態平衡狀態,我們做了很多的工作呢,就是針對於分叉兒專門做了很多的預防。

4、你們採用的智能合約是什麼語言寫的

我們MAI的智能合約的目前採用的是Solididy和java語言,作為我們智能合約的主要開發語言。這是為什麼呢?因為我們主要是從一個主流的一個角度去考慮,以太坊的智能合約使用的是Solididy語言進行開發的。JAVA作為一種面向對象的語言來說,現在已經非常主流了,從事這一塊的開發者眾多。在TIOBE語言排行榜裡面基本上是前三甲(Java C++ GO)。所以這個Java的學習成本應該是比較低的,所以說,我們選擇他作為MAI的智能合約的開發語言。

5、區塊會不會自己去選擇記錄的數據?還有就是分片如何在側鏈和主鏈切換呢?

區塊的記錄數據的時候呢,他不會選擇性的去記錄問題,應該會記記錄所有的數據啊,所有的交易。

針對另外一個問題就是主鏈和側鏈,它怎麼來調換分片的問題。它是這樣的,就是主鏈我們都會有一個回調,都會有一個回調ID去回調到側鏈的分片上,通過回調ID我們就可以找到這個側鏈,然後就去對裡面的數據進行一個交互。

6、分片的加密方式用的哪種加密?分片組合時所採用的組合方式是哪類呢?

我們的分片的加密方式呢,是採用多種混合式的加密方式。

7、那如果產生了更好的開發語言那怎麼辦?

如果有更好的開發智能合約的語言,我們肯定會做一個平衡的兼容。

8、如果我轉型開發DAPP,MAI創智具體有什麼激勵機制能夠吸引開發者?MAI未來會不會孵化DAPP開發小團隊以鼓勵眾多APP開發者轉型。

我們MAI使用的PAI共識機制,在這種機制下,我們會更多的去站在開發者的角度去做些激勵機制。如果說這個DAPP,在我們多維度的頻率下,他是優秀的。這個時候,PAI會把更多的記賬權交到他的手裡,這樣的話,他可以得到更多的獎勵。

MAI 肯定會盡最大的能力去孵化DAPP的開發者。而且我們的針對開發者也會去開發一些SDK,還提供給他們使用,讓他們更輕鬆更簡單的介入我們的公鏈。

9、昨天BCH分叉的事件很火,想問一下MAI以後也會分叉嗎?有沒有什麼防止分叉的備案?

MAI會採取多種維度的保護措施去防止發生分叉。


分享到:


相關文章: