Asch(阿希幣)1.3 版本前瞻(上)

買賣虛擬貨幣

Asch是一個去中心化應用平臺,它提供的服務包括一個公有鏈和一套應用sdk,這個公有鏈我們稱之為主鏈,而使用這個應用sdk可以開發出一個擁有完整、獨立的區塊鏈的應用程式,並且這個應用程式可以與主鏈透過跨鏈協議互通資產。之所以採用這樣的架構,主要是為了解決兩個問題,一個是伸縮性,一個是耦合性。

我們先談談伸縮性問題。

我們都知道區塊鏈系統的交易吞吐量普遍不高,增加節點和副本並不會提升交易效能,反而會降低,因為區塊鏈系統中的每一個全功能節點都擁有全量的賬本資料。

做過分散式軟體的技術朋友都知道,一個分散式系統的效能主要體現在兩個方面,一個是讀的效能,一個是寫的效能,前者是透過replication即副本機制來提升,比如常見的主從備份,一主多備等。而寫效能主要是透過sharding,即分片機制來實現,不同的業務發給不同的節點來處理,每個節點就叫做一個shard,分片機制與副本機制也可以結合起來,一個shard背後有若干個副本,這樣每個shard就成了一個叢集,這是從高層架構的角度來解決讀寫效能的一般思路。所以,我們就可以理解為什麼區塊鏈系統做不到很高的交易吞吐量,也就是寫效能不高,因為目前主流的區塊鏈系統是一種全副本系統,沒有做業務分片,因此讀效能超高,寫效能卻超不過一臺單機。而區塊鏈的安全性很大一方面是因為擁有數量眾多的副本,普通的攻擊無從下手,攻破少量節點也無濟於事。

那麼,如何在保證高安全性的同時,提高吞吐量呢。

以太坊官方文件提出了一個三元悖論,即一個區塊鏈系統的分散性、伸縮性、安全性三者不可兼得,最多得其二。其中,分散性可以用這個系統得以執行所依賴的最少硬體資源來衡量,比如說,這個系統是否能夠在普通的個人電腦或廉價的vps上面執行,如果可以,那麼它就有可能做到足夠的分散性,因為其門檻低。反之,如果一個系統要求高階的伺服器才可以執行,那麼普通使用者就無法執行,這個系統的主要節點可能會被大廠商壟斷,這樣的系統分散性就低。伸縮性指的是,系統能夠處理的業務規模可以透過增加新節點的方式來提升。而安全性指的是系統的抵抗算力攻擊的能力(這裡主要是對於採用了POW演算法的系統而言)。
       我很贊同這個三元悖論的理念,其實任何軟體系統都需要在一些關鍵效能上做一些取捨,但我接下來會用另一種視角來分析這三個特性。

我們在三元概念的基礎上,再加一個概念,叫做效率性,其衡量的指標主要是指系統的吞吐量和儲存容量,並且提出一個二元悖論,即對於一個單獨的區塊鏈來說,分散性和效率性不可兼得。
然後說下結論:
      asch系統可以在保證安全性的同時,給使用者(dapp開發者)提供在分散性和效率性做選擇的權利,同時asch主鏈與dapp整體作為一個多鏈系統來看,是具備伸縮性的。其中,asch系統的安全性主要是指共識演算法的安全性,asch系統(不管是主鏈還是應用鏈)普遍採用了PBFT最佳化後DPoS演算法,關於這個演算法的安全性我會在別的文章去分析。
        Asch系統的效率性,是透過提高節點裝置要求來達到的。比如說一個高頻交易所,可以設定少量節點,要求每個節點都是一個高階伺服器,並且每個節點背後都有一個叢集來處理和儲存業務資料。
        Asch整體(主鏈與應用鏈)是一個多鏈系統,每個應用鏈彼此之間是獨立的,也是並行的,雖然每個獨立的鏈是不具備伸縮性,但可以透過增加新鏈的方式來實現伸縮性,同時也不會影響安全性,因為asch採用的共識演算法決定了系統不會因為增加鏈使得算力分散從而導致安全性問題。

最後,我認為一個區塊鏈系統需要足夠的分散化,但不是必須要超高的分散化(像比特幣那樣),很多無政府主義者對聯盟鏈嗤之以鼻,認為這種系統很難抵抗ddos攻擊和政府的干涉,但我並不認為抵抗ddos和政府幹涉是區塊鏈必不可少的特性。而且抗攻擊性可以透過傳統的網路防護措施來解決,不是必須要超高的分散化才能解決。後面那個問題,我暫時不談,我們開發asch的初衷也不在此。去掉這兩條特性,我們看看區塊鏈還剩下哪些優點,防篡改、公開透明、去中心、防止單點故障,關鍵性優點並沒有少。這也是聯盟鏈之所以會存在的原因。(Asch的定位仍然是公有鏈)

其實在1.0版本的時候,這套技術架構已具備雛形,只是一些細節不夠完善。比如,1.0版本主鏈只支援單幣種,能夠與dapp互通的也只有XAS,dapp雖然可以自定義新的資產,但是與主鏈無法互通,應用場景收到很大限制,1.2版本在主鏈增加了使用者發行資產的功能就是解決了這個問題。另外,1.3版本之前的跨鏈協議比較簡單,主鏈與應用鏈之間的資產互通是透過一個多重簽名的託管賬戶來實現,且此賬戶能夠設定的多籤使用者數量最多為16,並且無法更新。1.3版本解決了這個問題。還有一個非常重要的問題,就是dapp框架的複雜性,目前在1.0版本要實現一個dapp業務邏輯,需要在一個框架內填寫很多冗餘的程式碼,甚至還包括底層的資料庫處理,這對於開發者來說是非常不友好的,1.3版本會解決這個問題。
最後一個問題,是dapp的效能,我們實現了一個叫做smartdb的工具,它封裝了對快取和資料庫的訪問,支援不同粒度的自動回滾機制,開發者只需要關心需要增加或修改哪些資料,而不需要關心這些資料是在記憶體還是磁碟以及對資料的操作是否成功,在smartdb的支援下,dapp可以做到高效能的同時,又保持程式碼的簡潔性(其開發難度接近於以太坊的solidity,遠遠低於lisk)

這篇文章會分為上下兩個部分,上篇粗略介紹了一些背景知識和1.3更新的主要內容,下篇會從程式碼層面分析是如何實現的。
1.3版本的開發已經接近尾聲,目前在進行測試和補全文件,大約需要一週左右時間,會先發布到testnet,試執行1-2月後正式釋出到主鏈。


免責宣告:文章僅為傳遞訊息之用,不代表幣視界觀點,不構任何投資建議,炒幣有風險,投資需謹慎!!!

------------------------------------------------------------------------------------------------

Asch在模式上類似以太坊,其設計初衷是為了降低開發者的門檻,比如使用javascript作為應用程式語言,支援關聯式資料庫來儲存交易資料,使得開發一個dapp與傳統的web應用非常相似,相信這對開發者和中小型企業有很大的吸引力,只有開發者的生產力提高了,整個平臺的生態才能夠更迅速的繁榮起來。Asch在設計上也是開放的,並沒有侷限於某個細分領域,比如金融、檔案儲存、版權證明等,其提供的api都是較底層和抽象的,它們可以被自由組合實現各種不同的應用。在共識機制方面,Asch繼承並增強了DPOS演算法,大大降低了分叉機率和雙重支付風險。另外,Asch的側鏈即應用模式不但延緩了區塊鏈膨脹問題,還使得dapp更加的靈活和個性化。Asch是一個具有前瞻性的、低成本的一站式應用解決方案,相信將成為新一代去中心化應用的孵化器。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;