Genesis Space(理想國)一個基於區塊鏈的虛擬世界

買賣虛擬貨幣
Genesis是一個DAO自治的高效能區塊鏈網路。本文主要介紹Genesis的治理機制和公鏈的基礎技術。專案的特點1. 共識協議:DDPOS。高TPS,兼顧精英治理與大眾普選,避免成為少數人的專政。2. 完善的系統升級機制:區塊鏈系統的每次升級即是一次硬分叉。由於各種原因,部分使用者選擇不更新客戶端,因此和升級後的客戶端失去共識,造成系統價值的損失。Genesis將投票功能built in客戶端,系統升級在系統中多數人達成共識後自動進行,保證了系統升級的時候的價值得以延續。3. DApp Store(1.0版):傳統的區塊鏈主鏈像windows一樣,開發者開發的DApp散落無組織。 Genesis中有一個DApp store作為面對普通使用者的入口,開發者和使用者都必須遵守一定的規則和監管。作為一個去中心的自制社羣,這個監管由社羣自行投票擬定。最初的原始規則採用類似reddit的排名機制(基於使用者投票排名)。4. 自帶儲存側鏈:目前市面上的公鏈大都不具備儲存能力。Storj和siacoin之類 雖然允許開發者儲存資料,但是這些鏈設計複雜,更適合於專業的去中心儲存場景。Genesis儲存側鏈自帶資料儲存的經濟體系,開發者可以直接呼叫來開發需要儲存大量資料的應用。
5. 開發進度30%:基於Rust開發,系統程式設計、安全、併發、高效。Framework鏈計劃於2018年9月測試,主網testnet計劃於2018年12月上線。

6. 和其他主鏈專案的對比:Genesis作為一條公鏈,透過側鏈實現擴充套件,和現有的公鏈的對比如下:

專案的目標

我們希望最終Genesis要打造的不僅僅是一個區塊鏈基礎鏈,更是John Barlow 夢想中的,能實現DAO治理的理想國,一個全新的,完全獨立自治的,不受任何中心化權威控制的網際網路虛擬世界,一個未來將顛覆所有現有社交網路和網際網路生產關係的網際網路空間。


Genesis系統介紹

出發點

使用者為社交平臺貢獻了大量的內容,成就了臉書等社交平臺的巨大成功。然而,使用者提交的內容所產生的收益大部分被這些平臺拿走,並沒有分享給這些使用者。實際上,使用者只有這些社交平臺的使用權,沒有所有權。Genesis用區塊鏈技術打造一個去中心的社羣。社羣所有內容由全體使用者擁有,社羣的規則也由使用者自己制定。社羣依託於一條高效能的公鏈,使用者可以透過在其上釋出的各種去中應用來實現各種功能和場景。

治理機制


Genesis用區塊鏈技術打造一個去中心的社羣。社羣所有內容由全體使用者擁有,社羣的規則也由使用者自己制定。Genesis的核心治理原則為“自治”, 使用者參與自治最重要的工具是“投票”。

Genesis裡有下面這些核心物件:


1. 人

Genesis系統裡的第一要素是人,也就是使用者。Genesis由共享同一使用者系統的一條主鏈和多條側鏈組成。Genesis中的使用者可分為普通使用者、地主和元老三種。其中地主負責維護一個雲盤,而元老負責維護整個區塊鏈系統。

Genesis的使用者具有如下特點:
● 使用者名稱無需註冊,生成私鑰/公鑰即可以使用。
● 出生紙:使用者啟用時,設定一個僅自己知道的字串,用於被質疑時驗證身份。
● 投票權:每個使用者都有投票權利,用於對各種事件作出選擇。

Genesis的使用者在系統裡有不同角色,例如:
● 元老 Block Producer:元老負責對全網資料進行共識維護。
● 地主 Landholder:地主負責以Merkle Tree的形式維護一個雲盤。
● 普通使用者 Users:普通使用者可以從市場購買應用並且參與投票等。

2. 貨幣

Genesis系統流通的貨幣叫Gencoin或者創世幣。創世幣是驅動Genesis生態系統的動力。

獲得創世幣渠道:

● 普通使用者:
○ 保持線上狀態會有機會獲得創世幣
○ 使用者的事件記錄被應用端程式呼叫時會獲得創世幣
○ 參與投票等活動會獲得發起投票的人所附上的獎勵
○ 創造出有用的內容
○ 建立應用程式併發布在應用商店上
● 地主:維護雲盤獲得創世幣
● 元老:維護區塊鏈共識機制等獲得創世幣

消耗創世幣的渠道:

● 應用端程式每次獲得使用者授權需要消耗創世幣
● 普通使用者:
○ 發起投票等活動可能會消耗創世幣
○ 使用應用程式或購買應用程式內的功能

類似EOS的模式,基本上任何需要消耗計算力的事件都需要用創世幣做抵押,這樣可以有效防止Ddos攻擊。 以下是Genesis創世幣的經濟關係圖:



3. 市場

市場(Genesis Market/DApp store)是DApp的交易場所,也叫應用商店。在這裡,普通使用者可以找到所有在Genesis生態圈裡的應用。使用者透過對這些應用的下載和使用來實現其在Genesis虛擬世界的各項生活需求。對於開發者來說,這裡是他們釋出應用並獲取收入的場所。


4. 憲法

Genesis允許使用者簽訂共同希望遵守的協議,即憲法(如果是少數使用者直接的協議,則叫法律)。憲法是系統的最高規則,所有使用者和活動必須遵守憲法。憲法由大法官來負責發起投票動議,並且由全體使用者投票的方式來更新。

5. 投票

透過投票來參與到管理是Genesis的核心治理原則。使用者的投票權作為核心機制寫在區塊鏈裡。系統執行之後,演算法成為基本邏輯的堅定執行者,任何一種全域性性改變都需要群體透過投票的來決定。投票的機制是Genesis演化和使用者自治的核心手段。區塊鏈中記錄的不可篡改的特點讓Genesis裡的投票具有絕對的公信力,因此集體透過投票達到的系統進化即可以代表大多數使用者的意願。

Genesis主要透過使用者投票的機制完成對自身協議的更新, 實現進化。對於程式無法處理的邏輯,Genesis透過人工投票來完成決策。例如軟體出現bug,必須更新的情況,即可由系統裡的任何一個人提出動議,並且附上更新後的版本以及願意為該動議支付的貨幣,其它人用投票方式表決是否接受新版本。Genesis中投票應用廣泛,還可以用於仲裁使用者之間的糾紛等場合。


Genesis的區塊鏈技術

Genesis的共識機制

Genesis專案在發展過程中,設計過兩種共識機制。第一種是將POW的算力用於資料模型訓練的POC(Proof of Comprehension)共識。第二種是民主代理人權益證明 DDPOS(Democratic Delagated Proof of Stake)共識。兩種機制都為Genesis團隊原創並申請專利。POC作為Genesis共識的最初版本,將被做成一個DApp放在側鏈。目前Genesis採用第二種共識機制,即DDPOS。

1.0版:POC(Proof of Comprehension)

POC(Proof of Comprehension)是一種基於POW的改良。傳統區塊鏈工作量證明POW是一個複雜的加密機制, 當礦工節點試圖去製造一個區塊時, 會將若干筆交易透過hash演算法進行加密,來形成一個符合協議的字串。這個加密的過程會消耗幾乎100%的cpu運算量以及時間,加密出來的字串被稱為解。傳統POW機制產生的解是無意義的,其好壞只由反映出區塊鏈的健壯性的特定序列的長度來決定。

眾所周知基於深度學習的人工智慧演算法近些年在包括語音識別,影象識別等領域都取得了突破性進展。而訓練深度學習模型需要消耗大量的算力,可以說算力的堆積對於深度學習模型的效果有著決定性的作用。由於GPU等高效能運算裝置價格昂貴且在市場上經常供不應求,而算力的缺乏成為了學術界和工業界搭建更優秀深度學習系統的瓶頸之一。

Genesis將區塊鏈加密所必須的工作量證明和深度學習進行了有機結合。不同於傳統的POW方法僅僅依賴於算力的多少來進行工作量證明,我們透過驗證礦工使用算力訓練所得到的深度模型的有效性來判斷其工作量,這也就是所謂的POC(Proof of Comprehension)。鑑於之前我們提到的模型有效性與算力之間的正比關係,因此礦工所訓練深度模型的有效性可以作為其工作量的證明,同時,挖礦的過程最終將締造出強大的人工智慧系統,使整個求解的過程具有實際意義,解決了傳統POW算力浪費的問題並且為Genesis提供了一個極其廣闊的應用空間。

Genesis的Proof of Comprehension 本質上是一個具有自動學習和理解能力的人工智慧機制。POC在不斷的資料訓練中會變得更強大和聰明,讓Genesis的共識過程更高速,單位時間內處理更多交易。不同於大多數區塊鏈專案,Genesis單位時間處理交易的次數tps是隨著系統的進化動態增加的一個指標,隨著使用人數和處理資料越多,系統tps反而會越大。

另外一方面,隨著Genesis訓練的資料越多,Genesis將有能力理解更多人類邏輯,從而未來系統有可能進入到其它需要大量運算力的領域,前景非常廣闊。需要強調的是,Genesis 的POC共識機制僅僅會放在側鏈上作為一個DApp執行。

Genesis的POC機制是Genesis團隊原創,已經申請專利。POC的詳細實現流程如下:


資料獲取和模型輸出

資料透過DApp store裡的DApps輸入Genesis。第三方的應用程式開發團隊可以在Genesis現有的基礎上進行DApps的開發,並透過這些DApps提供個人或者實體上傳資料的渠道。同時資料提供者也透過DApps獲得補償。

資料進來Genesis後,將會被存在一個分散式的檔案儲存系統。Genesis中,每一個farmer都是一個資料資源的維護者,而所有的farmer的叢集可以看作是一個由所有farmer共同維護的可實時擴充的分散式檔案儲存系統。

資料經過POC訓練後,透過DApp輸出結果。

資料儲存
資料在Genesis中被儲存在一個虛擬資料中心當中供下一步POC使用。

1. 虛擬資料中心

Genesis系統中用於儲存資料的節點被稱為儲存節點,儲存節點和普通節點使用一樣的地址空間。資料集將以碎片的形式複製並分散到不同的儲存節點上。 儲存節點的叢集被稱為虛擬資料中心。每當使用者提交transaction時, 該使用者將會和虛擬資料中心的若干節點簽訂儲存合約來租賃資料中心的儲存空間。該技術將確保Genesis的可擴容性和資料一致性。

2. 默克爾樹


默克爾樹常用於不可信源資料驗證。 默克爾樹有如下特徵:

● 默克爾樹的葉子節點上的值為等長資料塊。
● 非葉子節點的value是根據它下面所有的葉子節點值,然後按照一定的HASH演算法計算而得出的。如果非葉子節點的子節點也同為非葉子節點,該非葉子節點的值由其子節點的值組合後HASH加密後得到。
● 使用者會以默克爾樹的一個分支路徑進行資料同步。這個路徑被稱為驗證路徑。 每一個驗證路徑會被默克爾樹根驗證。

Genesis使用二叉默克爾樹進行資料儲存。假設資料塊的數量為N, 那麼根據二叉樹的特性可知一個默克爾樹的生成複雜度為O(2-N)。

3. 資料儲存方式

Genesis的資料以默克爾樹的形式存於不同的儲存節點中。處於啟用狀態的儲存節點在p2p網路中廣播自己的IP,使用者收到廣播後會將可信度高的儲存節點置於節點佇列中並構建虛擬資料中心。之後使用者將自己的默克爾樹同步到虛擬資料中心並在資料同步校驗成功後和虛擬資料中心簽訂儲存合約。

4. 儲存合約的制定與釋出


儲存合約是儲存空間租賃者和儲存節點之間達成的協議。 協議內容以指令碼的形式存在於合約的payload中, 協議內容包含簽訂者雙方應當履行的義務。合約在釋出前會要求合約附上資料提供者與資料中心的數字簽名組。 一旦合約簽訂釋出,合約將不能被修改。合約內容包含:

● 合約hash頭
● 合約建立時當前區塊鏈高度
● 租賃週期(以區塊高度計算)
● 驗證資料有效性的默克爾樹根
● 數字簽名組(包含資料提供者和虛擬資料中心的數字簽名)
● 儲存節點的外網IP組
● 雙重鎖定指令碼(資料上傳者會將一個週期內的獎勵透過虛擬資料中心的公鑰組合特殊驗證路徑進行雙重鎖定, 需要礦工使用特殊驗證路徑以及儲存節點使用私鑰進行解鎖)
● 儲存合約將以transaction的形式釋出到儲存區塊鏈上。

5. 儲存鏈與儲存合約的執行

負責維護儲存合約的側鏈名為儲存鏈。儲存鏈由礦工負責維護。礦工在建立新儲存鏈塊的時候會將當前有效週期內的部分儲存合約指向的資料進行下載驗證,當資料被儲存合約上的資料可信根驗證透過,礦工會將一個帶有特定資料驗證路徑的交易釋出到主鏈上,該交易會複製儲存合約中雙重鎖定指令碼並進行一次解鎖,上述過程被稱為合約履行。使用者客戶端會監聽區塊鏈上的交易並收到合約履行成功的事件。儲存合約在有效週期過後會從儲存側鏈上移除。在合約週期快結束時,使用者可以選擇是否向資料中心進行續租。

6. RS碼糾錯

由於網路抖動或者資料損壞等原因,虛擬資料中心的節點會提供錯誤資料。Genesis採用RS編碼來進行資料糾錯。 RS編碼是一種簡單實用的代數編碼模式,該技術廣泛用於資料傳輸中並有著較強的抗干擾能力。

POC實現

Genesis的POC機制採用基於深度神經網路模型的最佳化和驗證邏輯,下面詳細描述其實現。

1. 深度神經網路

基於深度神經網路(Deep Neural Network)的深度學習已經被證明在包括影象識別,自然語言處理在內的人工智慧應用中極其有效。神經網路模型採用類似大腦神經突觸聯接的結構進行資訊處理,主要用於監督式學習領域。透過處理給定的帶有標籤的資料,抽象資料的分佈特徵,從而學習出從資料特徵到標籤的對映,使訓練出的模型具有資料分類(classification),迴歸(regression)等功能。增加神經網路的層數後,即可透過組合低層特徵形成更為抽象的高層標書屬性類別或特徵,可更好地刻畫資料的分佈。

例如在圖1展示的深度神經網路,透過對將資料輸入模型的輸入層(input layer),經過多層隱含層(hidden layers)的特徵提取及抽象,在輸出層(output layer)生成資料的標籤。其中,層與層之間的聯絡往往是線性變換,而每一次的神經元則對應了一個非線性變換。深度神經網路可以用於解決不同的實際問題。舉例而言,當使用神經網路進行人臉識別時,將圖片透過輸入層,經過隱含層的特徵提取及抽象,判斷該圖片是否包含人臉(例如,當輸出層輸出1則有人臉,輸出0為無人臉)。


神經網路的架構有很多種,卷積神經網路(Convolutional Neural Network)通常用於影象識別。遞迴神經網路(Recurrent Neural Network)以及衍生出來的長短期記憶網路(LongShort Term Memory)則更多的應用於自然語言處理。生成對抗網路(GAN)則是一類在無監督學習中使用的神經網路,在圖片,影片,自然語言和音樂的生成方面有著廣泛應用。

2. 深度神經網路的引數最佳化

在使用深度神經網路時,除了設計網路結構(網路的層數及每層的結構)一個重要的問題是如何透過給定的訓練集(資料及對應的標籤)對模型進行訓練,以決定其每一層的引數。具體而言,這個問題可以定義為,給定資料集D = {X,Y},其中X={X_1,...X_N}為輸入資料,且每一個樣本向量xk為一個d維的向量,Y={y1,…,yN}為對應樣本的標籤。而我們最佳化的目的就是找到一個由X到Y的對映F(X),這樣給定一個樣本向量,我們可以確定它的標籤。為了達成這個目標,一般的做法是確定一個損失函式L(F(X),Y),使得對映F(X)相對於Y的損失值最優。常見的損失函式包括squared loss,cross-entropy等。


其中n是預先設定的學習率。在實際的訓練過程中,通常會在開始訓練的時候選取一個稍微大一點的學習率(比如0.1),加速訓練的過程,在訓練的過程中慢慢的調小學習率,以求達到精確的結果。由於深度神經網路模型所需最佳化的引數數量很多,即使使用了不同的正則化方法(如使用卷積神經網路,或使用Dropout技術)稀疏所需最佳化的引數,想要訓練如此巨大的模型仍舊需要大量資料,那麼計算梯度往往會導致運算速度過慢。一個標準化的處理方法是使用隨機梯度下降(stochastic gradient descent)的方法。具體而言,就是每次計算梯度以更新引數時,都隨機從原訓練資料集中抽取部分資料計算梯度並進行引數更新,在有限次迭代更新中同樣可以取得穩定的表現。

3. 驗證深度神經網路的表現

在實際的使用中,我們需要在訓練好模型後判斷神經網路的表現是否足夠優秀。在訓練模型時,我們已經使用了大量資料進行引數最佳化,由於在訓練樣本的過程中已經包含了訓練時使用資料的資訊,那麼在測試模型是否真正有效時,我們需要預留一部分用於交叉驗證的測試資料,並只是用訓練資料進行模型訓練,以規避模型訓練中常見的過擬合資訊。如圖2所示,一個在訓練集中表現優秀的模型可能對於新資料表現不夠穩定。而只有當測試資料在訓練好的模型中表現優秀,我們才可以信任訓練好的深度學習模型。


4. 模型訓練與工作量證明

Genesis的POC共識機制是基於深度神經網路模型的最佳化及驗證邏輯,透過模型的有效性來驗證miner的工作量證明。同時,POC中深度學習模型的訓練是和側鏈技術緊密結合的,其中每個模型訓練任務都是互相獨立並由一條側鏈單獨完成。


2.0版:DDPOS(Democratic Delegated Proof of Stake)

傳統共識機制的弊端

目前市面上有各種各樣的共識機制,應用比較廣泛的有POW(Proof of Work)、POS(Proof of Stake)和DPOS(Delegated Proof of Stake)。這些共識機制在實際應用中,逐漸暴露出來一些問題。

POW強調“全民參與”,任何節點都可以成為礦工去挖礦,維護整個系統。然而實際應用中,特殊礦機的出現讓普通人幾乎不可能挖到礦,更糟糕的是,礦場和礦池的出現讓系統的挖礦算力變得越來越集中,系統越來越中心化。

POS採用透過計算節點持有幣數佔總幣數的百分比,包括節點佔有幣數的時間來決定一個節點獲得本次記賬權利的概率,這導致窮人參與到系統維護的機率渺茫,可以說POS是一種”富人遊戲“。

DPOS是 POS 的進化方案。DPOS中,系統首先選出delegates,然後由這些超級節點來負責維護整個系統。這些超級節點被賦予了對系統維護的至高權力,同時他們也因為提供維護系統的服務進而獲得更多系統的stake,和POS一樣,這會導致富人更富,系統越來越中心化的問題。

DDPOS簡介

Genesis團隊經過長時間的研究後,提出一種全新的共識機制DDPOS(DemocraticDelegated Proof Of Stake)。DDPOS可以完美的保留DPOS的高速tps的特性,同時又可以有效的解決DPOS的“富人更富”的問題。

以下詳細描述DDPOS的概念與邏輯。

元老院:元老院由21個超級節點組成,這些節點有維護區塊的絕對權利,包括打包,回滾,刪除賬號等。

元老選舉:元老的選舉指元老院的超級節點透過某種機制將其中全部或者部分成員換成新的節點的過程。所有元老都可以從普通節點中直接選舉產生。每次選舉根據之前的表現更換排名最靠後的3位元老。

選舉期:系統正常執行一定階段後,會自動進入的一個進行元老院中元老的選舉和置換的過程,稱為選舉期。 並且,在上一個選舉期之後系統內發生的任何投票動議(系統升級,回滾,刪除賬號等所有投票動議)都會在這個選舉期中彙總,並決定是否執行。

第一次全民公選:第一次元老會成員的選舉透過全民公投來進行。採用某種投票的辦法,系統的開發者發起第一次全民公投,由所有節點參與投票後選出21個元老。

DDPOS的選舉過程:
(1)元老院的第一期成員由全網公投選舉產生。
(2)維持迴圈,並且按一定週期自動調整元老會。

執政期:系統正常執行的時期,由若干個迴圈週期組成,其中每21個塊週期為一個迴圈週期(Round),元老院每產出一個塊為一個塊週期(slot);在執政期內,所有的區塊由元老院的全部元老依次生成,每個元老生成一個塊。

選舉期:當一輪執政期完成後,系統會迎來為期若干個迴圈週期(Round)的選舉期。值得一提的是,在DDPOS中,每個元老會成員會在打包時以自己的區塊頭生成一個Hash謎題釋出到區塊中,謎題型別與POW中的Hash碰撞謎題相似。選舉期開始時,當前最高區塊的有效謎題會被推舉為選舉謎題。全網任何節點都可以提交對謎題的解,每次提交需要支付一定的token作為費用;選舉期結束後,剩餘的18名元老會透過謎題答案來推選出3名新的元老會成員。 因為每一個區塊的區塊頭都必須由前一個區塊的區塊頭組成,我們不用擔心最高區塊的打包者會以此作弊。透過對每一個節點有效提交次數的限制,我們可以在確保不對選舉期的整個網路造成擁堵同時儘可能地篩選出優質的競選者。

獎勵週期:根據區塊鏈高度,設定里程碑時間(Milestone),在某個時間點調整區塊獎勵。

(3)迴圈產生新區塊,廣播

DDPOS的創新之處

DDPOS中更換元老的方式透過在選舉期的算力比拼,讓那些有較強算力的普通節點也有機會成為元老會成員,進而參與到系統的治理過程中,避免了整個系統被小部分節點壟斷的風險。同時,透過嚴格的懲罰機制和末位輪換制度,即使進入了元老會的超級節點也需要提供高效的出塊率來保障自己的長期收益,整個系統因此更公平高效。

Genesis的DDPOS機制也是Genesis團隊原創,已經申請專利。DDPOS的詳細技術原理請見Genesis的專利申請。

Genesis的升級機制

在一箇中心化的軟體系統裡,系統的升級一般透過伺服器來完成。當有新的軟體版本時,伺服器推送訊息給使用者,提醒使用者去官網下載或者如果更新包比較小的話,直接將新版本推送到使用者客戶端,使用者安裝新的版本後,更新過程完成。

在一個去中心的分散式系統中,節點與節點透過共識機制形成聯絡,整個系統沒有伺服器的概念,因此一旦系統客戶端有了新版本,是否升級取決於每個節點:

1. 是否得知這個新版本的訊息。
2. 是否願意自己去下載這個新版本並且進行升級。

這個情況導致系統的更新並不像中心化系統那樣有效率,新舊客戶端混合在一起。如果這個版本更新是一次硬分叉的話,會導致舊版的客戶端和新版客戶端實際執行在兩個不同的共識機制下,整個系統也一分為二,這個對一個分散式系統來說,是一種嚴重價值的損害。

Genesis系統的升級採用發起特殊投票的方式,這個機制的目標是讓儘可能多的節點在同一時間完成升級。分為以下幾個步驟:

1. 提出投票動議

任何節點都可以提出一個投票動議,在系統裡相當於發起一個特殊型別的交易。這個交易包含以下內容:
● 動議的描述
● 願意為此投票動議所支付的token獎勵
● 可執行程式碼

2. 投票

動議提出後,這個動議(特殊交易)透過p2p網路在全網廣播,系統中的所有節點將收到這個動議以及其附帶的獎勵和可執行程式碼。這些節點必須對這個動議做出選擇:同意、不同意、棄權(預設無操作)

3. 動議透過,客戶端完成升級

當滿足要求數量的節點對這個動議做出選擇後,如果選擇同意的節點超出一定的比例,則認為這次投票動議獲得透過,這時,該動議所附的可執行程式碼被啟用,將所有節點的客戶端自動升級到新版本,同時把附帶的獎勵平均分配給參與了投票的節點。


這個投票的機制保證了系統升級只是在大多數節點人工投票“同意”後才進行,系統升級後,大多數節點也將執行在同一個共識機制下,系統的價值得以最大程度的保留。

Genesis裡,投票可以分為多個級別的投票,一般遵循的方案是隻需要涉及到的節點參與投票。如果一個動議只涉及到側鏈上的少數人,則這個動議只需要側鏈上的少數人投票即可。如果這個動議涉及到系統裡所有的節點,則這個動議是一次對憲法的公投,需要系統內所有節點的參與率達到一定比例,並且選擇“同意”的節點和選擇“不同意”的節點超過一定比例才可以。


側鏈技術

Genesis的將大部分核心內容放在主鏈上,同時大量採用側鏈技術來分擔網路的負擔並且增加可擴充套件性。Genesis的主鏈上包含使用者核心資訊、交易(Genesis所有行為都以交易的形式來呈現,如投票、 使用者互動 以及提交檔案等)。Genesis的主鏈全部採用經過驗證的成熟技術,以穩定為優先。

側鏈是實現Genesis進化的關鍵技術。使用者可以透過投票更新側鏈協議,甚至可以整體遷移到一個全新的側鏈,從而達到系統的進化。


Genesis的側鏈都可以有單獨的合約,主鏈透過動態索引實現與側鏈溝通。Genesis目前有兩條內建側鏈,分別負責實現檔案儲存、應用商店機制,未來還將上一條側鏈執行POC。另外,Genesis上可以快速生成一條和主鏈架構完全一樣的側鏈,作為程式設計師的開發測試環境。

Genesis的側鏈技術詳細描述如下:

雙向錨定以及簡化支付驗證機制(SPV)

簡化支付驗證(SPV)的概念最初出現在Satoshi2008年寫的一個區塊鏈文件中。Satoshi沒有執行完整的節點來驗證區塊鏈中的交易,而是討論了一種更有效(更輕)的方法,即簡化版驗證過程。這個機制是這樣的:只保留最長工作證明鏈的塊頭的副本。可以透過查詢儘可能多的網路節點來獲得區塊鏈的頭部,直到獲得滿足可信度的最長鏈為止。然後,獲得一個包含這筆交易的,帶有時間戳的Merkle分支。


與全節點驗證相比,SPV不會驗證所有內容,而是將其作為高難度的可信度作為有效性證明的代理。這是一種DMMS,可以使用概率和隨機遊走進行進一步的理論分析來證明這一點。從實際角度來看,SPV提供了一種簡易的方法來確定某個特定交易處於區塊鏈的某一塊中,而無需儲存和檢查整個區塊鏈。由於每個交易都具有雜湊值,並且每個塊都有雜湊值,因此可以建立Merkle樹證明交易的雜湊和區塊的雜湊。

Merkle樹是一種數學模型,其中樹根位於頂點,所有交易都放置在樹葉中。整個結構呈一個樹狀。 Merkle樹證明包含頂點(塊)和葉子(交易)之間所有雜湊的列表。為了證明某一筆交易在某個區塊中,只需要塊的一小部分。基本驗證有兩個步驟:1。驗證Merkle分支的存在,證明交易處於塊中。 2.驗證塊本身是否在區塊鏈的主鏈中。這兩個步驟足以證明交易的真實性。

在Genesis Space中,我們使用SPV和Merkle樹來實現父鏈和側鏈之間的驗證過程。我們現在討論虛擬幣轉移示例的步驟。該設計主要基於Back等人的Enabling Blockchain Innovations with Pegged Sidechains 理論的常見側鏈框架。最初,父鏈上的幣被髮送到父鏈上的特殊輸出,該輸出只能透過側鏈上的SPV證據解鎖。為了使兩個鏈保持同步,定義了兩個等待(緩衝)週期:


1)確認期。側鏈之間轉移的確認期是在將虛擬幣轉移到側鏈之前必須將虛擬幣鎖定在父鏈上的持續時間。此確認期的目的是允許建立足夠的工作量證明,使得在下一個等待期間的DDOS攻擊變得更加困難。典型的確認期限為一天或兩天。

在父鏈上建立特殊輸出後,使用者將等待確認期,然後在引用此輸出的側鏈上建立一個交易,提供SPV證明它已建立並隱藏在父鏈的足夠工作量證明之下。確認期是一個每側鏈的安全引數,它以交叉鏈傳輸速度換取安全性。

2)競爭期。然後使用者必須等待驗證期間。其的目的是透過在重組期間轉移先前鎖定的硬幣來防止雙花。如果在此延遲期間的任何時候,釋出的新證據包含具有更多聚合工作的鏈,該鏈不包括建立鎖定輸出的塊,則轉換將追溯無效。我們稱之為重組證明。

如果可能的話,側鏈的所有使用者都有動機提出重組證明,因為證據不正確的結果是所有虛擬幣價值的稀釋。典型的競爭期間也將是一天或兩天的量級。為避免這些延遲,使用者可能會使用原子交換進行大多數傳輸。


當鎖定在母鏈上時,虛擬幣可以在側鏈內自由轉移而無需與母鏈進一步互動。但是,它保留了作為母鏈幣的身份,並且只能轉移回它來自的鏈。當使用者想要將幣從側鏈轉移回母鏈時,他們會按照原始轉移過程執行相同的操作:將側鏈上的幣傳送到SPV鎖定輸出,生成足夠的SPV證明,這樣做,並使用證明解鎖父鏈上具有相等面額的多個先前鎖定的輸出。

Genesis的儲存側鏈

作為社交社羣平臺,當使用者與Genesis Space互動時,預計會產生大量資料。因此,為資料儲存的可擴充套件性和安全性建立分散的儲存機制至關重要。在Genesis Space中,採用了儲存側鏈以滿足這些要求。除了一些核心敏感資料(如使用者配置檔案和錢包資料)之外,大多數資料都儲存在此儲存側鏈中。這樣既保證了社交網路對區塊鏈的快速反應和記錄的要求,同時也滿足了社交網路等系統產生的大資料的儲存需求。在目前的設計中,輕量級資料將直接儲存在側鏈上(類似與Steemit儲存方案);更大的資料(超過1MB的檔案等)將採用ipfs進行儲存,僅在側鏈上記錄指向該塊儲存的Hash值。提供儲存的側鏈節點將受到獎勵。


Genesis 中的儲存鏈用作對等儲存網路,其中檔案管理記錄在儲存側鏈中被索引。當Genesis Space使用者想要儲存檔案時,使用者可以建立包含檔案元資訊的檔案合同,以及他願意為此支付的付款。 Genesis 中的其他使用者可以將檔案儲存在本地硬碟上來充當主機。檔案合同由客戶簽署,主機指定儲存協議以及獎勵。合同儲存在儲存側鏈上並且是不可變的。為避免虛假的主機,還需要從主機進行儲存證明。在傳送來自客戶的獎勵付款之前,證據將被髮送到儲存側鏈。此外,該檔案可以分為幾個部分和多個副本,以提高檔案的完整性和可檢索性。

Genesis的去中心應用商店側鏈

Genesis包含一個DApp的商店(即Genesis市場),幫助開發者釋出應用,同時方便所有的使用者查詢並下載應用。Genesis的應用商店有一個基於投票的應用稽覈、上架、下架和反饋的機制。同時,Genesis採用類似Reddit的vote機制對應用做出排名,讓優秀的應用更容易被使用者發現。Genesis的應用商店是整個Genesis系統基礎設施建設中最主要的表現形式,也是最重要的一個環節。

Genesis Space中的DApp Store透過側鏈實現。 DApp開發人員可以在DApp商店中釋出他們的應用程式。當他們這樣做時,相關的應用程式資訊將被雜湊並新增到側鏈中。為了使使用者更容易找到相關的應用程式,DApp後設資料被索引為Merkle樹,並且根將被記錄在塊頭中。


如圖所示,Genesis Space中DApp Store Side Chain的框架。客戶端和DApp開發人員之間的應用程式購買交易是透過側鏈完成的。此外,為了鼓勵應用使用者提高參與率,開發人員還可以根據使用者在DApp上的注意力提供獎勵激勵(以Gencoins的形式)。關注度是Herbert A. Simon於1971年在“為資訊豐富的世界設計組織”中創造的一個概念。它指的是消費者對資訊作為稀缺資源的關注。注意模組是預定義的智慧合約,用於評估客戶參與度。根據使用者的關注量向使用者授予獎勵,並將反饋傳送給開發人員以進一步改進應用程式。同時,為了鼓勵開發人員提供高質量的應用程式,還在側鏈上跟蹤聲譽記錄。基於使用者投票和評級來評估信譽。較高的聲譽將使應用程式獲得更高的排名,並且還將向開發者授予獎勵。


Genesis的測試鏈

除了使用側鏈進行資料儲存和實現應用程式市場外,我們還實現了第三個側鏈,使開發人員能夠試驗和測試他們的應用程式。此側鏈可幫助開發人員在DApp Store鏈中釋出高質量且穩定的DApp,而不會讓迭代的應用測試影響到應用商店鏈。該鏈也可供部分使用者訪問,例如自願選擇開發人員進行測試的使用者(調查,行為反饋等)。獎勵也以實驗參與的形式授予,以開發人員和志願者之間的交易形式。


獨立合約
Genesis的每條側鏈都可以有自己的合約,可以單獨用來解決某一方向的問題。這種架構讓單一業務的處理變的更容易,同時又極具擴充套件性和維護性。

索引
Genesis的主鏈包含側鏈的索引,鏈與鏈之間可以很容易透過主鏈的Merkle Tree以及外部訊息的輸入驗證來互動。

Genesis的經濟模型

一個去中心的系統,除了技術以外,最重要的是保證系統內的各個元素有一個合理並且公平的經濟平衡,只有這樣才能激勵系統內的各個物件,為系統的繁榮作出貢獻,保證一個可持續的系統。Genesis的經濟模型圖如下:

系統中各個角色如下:

● 普通人:
正如現實世界從太陽獲取能量,Genesis裡使用者花在系統裡的時間就是系統的原始驅動力。因此普通使用者只要保持線上狀態就可以獲得系統的token獎勵。系統將BP的收入的一部分隨機分配給線上的使用者。

● 開發者:
Genesis強調將應用開發者的地位提高到和礦工一個等級,給他們直接的經濟反饋,激勵他們來開發更多更好的DApp。

● 大法官:
Genesis作為一個去中心繫統,其發展依賴於持續不斷的版本迭代。Genesis專門在系統裡設定大法官的角色,用來推動系統的更新。大法官在系統裡可以提出對憲法的更新的投票動議。大法官分享部分參議院(即Block Producer)的收益。

● 參議員:
參議院負責出塊,又叫BP(Block Producer),負責維護整個系統,每次出塊會獲得系統的獎勵。這個獎勵的一部分自動分配給普通人和大法官。

● 地主:
地主負責維護一條儲存側鏈,為使用者提供儲存服務,透過智慧合約的方式獲得收益。

整個系統採用通貨膨脹的方式每年增發5%的貨幣,用於支付上述的各項活動。系統範圍內的所有服務都不需要費用,但是部分服務將需要使用者將自己的財產抵押,這個設計主要是防止DDoS攻擊。


關於更多Genesis Space資訊:

更多區塊鏈專案:http://www.qukuaiwang.com.cn/news/xiangmu
風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。區塊網只做專案介紹,專案真假和價值並未做任何稽覈!

免責聲明:

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

推荐阅读

;