將poa和pos共識機(jī)制結(jié)合
1、區(qū)塊鏈共識算法――(四)PoA共識(Proof of Activity)
PoA共識(Proof of Activity)也稱為活動證明,其結(jié)合了PoW工作量證明與PoS權(quán)益證明的特點并進(jìn)行了相應(yīng)擴(kuò)展,PoA共識具有更為復(fù)雜的記賬節(jié)點選取,同時有更為公平的獎勵機(jī)制。PoA活動證明,主要的優(yōu)勢是利用公平的激勵措施保證節(jié)點保持在線狀態(tài),調(diào)動節(jié)點積極性,線上礦工即使不挖礦也有一定的概率獲取收益。大大提高了全網(wǎng)維護(hù)質(zhì)量。
step1:每個礦工先利用自身算力通過工作量證明機(jī)制后得出nonce并生成一個空區(qū)塊頭,這個區(qū)塊頭除了沒有交易信息數(shù)據(jù)外其他數(shù)據(jù)與正常區(qū)塊一致。
step2:最先生成空區(qū)塊的節(jié)點廣播全網(wǎng)節(jié)點,全網(wǎng)節(jié)點接收到消息后,將此區(qū)塊的hash值與上一區(qū)塊的hash值進(jìn)行拼接,然后加上n個固定后綴值進(jìn)行再hash,最后得出n個值作為輸入,進(jìn)入follow-the-satoshi程序,然后可輸出n個隨機(jī)權(quán)益持有者。
step3:前n-1個隨機(jī)權(quán)益持有者對空區(qū)塊進(jìn)行簽名,第n個隨機(jī)權(quán)益持有者即為獲取到記賬權(quán)的節(jié)點,他將在空區(qū)塊的基礎(chǔ)上添加交易數(shù)據(jù)與簽名。
step4:第n個隨機(jī)權(quán)益持有者將打包好的區(qū)塊廣播全網(wǎng),全網(wǎng)節(jié)點接收到區(qū)塊后進(jìn)行驗證,驗證成功后上鏈。
step5:產(chǎn)生空區(qū)塊的礦工與第n個隨機(jī)權(quán)益持有者以及前n-1個已簽名的隨機(jī)權(quán)益持有者共享交易費獎勵。
2、POA(Proof of Activity)區(qū)塊鏈共識算法
POA(Proof of Activity)算法是一個區(qū)塊鏈的共識算法,基本原理是結(jié)合POW(Proof of work)和POS(Proof of stake)算法的特點進(jìn)行工作,POW算法和POS算法的具體內(nèi)容可以參考:POW算法 : https://www.jianshu.com/p/b23cbafbbad2
POS算法 : https://blog.csdn.net/wgwgnihao/article/details/80635162
POA算法相比于其他算法可以改進(jìn)網(wǎng)絡(luò)拓?fù)?,維持在線節(jié)點比例,需求更少的交易費同時減少共識算法過程中的能量損耗。
POA算法需求的網(wǎng)絡(luò)中同樣包含兩類節(jié)點,礦工和普通參與者,其中普通參與者不一定一直保持在線。POA算法首先由礦工構(gòu)造區(qū)塊頭,由塊頭選出N個幣,這N個幣的所有者參與后續(xù)的校驗和生成塊的過程。
從這里可以看到POA算法不僅與算力有關(guān),后續(xù)的N個參與者的選舉則完全由參與者在網(wǎng)絡(luò)中所擁有的幣的總數(shù)量決定。擁有越多幣的參與者越有機(jī)會被選為N個后續(xù)的參與者。而后續(xù)N個參與者參與的必要條件是這N個參與者必須在線,這也是POA命名的由來,POA算法的維護(hù)取決于網(wǎng)絡(luò)中的活躍節(jié)點(Active)。
POA算法的一個理想的基本流程是,類似于POW協(xié)議,礦工構(gòu)造出一個符合難度要求的塊頭,通過礦工得到的塊頭計算衍生出N個幣的編號,從區(qū)塊鏈中追溯可以得到這幾個幣目前所述的參與者。礦工將這個塊頭發(fā)送給這N個參與者,其中前N-1個參與者對這個塊進(jìn)行校驗和簽名,最后第N個參與者校驗并將交易加入到該塊中,將這個區(qū)塊發(fā)布出去,即完成一個區(qū)塊的出塊。
一個理想過程如下圖所示:
在實際運行中,無法保證網(wǎng)絡(luò)上所有參與者都在線,而不在線的參與者則無法進(jìn)行校驗和簽名,這個無法被校驗和簽名的塊頭則會被廢棄。
即在實際運行中,應(yīng)該是一個礦工構(gòu)造出塊頭后廣播給各個參與者簽名,同時繼續(xù)重新構(gòu)造新的塊頭,以免上一個塊頭衍生的N個參與者存在有某一個沒有在線,而導(dǎo)致塊頭被廢棄。
因此,在這種情況下,一個塊是否被確認(rèn)不僅與礦工的計算能力有關(guān)同時也與網(wǎng)絡(luò)上的在線比例有關(guān)。
與純POW相比,在與比特幣(POW)同樣10分鐘出一個塊的情況下,POA由于會有參與者不在線而產(chǎn)生的損耗,因此,10分鐘內(nèi)礦工可以構(gòu)造的塊的數(shù)量會更多,即塊頭的難度限制會降低,那么礦工在挖礦過程中會造成的能量損耗也會降低。
與純POS相比,可以看到POA的出塊流程并不會將構(gòu)造區(qū)塊過程中的相關(guān)信息上鏈,可以明顯減少區(qū)塊鏈上用于維護(hù)協(xié)議產(chǎn)生的冗余信息的量。
本節(jié)對上訴協(xié)議中一些參數(shù)設(shè)置進(jìn)行分析
在礦工構(gòu)造出塊頭后對塊頭進(jìn)行校驗和區(qū)塊構(gòu)造的N個參與者的數(shù)量選定比較類似于比特幣中每一個塊的出塊時間的選取。比特幣中選擇了10分鐘作為每一個塊的期望出塊時間并通過動態(tài)調(diào)節(jié)難度來適應(yīng)。
這里N的取值同樣可以選擇選定值或者動態(tài)調(diào)節(jié)。動態(tài)調(diào)節(jié)需要更加復(fù)雜的協(xié)議內(nèi)容,同時可能會帶來區(qū)塊鏈的數(shù)據(jù)膨脹,而復(fù)雜的協(xié)議也增加了攻擊者攻擊的可能性。另外暫時沒有辦法證明動態(tài)調(diào)節(jié)可以帶來什么好處。靜態(tài)調(diào)節(jié)在后續(xù)的分析(4 安全分析)中可以得到N=3的取值是比較合適的。
從上面的描述可以看到,構(gòu)造新的區(qū)塊的除了礦工還有從塊頭中衍生出來的N個幣所有者。在構(gòu)造出一個新的區(qū)塊后,這些參與者同樣應(yīng)該收到一定的激勵,以維持參與者保持在線狀態(tài)。
礦工與參與者之間的非配比例與參與者的在線狀態(tài)相關(guān)。給予參與者的激勵與參與者保持在線狀態(tài)的熱情密切相關(guān),越多參與者保持在線狀態(tài),能更好地維持網(wǎng)絡(luò)的穩(wěn)定。因此,可以在網(wǎng)絡(luò)上在線參與者不夠多的時候,提高參與者得到的激勵分成比例,從而激發(fā)更多的參與者上線。
如何確定當(dāng)前參與者的在線情況呢?可以最后第N個參與者構(gòu)造區(qū)塊時,將構(gòu)造出來但是被廢棄的塊頭加入到區(qū)塊中,如果被丟棄的塊頭數(shù)量過多,說明在線人數(shù)過低,應(yīng)當(dāng)調(diào)節(jié)分成比例。
同時最后第N個參與者與其他參與者的分成同樣需要考慮,第N個參與者需要將交易加入?yún)^(qū)塊中,即需要維護(hù)UTXO池,同時第N個參與者還需要將被丟棄的塊頭加入新構(gòu)建的區(qū)塊中。
為了激勵其將廢棄區(qū)塊頭加入新構(gòu)建的區(qū)塊中,可以按照加入的區(qū)塊頭,適當(dāng)增加一點小的激勵。雖然加入更多的區(qū)塊頭,可以在下一輪的時候增加分成的比例,應(yīng)當(dāng)足夠激勵參與者往區(qū)塊中加入未使用的塊頭了(這里參與者不可能為了增加分成而更多地加入?yún)^(qū)塊頭,每一個區(qū)塊頭都意味著一位礦工的工作量)。
一個參與者如果沒有維護(hù)UTXO池則無法構(gòu)造區(qū)塊,但是可以參與前N-1個的簽名,因此為了激勵參與者維護(hù)UTXO池,作為最后一個構(gòu)造區(qū)塊的參與者,必須給予更多的激勵,比如是其他參與者的兩倍。
從3.2的描述中可以知道一個用戶必須在線且維護(hù)UTXO池才可能盡可能地獲得利益。這種機(jī)制勢必會導(dǎo)致一些用戶將自己的賬戶托管給一個中心化的機(jī)構(gòu)。這個機(jī)構(gòu)一直保持在線,并為用戶維護(hù)其賬戶,在被選為構(gòu)造區(qū)塊的參與者時參與區(qū)塊的構(gòu)建并獲取利益。最后該機(jī)構(gòu)將收益按照某種形式進(jìn)行分成。
上面說到參與者必須用自己的密鑰進(jìn)行簽名,而托管給某個機(jī)構(gòu)后,這個機(jī)構(gòu)在可以用這個密鑰簽名構(gòu)造區(qū)塊的同時,也有可能使用這個密鑰消費用戶的財產(chǎn)。這里可以采用一種有限花銷的密鑰,這個密鑰有兩個功能,一個是將賬戶中的部分財產(chǎn)消費出去,另一個是將所有財產(chǎn)轉(zhuǎn)移到一個指定賬戶。在托管的時候可以使用這個密鑰,在被通知部分財產(chǎn)被花費后可以立即將所有財產(chǎn)轉(zhuǎn)移到自己的另一個賬戶下,以保證財產(chǎn)的安全。
從上面的分析可以看到,POA的安全性與攻擊者所擁有的算力和攻擊者所擁有的股權(quán)有關(guān)。假設(shè)攻擊者擁有的在線股權(quán)占比為 ,則攻擊者的算力需要達(dá)到其他所有算力的 倍才能達(dá)成分叉。假設(shè)攻擊者股權(quán)總占比為 ,網(wǎng)絡(luò)中誠實用戶的在線比例為 ,則攻擊者的算力需要達(dá)到其他所有算力的 倍才能達(dá)成攻擊。
攻擊的分析表格如下:
從上文的分析可以看到,POA算法相比于其他算法可以改進(jìn)網(wǎng)絡(luò)拓?fù)洌S持在線節(jié)點比例,需求更少的交易費同時減少共識算法過程中的能量損耗。同時,PoA協(xié)議的攻擊成本要高于比特幣的純PoW協(xié)議。
參考文獻(xiàn):Proof of Activity: Extending Bitcoin’s Proof of Work via Proof of Stake
3、生態(tài)協(xié)議AEP推出了什么共識機(jī)制?
AEP推出 PoA+PoS 的共識機(jī)制,PoA 決定了上層結(jié)構(gòu)(主鏈幣),PoS 決定了Token 的屬性。AEP并不過份追求去中心化,而是強(qiáng)調(diào)有效和適度去中心化。4、區(qū)塊鏈共識算法――(二)PoS共識(Proof of Stake)
2011 年 7 月, 一 位 名 為 Quantum Mechanic 的 數(shù) 字 貨 幣 愛 好 者 在 比 特 幣 論 壇 首次提出了權(quán)益證明 PoS 共識算法. 隨后, Sunny King 在 2012 年 8 月發(fā)布的點點幣 (Peercoin, PPC) 中首次實現(xiàn). PoS 由 系統(tǒng)中具有最高權(quán)益而非最高算力的節(jié)點獲得記賬 權(quán), 其中權(quán)益體現(xiàn)為節(jié)點對特定數(shù)量貨幣的所有權(quán), 稱為幣齡或幣天數(shù) (Coin days)
PoS是考慮到PoW的最大缺陷:浪費資源而提出的,簡單來說就是 誰的權(quán)益大,誰說了算 。
PoS共識機(jī)制(Proof of Stake 權(quán)益證明)通過權(quán)益記賬的方式,解決效率低下、資源浪費、節(jié)點一致性等問題。
各個節(jié)點需要滿足一定的條件(如抵押一定的代幣)才能成為驗證節(jié)點(權(quán)益提高),系統(tǒng)通過算法在其中選擇一部分作為出塊節(jié)點(礦工),每隔一段時間重新選擇,算法會保證完全隨機(jī),不可被操控。只有出塊節(jié)點才能進(jìn)行數(shù)據(jù)處理,爭奪記賬權(quán)。
權(quán)益主要由權(quán)益因子決定,可以是持幣數(shù)量,也可以是幣齡及兩者的結(jié)合。
以太坊在之后很有可能會改用PoS進(jìn)行共識,其更加符合以太坊高效率的特點。
5、PoT基于信任的共識機(jī)制方案
姓名:胡娟學(xué)號:20021110092
轉(zhuǎn)自:https://mp.weixin.qq.com/s/lA4qc1iA44HH5biH7TrFvg
【嵌牛導(dǎo)讀】區(qū)塊鏈的核心是無信任的領(lǐng)導(dǎo)選舉機(jī)制,在無需第三方或可信方的監(jiān)督下,實現(xiàn)了匿名節(jié)點之間共識的達(dá)成。目前工作量證明(PoW)和權(quán)益證明(PoS)是集中討論的兩種共識機(jī)制。PoW依賴于計算能力的證明,伴隨著巨大的資源浪費。PoS通過依賴系統(tǒng)中擁有的加密貨幣的數(shù)量來解決問題。無論哪種方式,都受區(qū)塊鏈系統(tǒng)經(jīng)濟(jì)基礎(chǔ)的限制,這迫使那些不含加密貨幣的區(qū)塊鏈應(yīng)用程序只能求助于“許可”的設(shè)置,有效地使系統(tǒng)集中化。然而,對于無加密貨幣的非許可鏈能夠為眾多新興應(yīng)用領(lǐng)域(如教育、醫(yī)療)提供安全的、自治的P2P結(jié)構(gòu)服務(wù),在這些領(lǐng)域中,對等節(jié)點之間存在一定的信任基礎(chǔ)。這為評估對等節(jié)點之間的信任并將其作為達(dá)成共識的基礎(chǔ)創(chuàng)造了可能性。
【嵌牛鼻子】PoT,PoW,PoS
【嵌牛正文】
PoW 是十分昂貴的
他是一種“難度值”控制資源消耗的機(jī)制。難度值是隨系統(tǒng)計算能力來調(diào)整級別的,隨著節(jié)點和事務(wù)的增加,難度值不可避免的增加。除了高昂的成本外,還容易受到中心化陷阱的影響,即一小部分算力強(qiáng)大/有錢的節(jié)點最終控制了整個系統(tǒng)。例如比特幣上的采礦池現(xiàn)象和壟斷了系統(tǒng)的巨型挖礦數(shù)據(jù)中心。
當(dāng)前,相比PoW在能耗上有更優(yōu)表現(xiàn)的替代方案被人們持續(xù)關(guān)注,然而大多數(shù)建議的替代方案要么依賴于特殊物理硬件的所有權(quán),要么權(quán)衡系統(tǒng)的去中心化采用許可鏈的方案,后者是使用拜占庭協(xié)議(PBFT)的變體。PoW目前合理的替代方案是PoS(Proof-of-Stake),PoS中區(qū)塊領(lǐng)導(dǎo)者是根據(jù)其在區(qū)塊鏈系統(tǒng)中持有的資產(chǎn)數(shù)量來被選擇的。該方法背后的博弈論前提是,對擁有加密貨幣的節(jié)點,持有最大份額的節(jié)點有興趣對系統(tǒng)進(jìn)行服務(wù),來保持他的可信度和價值,從而激勵他們按照協(xié)議行事。與PoW相比,PoS承諾提供更加明晰和便宜的共識機(jī)制,但他需要將區(qū)塊鏈系統(tǒng)與加密貨幣捆綁在一起。并造成了“你擁有越多你控制的越多”或“你擁有的越多,你越合理擁有領(lǐng)導(dǎo)權(quán)”這樣富人越來越富的心態(tài),導(dǎo)致系統(tǒng)進(jìn)一步向中心化轉(zhuǎn)變。
使用信任去修補(bǔ)區(qū)塊鏈
信任證明PoT,當(dāng)網(wǎng)絡(luò)中出現(xiàn)更多可信的對等點時,目標(biāo)是最小化在PoW上花費的能量。也就是說,安裝“您越受信任,您需要執(zhí)行的工作就越少”的概念。“我們假設(shè)在應(yīng)用場景中,區(qū)塊鏈旨在在協(xié)作以實現(xiàn)共同目標(biāo)的對等體之間提供去中心化的服務(wù),并且可以在各方之間表達(dá)信任,例如在健康或教育領(lǐng)域。這與當(dāng)前以自我為中心的金融區(qū)塊鏈形成了鮮明的對比,在當(dāng)前的金融區(qū)塊鏈中,被選為區(qū)塊領(lǐng)導(dǎo)者的唯一興趣和博弈論動機(jī)是賺取加密貨幣。
在PoT結(jié)構(gòu)中,參與系統(tǒng)的每個節(jié)點都單獨地表示對他認(rèn)為可信任的其他節(jié)點的信任情況。這種信任不斷地被廣播,促使信任網(wǎng)絡(luò)以去中心化的方式興起,并存儲在區(qū)塊鏈中,為所有的參與者提供了一致性、防篡改的記錄(view)。PoT機(jī)制在仍然使用PoW的同時,保證只有一小部分參與其中,從而大大降低了功耗成本。
協(xié)議描述和問題定義
PoT 描述的參與者的信任值是以去中心化的方式計算和協(xié)商的,這些信任值將表示為節(jié)點在系統(tǒng)中所持有的權(quán)重(stake),作為共識機(jī)制的基礎(chǔ)。PoT的設(shè)計主要考慮了可驗證性和獨立性:
可驗證性:一旦一個節(jié)點證明其有資格成為下一個領(lǐng)導(dǎo)者,所有的節(jié)點都可以驗證這一聲明。
獨立性: 獨立性聲明領(lǐng)導(dǎo)者的被選舉權(quán)與區(qū)塊鏈有效性,可由任何節(jié)點使用公開可用的信息,無需他人協(xié)作的情況下進(jìn)行驗證。
為了實現(xiàn)以上的目標(biāo),需要解決兩個主要問題:
1)定義一個去中心化的信任管理機(jī)制;
2)定義一個使用信任網(wǎng)絡(luò)的共識協(xié)議。
1.去中心化信任管理(Decentralized trust management)
信任建立基于信任模型,這類工作在很多文獻(xiàn)中已有。對于基于社區(qū)的信任,起始點通常是一個給定的信任網(wǎng)絡(luò),該網(wǎng)絡(luò)編碼系統(tǒng)中誰信任誰,它通常被建模為一個有向圖,其中節(jié)點表示對等點(peer),邊表示它們之間的信任關(guān)系。一個節(jié)點在網(wǎng)絡(luò)中傳入的鏈接越多,它就越可信。信任網(wǎng)絡(luò)可以以多種形式出現(xiàn),例如:
1)從社交網(wǎng)絡(luò)中提取;
2)從底層系統(tǒng)中節(jié)點之間的交互推斷而來;
3)被節(jié)點明確聲明他們信任誰。
在公開鏈模型中,唯一可行的選擇要么是跟蹤區(qū)塊鏈中節(jié)點之間交互的記錄,要么設(shè)立一個信任網(wǎng)絡(luò),網(wǎng)絡(luò)中每個節(jié)點在沒餓過時期單獨地聲稱他信任誰。前一種選擇要求管理區(qū)塊鏈系統(tǒng)的節(jié)點同時也是產(chǎn)生和記錄事務(wù)的節(jié)點。
文章選擇了后一種方案,每個節(jié)點通過廣播信任關(guān)系宣布他們的信任節(jié)點,并由所有其他節(jié)點獨立收集信息,形成信任網(wǎng)絡(luò)。區(qū)塊鏈區(qū)塊大小的限制,使得PoT中區(qū)塊鏈僅記錄信任網(wǎng)絡(luò)的哈希值。每個時期,當(dāng)前的區(qū)塊領(lǐng)導(dǎo)者是根據(jù)前一個階段中達(dá)成一致的信任網(wǎng)絡(luò)情況來選出來的。
2.基于信任的動態(tài)共識機(jī)制(Dynamics of a trust based consensus)
PoW盡管對能源的消耗十分巨大,但是在完全去中心化的系統(tǒng)中,PoW保持了良好的安全性和可操作性。更重要的是,提供了具有“保證時間窗口”的時鐘功能,實現(xiàn)了新的塊只有在前一個塊出現(xiàn)后才能出現(xiàn),允許分布式系統(tǒng)在不需要全局同步的情況下有效地工作。因此文章沒有完全放棄PoW,而是信任等級越高的節(jié)點執(zhí)行PoW時的難度值越低,信任等級越低則難度值越高。這將抑制不太受信任的節(jié)點加入PoW,使活躍的挖礦池被限制到更小的子集中。其中存在的風(fēng)險是:1)可能會導(dǎo)致較小的信任子集中出現(xiàn)集中化的問題;2)難度值小的節(jié)點可能造成Sybil攻擊。因此,PoT采用了以下的策略:
1)領(lǐng)導(dǎo)節(jié)點信任衰竭策略
節(jié)點根據(jù)他們獲得的信任程度被分配到不同的小組。其成員根據(jù)可信等級對應(yīng)的難度值進(jìn)行挖礦,具有最高信任級別小組成員更有可能在區(qū)塊鏈中挖到礦,這埋下了信任網(wǎng)絡(luò)中頂層節(jié)點控制網(wǎng)絡(luò)的隱患,造成“富人更富”的現(xiàn)象,同時其他的節(jié)點沒有了升級的空間。衰竭策略會確保任何競爭到挖礦權(quán)的節(jié)點退回到低信任分區(qū)中。
2)新的信任關(guān)系采用阻尼策略
Sybil節(jié)點不能突然獲得系統(tǒng)中的高信任等級,應(yīng)當(dāng)給誠實節(jié)點有足夠的機(jī)會觀察和控制惡意節(jié)點。在PoT中,引入了一種控制機(jī)制,通過對新的信任鏈路采用一種阻尼策略來控制新節(jié)點信任度量的過程,節(jié)點的信任等級與他們所保持存活的時間長短成正比增長。
PoT結(jié)構(gòu)建立在兩個主要機(jī)制上:
1) 衰退的信任機(jī)制,阻止區(qū)塊領(lǐng)導(dǎo)者潛在的惡意行為,防止網(wǎng)絡(luò)被一個小的頂層受信組織控制;
2) 網(wǎng)絡(luò)信任機(jī)制演變的控制機(jī)制,阻止惡意節(jié)點信任等級的升級的速度,給予其他節(jié)點充分的時間去檢測這樣的行為。
區(qū)塊鏈系統(tǒng)首先經(jīng)歷一個自力更生的階段,通過對幾個塊僅實施純PoW共識。在每
個新的區(qū)塊中,網(wǎng)絡(luò)中的節(jié)點(礦工)單獨廣播自己發(fā)出的信任關(guān)系。新節(jié)點加入產(chǎn)生新的信任關(guān)系,這種關(guān)系服從一種阻尼策略,將他們在系統(tǒng)中存活時間作為權(quán)重給他們分配。阻尼策略使得新節(jié)點使用新的信任關(guān)系來增強(qiáng)它們的信任級別變得更慢。自力更生階段在協(xié)議定義的預(yù)設(shè)好的塊數(shù)后結(jié)束。共識從此由PoW轉(zhuǎn)變?yōu)镻oT。
每個信任分區(qū)的節(jié)點都會遵循對應(yīng)的PoW的困難系數(shù)來挖礦,當(dāng)使用對應(yīng)困難值找到PoW的解決答案時,節(jié)點宣布他的塊,其他節(jié)點驗證并接受該塊作為共識的一部分。如果同時有多個有效的塊被廣播,則規(guī)則是選擇信任等級最高的發(fā)布的塊。一旦一個塊被附加到區(qū)塊鏈中,那么塊所有權(quán)所屬的節(jié)點相對于初始信任值會呈指數(shù)衰減。
1. 信任網(wǎng)絡(luò)(The trust network)
信任網(wǎng)絡(luò)是由節(jié)點在網(wǎng)絡(luò)中,通過主動聲明信任連接所組成的。每個周期,信任網(wǎng)絡(luò)都表示為一個加權(quán)圖,節(jié)點是區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點,邊上的權(quán)值代表節(jié)點的存活時長。周期t所在的信任網(wǎng)絡(luò)為: ,其中
:節(jié)點的集合,SKi和VKi是節(jié)點的密鑰對;
:關(guān)系邊的集合,由節(jié)點vi來聲明和簽名的;
:函數(shù),為每一條邊計算權(quán)重值
2. 區(qū)塊鏈部分(The Blockchain)
定義1: 密碼散列函數(shù) , 有效的PoW區(qū)塊被定義為一個三元組:
參數(shù) :區(qū)塊對應(yīng)挖礦的難度值;
參數(shù) :前一個區(qū)塊的哈希值;
參數(shù) :PoW工作的隨機(jī)數(shù)答案;
參數(shù) :事務(wù)的負(fù)載。
3. PoT協(xié)議(The PoT protocol)
PoT協(xié)議除了PoW中事務(wù)負(fù)載和區(qū)塊頭元數(shù)據(jù)外,還包含節(jié)點提交給區(qū)塊的簽名,以及區(qū)塊所在時期信任網(wǎng)絡(luò)的摘要。
1)信任分區(qū)(Trust divisions)
對每個節(jié)點,使用連續(xù)棄權(quán)函數(shù)(waiverfunction)實現(xiàn)難度值與輸入信任級別成反比。另一種方法是,節(jié)點被分配到符合一定信任范圍的組,每個小組所有成員在相同難度水平挖礦。挖礦和廣播的機(jī)制與PoW相同,但注意到網(wǎng)絡(luò)中的任何節(jié)點都可以毫不含糊地、一致地與其他節(jié)點一起檢索任何一個節(jié)點的信任值。
2)信任衰退和恢復(fù)(Trust decay & recovery)
當(dāng)節(jié)點vi在周期t時刻,獲得了某一個區(qū)塊的記賬權(quán)后,它的信任值會進(jìn)行一個與它在周期t初始時刻信任值成正比例的快速衰退和緩慢恢復(fù)的過程。以防止節(jié)點vi持續(xù)保持高的信任等級,從而產(chǎn)生Sybil攻擊的隱患。這里引入了指數(shù)衰退函數(shù):
N(0) 是時間0是衰減量的值, 是衰減常數(shù)。
在每一個周期t,信任衰減過程是由節(jié)點執(zhí)行的,協(xié)議規(guī)則如下,衰減長度因子k,衰減常數(shù) λ,當(dāng)前周期t和當(dāng)前區(qū)塊鏈作為輸入,從時間t開始對 k/λ 個區(qū)塊,衰減對應(yīng)記賬權(quán)礦工的信任值。
3)對新邊的阻尼策略(Damping new edges)
一個節(jié)點與其他節(jié)點信任連接的權(quán)值與他們所加入網(wǎng)絡(luò)的時間成比例,防止節(jié)點過快地成為信任值最高的節(jié)點,分配規(guī)則如下:其中
4)PoT 有效區(qū)塊(Valid PoT block)
SKt 是節(jié)點vt的簽名, 是信任分區(qū), 是 對應(yīng)的難度等級,一個有效的PoT區(qū)塊滿足如下條件:
根據(jù)以上定義,總結(jié)PoT協(xié)議為,在每個周期 t開始時,假定網(wǎng)絡(luò)中所有節(jié)點都知道共識區(qū)塊鏈C的狀態(tài),包括對上一個周期 t-1信任圖的信息。節(jié)點在t-1信任圖上執(zhí)行信任算法,然后應(yīng)用信任衰退機(jī)制,衰減最近奪得區(qū)塊記賬權(quán)的節(jié)點的信任。礦工找到PoW難題的答案,就將答案連通區(qū)塊 廣播到網(wǎng)絡(luò)中。如果這是一個有效的區(qū)塊,其他節(jié)點驗證后礦工將它附加到區(qū)塊鏈C上。如果是非有效的,那么回退到步驟3),所有符合條件的節(jié)點繼續(xù)試圖找到難題的答案。
節(jié)點有可能同時監(jiān)聽到多個有效的區(qū)塊,規(guī)定了此時接收最高信任節(jié)點發(fā)出的區(qū)塊作為結(jié)果值。此外,網(wǎng)絡(luò)延遲或連接網(wǎng)絡(luò)的動態(tài)特性,不同的節(jié)點接收到不同的區(qū)塊,此時會出現(xiàn)分叉現(xiàn)象,與PoW不同,采用信任最值得信賴的分支作為正確的主區(qū)塊鏈。
論文出處:Leila Bahri, Sarunas Girdzijauskas. Trust Mends Blockchains: Living up to Expectations, 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS)

轉(zhuǎn)載請帶上網(wǎng)址:http://www.yadikedp.com/posjitwo/122684.html