TrustNote打造的DAG公有鏈正在讓使用區(qū)塊鏈成為一種生活方式
TrustNote 是支持挖礦的 DAG 公有鏈,具有創(chuàng)新的雙層共識機制,面向數(shù)字通證發(fā)行、區(qū)塊鏈游戲和社交網(wǎng)絡等應用場景,基礎代幣稱為“TTT”。TrustNote的宗旨是“極輕、極速、極趣”?!皹O輕”是指 TrustNote 擁有輕量化的架構和智能合約系統(tǒng),支持輕量級應用擴展和微錢包;“極速”是指 TrustNote 支持高并發(fā)交易、交易確認速度快、dApp 開發(fā)簡單上線快;“極趣”是指 TrustNote 打造的應用生態(tài)體系,讓新奇特的想法在 TrustNote 上流暢地運行,讓使用區(qū)塊鏈成為一種生活方式。
關鍵特性
擁有雙層共識機制,是支持挖礦的 DAG 公有鏈
支持高并發(fā)交易,交易極速確認
支持高級聲明式智能合約
數(shù)字通證發(fā)行平臺
哈希算法:BLAKE2
簽名算法:EdDSA
多平臺錢包、輕錢包、微錢包,支持第三方擴展
有向無環(huán)圖
若一個有向圖無法從某頂點出發(fā)經(jīng)過若干條邊回到該點,則稱該圖為有向無環(huán)圖(Directed Acyclic Graph,DAG)。使用 DAG 數(shù)據(jù)結構存儲區(qū)塊鏈賬本數(shù)據(jù)的模式,正逐步受到更多開發(fā)者的關注。已有 IOTA 和 Byteball 等多個項目利用DAG 技術成功構建了能夠穩(wěn)定運行的公有鏈,證明了 DAG 鏈的可行性。
在 TrustNote 中,交易被視為一種消息,支持多種類型的消息,多個消息可組合成一個數(shù)據(jù)塊,該數(shù)據(jù)塊稱作一個單元(Unit),單元與單元之間相互鏈接組合成一個 DAG 圖。由于單元可以鏈接到任意一個或多個之前的單元,不需要為共識問題付出更多的計算成本和時間成本,也不必等待節(jié)點之間數(shù)據(jù)強同步,甚至沒有多個數(shù)據(jù)單元拼裝區(qū)塊的概念,因此可以極大提高交易的并發(fā)量,并把確認時間降低到最小。
TrustNote 使用以下方案解決雙花問題(一份數(shù)字貨幣被花了兩次)。首先,嘗試在 DAG 圖上找到一條以創(chuàng)世單元為起點的主鏈(Main Chain,MC),并給位于主鏈上的單元分配索引,創(chuàng)世單元索引為 0,創(chuàng)世單元的子單元索引為 1,以此類推。然后,對于不在主鏈上的單元,定義其索引等于引用此單元的第一個主鏈單元的索引。最終,DAG 上的每筆交易都擁有了一個索引。如果兩筆交易嘗試使用同一筆輸出,只需要比較其索引(Main Chain Index,MCI)的大小,小的有效,大的無效,由此解決雙花問題。例如,圖 2-2 中存在兩筆雙花交易,當它們的 MCI 確定后,其中一筆雙花的 MCI 是 11,而另一筆雙花的 MCI 是 15。所以,我們可以認定 MCI 為 11 的交易有效,而拒絕 MCI 為 15 的交易。
安全性方面,不同于比特幣的區(qū)塊鏈以巨大算力作保障,基于 DAG 的TrustNote 依靠交易的快速推進,以及交易之間關聯(lián)關系的不確定性作為“防火墻”,使整個系統(tǒng)毫無規(guī)則,無從攻擊。TrustNote 具有創(chuàng)新的雙層共識機制和 TrustME共識算法,利用該算法周期性地選出若干超級節(jié)點,賦予它們數(shù)據(jù)單元的公證權,并會根據(jù)它們發(fā)出有效的公證單元獲得 Coinbase 獎勵。
項目對比
TrustNote 站在巨人的肩膀上,吸納現(xiàn)有區(qū)塊鏈項目的優(yōu)點,解決它們的突出問題,構建更加繁榮的應用生態(tài)。TrustNote 采用創(chuàng)新的雙層共識機制,具有高安全性的密碼算法,以挖礦的方式使超級節(jié)點參與單元公證。TrustNote 與當下知名 DAG 鏈(IOTA 和 Byteball)進行了橫向?qū)Ρ龋瑢Ρ冉Y果如表 2-1 所示。
共識機制
TrustNote 采用雙層共識機制,該共識機制包括基礎共識和公證共識。基礎共識是指節(jié)點發(fā)送的新交易單元對舊交易單元的驗證與引用,也稱“DAG 共識”;公證共識是指根據(jù)公證節(jié)點提交的公證單元嚴格確定其它單元的順序,也稱“TrustME 共識”。這種雙層共識機制有利于提供較高的交易吞吐量和較短的交易確認時間,能有效解決過度分叉和雙花問題。
為使 TrustNote 生態(tài)更加健壯,我們設計了兩種 TrustME 共識方案。TrustNote將在早期采用基于工作量證明(Proof of Work,PoW)的 TrustME 共識方案,該方案稱為“TrustME-PoW”;未來,TrustNote 計劃采用基于拜占庭協(xié)商(ByzantineAgreement,BA)的 TrustME 共識方案,該方案稱為“TrustME-BA”。無論哪種方案,若超級節(jié)點參與共識并被選作公證節(jié)點,它將會獲得 TTT 作為獎勵。
在 TrustME-PoW 中,超級節(jié)點通過證明自己的運算能力獲得公證權,而在TrustME-BA 情況下,利用偽隨機算法選擇超級節(jié)點并賦予其公證權。無論哪種TrustME 共識方案,公證節(jié)點發(fā)出的公證單元都同樣遵守單元引用規(guī)則,并且不會影響其它單元之間已經(jīng)建立的引用關系。而只有在公證單元成為主鏈上的穩(wěn)定單元后,才能最終證明某個公證節(jié)點做了有益于維護 TrustNote 的工作,并因此獲得公證獎勵。另外,兩種 TrustME 共識機制都鼓勵所有節(jié)點公平參與,相比中心化和弱中心化的方案更加公平、可信、安全。
1.節(jié)點
TrustNote節(jié)點有四種類型,分別為超級節(jié)點(super node)、全節(jié)點(full node)、輕節(jié)點(light node)和微節(jié)點(micro node),節(jié)點對比如表 4-1 所示。
TrustNote 具有與比特幣相似的 P2P 網(wǎng)絡,每一個節(jié)點可選擇一組隨機的 peer節(jié)點,并利用 Gossip 協(xié)議來傳播消息。為了保證消息不被偽造,每一個消息都被原始發(fā)送者的私鑰簽名,其它節(jié)點在轉發(fā)它之前要驗證簽名是否有效。為了避免消息傳播出現(xiàn)前向回環(huán),節(jié)點不會轉發(fā)重復的消息。
成為 TrustNote 超級節(jié)點,需滿足以下條件:
有資源:具有良好的網(wǎng)絡帶寬、存儲空間和運算能力,最好擁有公網(wǎng) IP;
有幣:在多個共識周期內(nèi)平均持有一定數(shù)量的 TTT;
有信用:之前提交的所有單元都被認為是有效的。
成為超級節(jié)點之后,可參與 TrustME 共識,進而成為公證節(jié)點。公證節(jié)點可通過發(fā)送公證單元獲得公證獎勵并能賺取普通單元的公證費。
單元引用
TrustNote 中每個單元可引用多個彼此之間沒有父子繼承關系的單元,而且新的子單元會優(yōu)先鏈接有更多父單元的單元。如果沿著某個父單元向子單元方向推進,當一個單元被多個子單元引用時,我們將觀察到許多分叉,而當多個父單元被同一個子單元引用時,這些單元將逐漸匯聚。
引用父單元的目的是建立單元之間的模糊次序。引用父單元之前,需要驗證父單元有效性,如簽名是否有效、單元引用是否合規(guī)等。TrustNote 不要求節(jié)點之間強同步,不同節(jié)點看到的 DAG 鏈圖存在臨時性的不一致,但這并不會破壞已經(jīng)建立的父子關系,只可能會使一個父單元有多個子單元。而正因為不追求節(jié)點之間的單元數(shù)據(jù)強同步,TrustNote 可以容忍高交易吞吐量和網(wǎng)絡延遲。
為減少 DAG 中可能出現(xiàn)的垃圾單元,所有節(jié)點提交新單元時需要支付交易費。交易費分成兩部分,分別支付給將該單元作為父單元的節(jié)點以及為該單元提供公證的節(jié)點。若一個單元被多個子單元引用,那么發(fā)送擁有最小哈希值單元的節(jié)點獲得引用獎勵。同時,限制獲得引用獎勵的子單元的 MCI 值應等于或略大于其父單元的 MCI,激勵節(jié)點盡可能快地引用更多最新的父單元,以獲得更多引用獎勵。這有助于 DAG 快速收斂,減少分叉。
3.主鏈
主鏈是在指定單元所見的 DAG 圖中沿著子-父鏈接找到一個單鏈,可以把所有單元都關聯(lián)在一起。所有的單元要么直接在這條主鏈之上,要么從主鏈上的單元沿著 DAG 的邊緣通過少量的跳躍可以到達。如果我們從另一個頂點開始,我們會構建另一條主鏈。如果以相同的規(guī)則在兩個不同的頂點選擇主鏈,這兩條主鏈在回溯過程中一旦相交,它們會在交點之后完全重合。最壞的情況,兩條主鏈在創(chuàng)世單元相交。雖然節(jié)點生成單元的過程中是相互獨立的,也不存在任何協(xié)調(diào)的可能,我們?nèi)云谕麈溨g的交點可以盡可能的靠近頂點。
一旦某單元選擇出一條主鏈(MC),它就可以在兩個沖突的無序單元之間建立總序。首先,給直接位于主鏈上的單元做個索引,創(chuàng)世單元索引為 0,創(chuàng)世單元的子單元索引為 1,以此類推,沿著主鏈給主鏈上的所有單元分配索引。對于不在主鏈上的單元,我們找到第一個直接或間接引用此單元的主鏈單元。這樣,就給每一個單元分配了一個主鏈索引(MCI)。然后,給定兩個單元,擁有較小MCI 的單元被認為是更早生成的。如果兩個單元的 MCI 恰好相同并且存在沖突,則擁有較小哈希值的單元有效。TrustNote 會保留雙花的所有單元,包括最終認定無效的單元。
主鏈構建過程實際上是父單元選擇算法的遞歸調(diào)用過程。通過參與 TrustME共識,超級節(jié)點有機會成為具有公證權的節(jié)點,可以發(fā)送公證單元。通過比較可選路徑中公證單元的數(shù)量,父單元選擇算法能在給定的所有可選父單元中選出一個作為“最優(yōu)父單元”。對于不同節(jié)點,主鏈構建過程是完全獨立的,僅依賴于節(jié)點自身能看到的 DAG 圖。從 DAG 圖的無子單元開始,沿著最優(yōu)父單元的路徑做歷史回溯,節(jié)點可以構建一條能通達創(chuàng)世單元的主鏈。
4.交易確認
當獲得新的單元時,每一個節(jié)點會持續(xù)追蹤自身的當前 MC,好像他們將要基于當前的所有無子單元構建新單元。不同節(jié)點各自的當前 MC 也許不同,因為它們有可能看到不同的非穩(wěn)定單元集合。而當新單元到達時,當前 MC 會不斷變化。然而,當前 MC 的足夠老的那部分會保持不變。
未來所有的 MC 在回溯時將會匯集某個 MC 單元,這個 MC 單元以及之前的所有 MC 單元都是穩(wěn)定的,不會因為新單元的到來而改變。事實上,創(chuàng)世單元是一個天然的初始穩(wěn)定節(jié)點。假設我們已經(jīng)基于當前的非穩(wěn)定單元集合構造了一條當前 MC,并且這條鏈上已經(jīng)有一些之前認定穩(wěn)定的節(jié)點,也就是說未來的當前 MC 都被相信會在這個點或早于這個點匯集,然后就沿同一條路徑回溯。如果我們能找到一個方法,把這個穩(wěn)定點向遠離創(chuàng)世單元的方向推進,就可以根據(jù)數(shù)學歸納法證明這個穩(wěn)定點存在。而被這個穩(wěn)定點所引用的單元將獲得確定的 MCI,包含在這些單元中的所有消息也將被確認。
5.交易費與挖礦獎勵
發(fā)布交易需要支付交易費,節(jié)點根據(jù)生成單元的字節(jié)數(shù)計算交易費。交易費被分成兩部分,60%作為單元引用費,40%作為公證費。引用費將被該單元的子單元獲得,而公證費將被累加到主鏈中 MCI 值最接近的公證單元所在共識輪的公證獎金池。公證單元也需要支付交易費,交易費計算方法與普通單元相同。公證單元包含較多信息,通常比普通單元占用更大的存儲空間,因而交易費也相對較高,激勵其它節(jié)點引用公證單元。
在 TrustNote 中,DAG 鏈的增長與 TrustME 共識是異步的,每輪共識會選舉出多名公證人,這些公證人有權提交公證單元。在主鏈沒有穩(wěn)定的情況下,無法確定哪些公證單元在主鏈上,也無法計算公證單元的有效引用,所以沒辦法像比特幣一樣直接給出 Coinbase。當某共識輪的所有公證節(jié)點發(fā)出的所有公證單元都成為穩(wěn)定單元后,才能確定該共識輪的每個公證節(jié)點分別可以獲得多少公證獎金。需要說明的是,普通單元也可能會出現(xiàn)在主鏈中,它們可能會獲得父單元支付的引用費,但不會分享公證獎金。
TrustME 共識周期性地執(zhí)行,每輪都會選出一定數(shù)量的公證節(jié)點。如果某輪公證節(jié)點發(fā)送的所有公證單元都成為穩(wěn)定單元,則稱該輪共識穩(wěn)定。每個公證單元的第一個消息是公證節(jié)點自身的公證權證明。每次達成 TrustME 共識后,當前輪公證節(jié)點生成的首個公證單元必須包含最新穩(wěn)定共識輪的 Coinbase。需要說明的是,最新穩(wěn)定共識輪的 Coinbase 在進行新一輪 TrustME 共識時已經(jīng)確定,是TrustME 共識算法的輸入變量之一。在同一共識輪內(nèi),由不同公證節(jié)點生成的其它公證單元不再包含上述內(nèi)容,而是通過驗證并引用首個公證單元的方式確認穩(wěn)定共識輪的 Coinbase 內(nèi)容。這樣做可以進一步削弱公證節(jié)點的能力,防止惡意的超級節(jié)點通過多次獲得公證權干擾穩(wěn)定共識輪公證節(jié)點的 Coinbase 收益。
6.TrustME-PoW
TrustME-PoW 是基于工作量證明選擇公證節(jié)點的共識機制,每輪共識將選擇少量節(jié)點成為公證節(jié)點,并確定相關公證節(jié)點的優(yōu)先級。TrustME-PoW 共識算法每五分鐘執(zhí)行一次,每次達成共識會選出不超過二十個超級節(jié)點作為公證節(jié)點,這些公證節(jié)點有權發(fā)送公證單元并以此獲得公證獎勵。
TrustME-PoW 基于 Equihash 算法,以 BLAKE2 為底層哈希函數(shù),降低使用ASIC 挖礦的優(yōu)勢,更多超級節(jié)點可以公平參與挖礦,使超級節(jié)點成為公證節(jié)點的概率分布更加合理。Equihash 算法的輸入為當前輪數(shù)、種子和難度系數(shù)等內(nèi)容。當前輪數(shù)起始為 0,每輪加 1;每輪共識的種子根據(jù)上一輪共識的種子和取得的共識結果計算得出,種子可被公開獲得及驗證;難度系數(shù)根據(jù)全網(wǎng)平均算力推算得出,通過調(diào)整難度系數(shù)可以控制達成共識的平均時間間隔。
公證單元必須滿足前文所述的單元引用規(guī)則。公證單元只能引用非穩(wěn)定單元,并且必須驗證引用單元及其“子-父”鏈的正確性,直到驗證到穩(wěn)定的 MC 單元。鼓勵公證單元引用多個非穩(wěn)定狀態(tài)的最優(yōu)父單元,加速單元穩(wěn)定,促使 DAG 鏈向前推進并收斂。
只有公證單元成為主鏈上的單元,才能獲得相應的公證獎勵。同一共識輪內(nèi),所有主鏈上公證單元按照各自的有效引用單元數(shù)量計算當前共識輪公證獎金的分配比例。每個公證單元在成為主鏈單元并穩(wěn)定之后,計算出該公證單元的有效引用數(shù)量。公證節(jié)點直接引用自己發(fā)送的公證單元或普通單元不計為有效引用,防止公證節(jié)點之間惡意爭奪獎金,發(fā)送無意義單元。
7.TrustME-BA
TrustME-BA 是一種基于可驗證隨機函數(shù)(Verifiable Random FuncTIon,VRF)和 BA 算法構建的共識機制,該共識機制能夠隨機選出少量超級節(jié)點作為公證節(jié)點,并確定公證節(jié)點的優(yōu)先級。
TrustME-BA 每一分鐘執(zhí)行一次,每次達成共識將隨機選出若干超級節(jié)點作為公證節(jié)點,公證節(jié)點有權發(fā)送公證單元,公證單元須滿足 DAG 共識中的父子引用規(guī)則。公證節(jié)點發(fā)送的公證單元成為穩(wěn)定主鏈的單元后,該公證節(jié)點可以獲得公證獎勵。當交易活躍時,新單元不斷產(chǎn)生,則公證節(jié)點會及時獲得公證獎勵;當交易不活躍時,極端情況下一分鐘內(nèi)沒有新單元產(chǎn)生,已經(jīng)發(fā)送公證單元的節(jié)點在發(fā)送的公證單元成為穩(wěn)定主鏈單元時獲得公證獎勵,沒有發(fā)送公證單元的節(jié)點不獲得公證獎勵。
智能合約
TrustNote 擁有非圖靈完備的聲明式智能合約系統(tǒng),支持布爾運算、數(shù)學運算、合約數(shù)據(jù)存儲,不支持棧和跳轉指令。這種智能合約語言能直接描述合約期望的目標,表達能力強,易于理解,安全性高。與以太坊相比,TrustNote 的智能合約系統(tǒng)具有復雜度低、輕量化和高性能等優(yōu)勢,同時還降低了合約編寫難度和出錯概率。
TrustNote 沒有賬戶的概念,TTT 以 UTXO 的形式存儲在不可篡改的分布式賬本的數(shù)據(jù)單元中。在 TrustNote 的智能合約語言里,地址定義是一個布爾表達式,可計算出是 true 或者 false 的結果。智能合約的所有表達式,最終都會計算出一個布爾值,多個子表達式可以通過布爾操作聯(lián)合起來。例如,下面這個定義需要兩個簽名。
[“and”, [
[“sig”, {pubkey: “one pubkey”}],
[“sig”, {pubkey: “another pubkey”}]
]]
為了花費與以上定義地址的資金,必須同時提供兩個簽名。我們使用 JSON來編寫表達式,可以使用具備很好支持的、已經(jīng)過優(yōu)化的 JSON 解析器。
“Or” 操作可以用來描述需要提供任意一個公鑰所對應私鑰的簽名。
[“or”, [
[“sig”, {pubkey: “l(fā)aptop pubkey”}],
[“sig”, {pubkey: “smartphone pubkey”}],
[“sig”, {pubkey: “tablet pubkey”}]
]]
可以用以上定義實現(xiàn)在三個不同設備上可以控制同一個 address,這三個設
備可能是你的電腦、手機和平板。
地址定義的指令可以嵌套,如:
[“and”, [
[“or”, [
[“sig”, {pubkey: “l(fā)aptop pubkey”}],
[“sig”, {pubkey: “tablet pubkey”}]
]],
[“sig”, {pubkey: “smartphone pubkey”}]
]]
地址定義可以要求一個集合中參與者必須達到某個閾值,例如 2-3 簽名。
[“r of set”, {
required: 2,
set: [
[“sig”, {pubkey: “l(fā)aptop pubkey”}],
[“sig”, {pubkey: “smartphone pubkey”}],
[“sig”, {pubkey: “tablet pubkey”}]
]
}]
上面的表達式意味著任意兩個簽名便可以使表達式為真。如果一個密鑰丟失了,這個地址仍然可用,并且能夠修改這個定義,給丟失的密鑰設置一個新值。
另外,不同條目可以賦予不同的權重,并可以設定一個最小權重要求。
[“weighted and”, {
required: 50,
set: [
{weight: 40, value: [“sig”, {pubkey: “CEO pubkey”}] },
{weight: 20, value: [“sig”, {pubkey: “COO pubkey”}] },
{weight: 20, value: [“sig”, {pubkey: “CFO pubkey”}] },
{weight: 20, value: [“sig”, {pubkey: “CTO pubkey”}] }
]
}]
地址定義可以引用其它地址。
[“and”, [
[“address”, “ADDRESS 1 ”],
[“address”, “ADDRESS 2”]
]]
這種定義意味著把簽名委托給其它地址,這對于構造共同控制的地址是很有用處的。這種語法給予了用戶很多方便,他們能根據(jù)自己的意愿去改變他們自己有權管理的那部分地址的定義,而不會影響別的用戶。
地址定義可以用來配備添加到 DAG 中的數(shù)據(jù)。
[“in data feed”, [
[“ADDRESS1”, “ADDRESS2”, …],
“data feed name”,
“=”,
“expected value”
]]
如果由某地址添加到 DAG 的數(shù)據(jù)反饋結果與期望值相等,則表達式的結果為 true。通過指定數(shù)據(jù)反饋的來源,可以實現(xiàn)鏈上預言機功能。利用鏈上預言機可以擴展出非常強大的功能。
[“or”, [
[“and”, [
[“address”, “ADDRESS 1”],
[“in data feed”, [[“EXCHANGE ADDRESS”], [“EURUSD”, “+”, “0.200”], “》”,
“1.1500”]]
]],
[“and”, [
[“address”, “ADDRESS 2”],
[“in data feed”, [[“TIMESTAMPER ADDRESS”], “dateTIme”, “》”, “2016-10-01
00:00:00”]]
]]
]]
上面的表達式依賴兩個預言機,一個會發(fā)布歐元/美元的匯率,另外一個會發(fā)布時間。首先,雙方為這個表達式定義的地址準備資金,向這個地址支付各自相應的份額。然后,如果由兌換地址公布的歐元/美元匯率加上 0.200 曾經(jīng)超過1.150,則地址 1 將得到全部資金。如果在 2016 年 10 月 1 日之前,以上情況沒有發(fā)生,則地址 2 將得到全部資金。另外一個有趣的例子中,消費者向商人購買貨物,但是他不是很信任商人,如果貨物沒有發(fā)給他,希望錢可以退還給自己。
此時,消費者可以把錢付給用以下方式定義的一個共享地址。
[“or”, [
[“and”, [
[“address”, “MERCHANT ADDRESS”],
[“in data feed”, [[“FEDEX ADDRESS”], “tracking”, “=”, “123456”]]
]],
[“and”, [
[“address”, “BUYER ADDRESS”],
[“in data feed”, [[“TIMESTAMPER ADDRESS”], “datetime”, “》”, “2016-10-01
00:00:00”]]
]]
]]
這個定義有效的前提是 FedEx 會在鏈上存儲包裹的單號。如果貨物發(fā)放了,根據(jù)第一個條款,商人可以解鎖資金。如果在商定的日期之前,貨物沒有發(fā)放,消費者可以拿回自己的資金。
地址定義可以實現(xiàn)交易查詢。假定用戶想購買至少 1200 個單元的數(shù)字資產(chǎn),但是只愿意支付 1000 TTT,而且他不愿意一直在線等待賣家。他可以只在交易平臺發(fā)布一個訂單,當匹配的賣家出現(xiàn)時,自動完成交易。他可以按照以下方式創(chuàng)建地址,并發(fā)送 1000 TTT 到該地址。
[“or”, [
[“address”, “USER ADDRESS”],
[“and”, [
[“address”, “EXCHANGE ADDRESS”],
[“has”, {
what: “output”,
asset: “ID of alternative asset”,
amount_at_least: 1200,
address: “USER ADDRESS”
}]
]]
]]
第一個或條件的含義是用戶在任何時候都可以撤銷訂單,拿回他的 TTT。第二個或條件當滿足條件的交易出現(xiàn)后,將 TTT 付給委托交易平臺,授權它來花費資金。交易平臺會公開發(fā)布訂單信息,賣家可以查看訂單列表,生成一個交換資產(chǎn)交易,并且和交易平臺一起簽名。
發(fā)行量和分發(fā)規(guī)則
TTT 是 TrustNote 基礎代幣的簡稱,單位是 Mega Notes (MN)。
發(fā)行總量:1,000,000,000 MN,無增發(fā),500,000,000 MN(占比 50%)為初始分發(fā),投資兌換的方式分發(fā);500,000,000 MN(占比 50%)為公證獎金,可挖礦獲得。支持 PoW 挖礦的主鏈預計于 2018 年 Q4 正式上線,屆時用戶可以下載和使用挖礦客戶端,并申請成為超級節(jié)點,通過積極參與主鏈共識獲得公證權,通過發(fā)布有效的公證單元獲得公證獎勵。
公證獎勵策略為首年提供總公證獎金的 6.79%,之后公證獎金逐年衰減,衰減情況參見圖 7-1。其中,公證獎金的 90%分配給提供有效公證單元的超級節(jié)點,公證獎金的 10%分配給基金會,用于社區(qū)運維、項目孵化、貢獻者獎勵等。
TrustME-PoW 共識平均每 5 分鐘一輪,每年共約 10 萬輪,每輪公證獎金總量 = 公證獎金*90% + 單元公證費。
? 第一年,每輪公證獎金約為 323.04 MN;
? 第二年,每輪公證獎金約為 262.39 MN;
? 第三年,每輪公證獎金約為 232.34 MN。