Algorand的共识协议及其核心的优势
Algorand 設(shè)計(jì)的初衷
- Algorand 想解決的核心問題是:去中心化網(wǎng)絡(luò)中低延時(shí)(Latency)和高置信度(Confidence)之間的矛盾。其中,延時(shí)指從發(fā)起交易到確認(rèn)交易所需要的時(shí)間;置信度指的是發(fā)出的交易不會(huì)再被更改的概率。
- 在比特幣網(wǎng)絡(luò)中,為了提高交易的置信度,用戶必須等待 6 個(gè)區(qū)塊確認(rèn)(約 1 個(gè)小時(shí))的確認(rèn)延時(shí);而如果選擇低延時(shí),比如少于 6 個(gè)確認(rèn),甚至是 0 確認(rèn),則必然導(dǎo)致低置信度,增加“雙花”攻擊的可能。雙花問題是絕大多數(shù)加密數(shù)字貨幣的核心問題。比特幣中采用 PoW 共識(shí)來解決,但鏈本身仍然有分叉的可能,并且需要較長(zhǎng)的共識(shí)達(dá)成過程和確認(rèn)時(shí)間。同時(shí) Algorand 還想解決比特幣中 PoW 挖礦耗費(fèi)巨大資源、交易確認(rèn)時(shí)間長(zhǎng)、易分叉、網(wǎng)絡(luò)呈中心化趨勢(shì),可擴(kuò)展性差等問題。
Algorand 是什么
- Algorand 是一個(gè)采用 permissionless 的純 PoS 共識(shí)的公鏈項(xiàng)目,結(jié)合改進(jìn)的拜占庭共識(shí)協(xié)議,可實(shí)現(xiàn)快速的交易確認(rèn),幾乎不會(huì)分叉,并且用戶數(shù)可無限擴(kuò)展,不會(huì)影響交易確認(rèn)速度。同時(shí)兼顧“可擴(kuò)展、安全性、去中心化”這個(gè)“公鏈不可能三角”
- 可擴(kuò)展性:Algorand 通過可驗(yàn)證隨機(jī)函數(shù)(VRF)隨機(jī)選擇區(qū)塊的生產(chǎn)者和驗(yàn)證者,一旦得知被選中,生產(chǎn)者或驗(yàn)證者只需廣播一個(gè)簡(jiǎn)短的消息即可證明自己的身份。每產(chǎn)生一個(gè)新區(qū)塊在網(wǎng)絡(luò)中需要交換的消息不會(huì)隨著用戶數(shù)的增大而改變,因此即使用戶規(guī)模增大,系統(tǒng)仍可保持較高的 TPS(每秒處理的交易數(shù))。Algorand 的 TPS 是比特幣的 125 倍。
- 安全性:由于采用了上述的 VRF 隨機(jī)選取生產(chǎn)者和驗(yàn)證者,并且選取的過程完全由節(jié)點(diǎn)獨(dú)立完成,因此Algorand 網(wǎng)絡(luò)中的攻擊者無法預(yù)先得知下一個(gè)區(qū)塊生產(chǎn)者和驗(yàn)證者,從而也就無法完成攻擊。具體來說,生產(chǎn)者和驗(yàn)證者的身份只有在他們確定自己被選中并廣播對(duì)應(yīng)的證明信息時(shí)才會(huì)被披露,這時(shí)攻擊者即使立刻采取各種攻擊手段,也無法阻止關(guān)于新區(qū)塊的正確消息在網(wǎng)絡(luò)中的傳播。
- 去中心化:Algorand 中每一輪的區(qū)塊生產(chǎn)者和驗(yàn)證者都是隨機(jī)選取的,并且加入網(wǎng)絡(luò)沒有任何門檻,因此是完全去中心化的。
Algorand 協(xié)議詳述
過程抽象
所有公鏈項(xiàng)目的區(qū)塊產(chǎn)生和共識(shí)的過程都可以抽象為兩個(gè)步驟:
- 選擇出區(qū)塊生產(chǎn)者,生成新區(qū)塊
- 其他節(jié)點(diǎn)對(duì)新區(qū)塊達(dá)成共識(shí)
關(guān)鍵問題
- 如何選擇區(qū)塊生產(chǎn)者,且保證公平和不可被預(yù)測(cè)?
- 如何對(duì)新區(qū)塊達(dá)成共識(shí)?
- 如何避免分叉?
- 如何提高安全性?
- 如何擴(kuò)展到更大規(guī)模的用戶?
比特幣采用哈希函數(shù)的隨機(jī)性(先發(fā)布問題的答案,比如前多少位是0,然后大家使用)來確保公平,采用工作量證明(PoW)達(dá)成共識(shí),同時(shí)能夠在一定程度上抵抗算力攻擊。然而比特幣仍然面臨上述消耗計(jì)算資源、確認(rèn)時(shí)間長(zhǎng)、易分叉以及擴(kuò)展性差等問題。以 Qtum 為代表的采用純權(quán)益證明(PoS)共識(shí)機(jī)制的項(xiàng)目,同樣采用了哈希函數(shù),并且不需要消耗大量的計(jì)算資源,然而仍然面臨易分叉、安全性及擴(kuò)展性的問題。
Aigorand的最核心的兩個(gè)優(yōu)勢(shì):純粹權(quán)益證明PPOS共識(shí)算法和原子交換技術(shù)
先前的工作量證明機(jī)制的缺陷與不足
總覽
- 目前已經(jīng)存在很多種方法來選擇下一個(gè)塊:特別是,工作量證明PoW,委托證明delegated proof ofstake,以及保證金的保證證明bonded proof of stake。然而,所有這些方法都存在以下致命缺陷:整個(gè)系統(tǒng)經(jīng)濟(jì)都可能會(huì)受到一小部分個(gè)體的控制。
- 這個(gè)缺陷是致命的,因?yàn)樗瑫r(shí)涉及安全行和去中心化性。讓整個(gè)經(jīng)濟(jì)體的命運(yùn)受到經(jīng)濟(jì)體中一小部分的支配是一顆定時(shí)炸彈。可以肯定的是,如果這些成員行為不端,他們會(huì)降低經(jīng)濟(jì)中的所有資產(chǎn),包括他們的資產(chǎn)。但是,如果他們自己的資產(chǎn)只占整個(gè)經(jīng)濟(jì)體的一小部分,那么他們也可能很容易彌補(bǔ)他們的損失,增加一些利潤(rùn)以獲得良好的衡量標(biāo)準(zhǔn),并對(duì)其他所有人造成巨大的損害。經(jīng)濟(jì)中不應(yīng)該存在一小部分個(gè)體控制整個(gè)經(jīng)濟(jì)生態(tài)體系的問題。
工作量證明Proof-of-Work:
工作量證明PoW,由Nakamoto用于比特幣并由許多其他區(qū)塊鏈繼承而出名。在這種方法中,所有參與的用戶在很高的層次上競(jìng)相解決一個(gè)非常復(fù)雜的加密難題。第一個(gè)解決這個(gè)難題的的礦工有權(quán)決定將自己的區(qū)塊附加到區(qū)塊鏈上,但是POW存在以下的缺陷,不容置疑。
第一個(gè)缺陷:PoW不能擴(kuò)展。
- 工作證明非常緩慢。比特幣的加密難題難以保證每10分鐘就找到一個(gè)解決方案,即使有很多的礦工進(jìn)行嘗試解決這個(gè)加密的問題。因此造成每一個(gè)區(qū)塊包含的交易信息很少,大約只有2000多條,平均到每一秒僅僅處理7筆交易,這個(gè)的并發(fā)的交易數(shù)量是相當(dāng)?shù)木徛?/li>
第二個(gè)缺陷:POW導(dǎo)致中心化的結(jié)果。
- 工作量證明PoW導(dǎo)致了巨大的權(quán)力集中。這種集中化是PoW既昂貴又浪費(fèi)的結(jié)果。今天的采礦利用專用硬件的機(jī)架和機(jī)架,并消耗大量的電力。一名礦工解密難題并產(chǎn)生新的區(qū)塊,所有其他人的努力都被浪費(fèi)了。如果沒有比特幣目前提供的補(bǔ)貼,在比特幣區(qū)塊鏈上發(fā)布單筆交易的成本約為20美元。
- 如果你想使用區(qū)塊鏈進(jìn)行日常交易,比如購(gòu)買一塊比薩餅,如果試圖用筆記本電腦解決加密問題,普通用戶很大概率會(huì)賠錢。因?yàn)闊o論輸贏,她必須支付為筆記本電腦計(jì)算所需的電力。這個(gè)電量可能不會(huì)很大,但她獲勝的可能性非常小,以至于在期望中她會(huì)賠錢。
- 只有專業(yè)礦工才能獲得微薄的利潤(rùn),他們已經(jīng)購(gòu)買了必要的資本支出來購(gòu)買機(jī)架和超專業(yè)采礦設(shè)備。因此,只有他們參與塊生成。此外,礦工與采礦池合作。今天,比特幣的區(qū)塊鏈僅由三個(gè)采礦池和以太坊的兩個(gè)采礦池控制。如果他們?nèi)绱藳Q定,或者他們被賄賂,這些挖掘池可以重寫數(shù)據(jù)庫(kù):他們可以擦除塊或更改塊的順序。工作證明已經(jīng)將在逐漸將去中心化的系統(tǒng)的轉(zhuǎn)變?yōu)闃O其中心化的系統(tǒng)。
- 總結(jié):因?yàn)楝F(xiàn)在對(duì)于比特幣的瘋炒,造成了比特幣的價(jià)格的飛速增長(zhǎng),因此參與挖礦的人越來越多,所以難題的難度也越來越高,很多時(shí)候往往10分鐘都解決不了這個(gè)難題。如果持續(xù)挖礦所帶來的的電力損耗,沒有經(jīng)濟(jì)的收入是難易度日的,因此很多礦工團(tuán)結(jié)在一起形成了礦池,只需要每個(gè)人各盡其職,按月領(lǐng)工資,避免了個(gè)人因?yàn)槌掷m(xù)挖不到礦所帶來的財(cái)產(chǎn)問題的困擾。這個(gè)過程往往就變成了中心化的存在,因?yàn)楸忍貛磐诘V解決問題的核心因素很大程度取決于計(jì)算力的大小。中心化的因素影響越來越嚴(yán)重,違背了區(qū)塊鏈先前分布式的初衷。
第三個(gè)缺陷:POW并不安全。
- 任何偏中心化的區(qū)塊鏈,無論是設(shè)計(jì)還是事實(shí)上,都是不安全的。但是,工作量證明還存在其他漏洞,并且特別容易受到網(wǎng)絡(luò)攻擊。區(qū)塊鏈最終是通信協(xié)議,并且任何這樣的協(xié)議在底層通信網(wǎng)絡(luò)上執(zhí)行。因此,攻擊者可以攻擊協(xié)議?-?例如,通過發(fā)送與規(guī)定的消息不同的消息?-?或通信網(wǎng)絡(luò)本身?-?例如通過干擾路由器,電纜等。
- PoW工作量證明的不確定性可能被低估了,因?yàn)槟壳胺治鰠^(qū)塊鏈安全性的方法存在缺陷。此分析通常僅關(guān)注協(xié)議攻擊,忽略網(wǎng)絡(luò)攻擊,尤其是在工作量證明的情況下,可能是致命的。
- 例如,在工作證明區(qū)塊鏈中,能夠?qū)⑼ㄐ啪W(wǎng)絡(luò)劃分一兩個(gè)小時(shí)的對(duì)手可以雙重花費(fèi)而不受懲罰。在成功的分區(qū)攻擊中,攻擊者阻止屬于一組用戶A的用戶發(fā)送的消息到達(dá)單獨(dú)的集合B中的用戶,反之亦然。網(wǎng)絡(luò)分區(qū)并沒有引起太多關(guān)注,因?yàn)樗徽J(rèn)為太昂貴而不實(shí)用。但是,一旦收益足夠高,網(wǎng)絡(luò)攻擊的成本可能是合理的。一個(gè)真正無國(guó)界的經(jīng)濟(jì)可能會(huì)花費(fèi)數(shù)萬億美元。如果一個(gè)對(duì)手非法獲得數(shù)十億美元,他可能愿意“投資”數(shù)百萬美元。
第四個(gè)缺陷:分叉。
- 工作量證明的另一個(gè)缺點(diǎn)是不可避免地存在分叉。每當(dāng)兩個(gè)或更多用戶在幾秒內(nèi)解決加密謎題時(shí),鏈就會(huì)分支,因?yàn)橛脩衄F(xiàn)在可能會(huì)看到下一個(gè)塊的多個(gè)候選者。 分叉可能會(huì)繼續(xù)存在一段時(shí)間,并且所有分支甚至可以通過添加新塊來延長(zhǎng)。但最終,除了一個(gè)分支之外的所有分支都將死亡,死亡分支中的所有分塊都將消失。
- 分叉是一個(gè)不受歡迎的,不確定性和延遲的來源。如果向您支付的款項(xiàng)出現(xiàn)在添加到鏈中的最新區(qū)塊中,您就不能認(rèn)為自己已付款并運(yùn)送貨物。這是因?yàn)槟承┓种Э赡軙?huì)克服當(dāng)前的鏈條,并且您的區(qū)塊可能最終處于死分支并消失。在考慮自己付費(fèi)之前,您需要等待一系列的塊添加到您的付款中,以便最大限度地減少軟叉出現(xiàn)的可能性,并且包含您的付款的塊將最終出現(xiàn)在死分支上。有些人建議在您之后添加六個(gè)塊以確保您的塊將保留在鏈上。其他人建議等待更長(zhǎng)時(shí)間,如果向您支付的款項(xiàng)相當(dāng)大。因此,一個(gè)區(qū)塊的確認(rèn)不是簡(jiǎn)簡(jiǎn)單單的等待十分鐘,對(duì)交易的最終結(jié)果確認(rèn)實(shí)際上是需要等待一個(gè)小時(shí),大約5個(gè)區(qū)塊的長(zhǎng)度。
- 有些人建議為了加快認(rèn)證過程,將出塊時(shí)間由先前的10分鐘修改為一分鐘。然而,通過這樣做,使得區(qū)塊鏈的分叉的概率顯著增加,那么對(duì)于最長(zhǎng)鏈的選擇有很大的難度,面對(duì)非常頻繁的分叉。大量的分叉區(qū)塊中的交易會(huì)在添加最長(zhǎng)鏈區(qū)塊之后會(huì)消失。相對(duì)于先前只需要確認(rèn)5個(gè)區(qū)塊等待一個(gè)小時(shí)相比,更改為1分鐘之后,那么等待確認(rèn)的區(qū)塊數(shù)量和時(shí)間都會(huì)增長(zhǎng)。
委托權(quán)益證明DelegatedProof-of-Stake
- 一種不同的方法是委托權(quán)益證明(PoS),這種信任機(jī)制普遍使用在以聯(lián)盟鏈為主導(dǎo)的區(qū)塊鏈中,這是一個(gè)非常簡(jiǎn)單的想法。社區(qū)授權(quán)一些特殊用戶,即代表,至少在一段時(shí)間內(nèi)選擇下一個(gè)區(qū)塊。(例如,在EOS中,代表人數(shù)為21.)因此,DPoS從一開始就是集中化的。希望所選代表誠(chéng)實(shí)地開始。但是,依靠需要長(zhǎng)期保持誠(chéng)實(shí)的節(jié)點(diǎn)是有風(fēng)險(xiǎn)的。因?yàn)檫@些代表的身份時(shí)確認(rèn)的,有可能用過現(xiàn)實(shí)世界進(jìn)行攻占,使得整個(gè)經(jīng)濟(jì)都受到經(jīng)濟(jì)的一小部分的支配。
- 實(shí)際上,在DPoS區(qū)塊鏈中,代表們可能擁有系統(tǒng)中總資金的一小部分,但是當(dāng)且僅當(dāng)大多數(shù)代表誠(chéng)實(shí)值得信任時(shí),整個(gè)區(qū)塊鏈才是安全的。
- 其他安全問題。即使假設(shè)有一個(gè)鐵定的保證,所有代表將永遠(yuǎn)保持誠(chéng)實(shí),他們也很容易受到攻擊。特別是,它們可能會(huì)因denial of service(DoS)攻擊而被打倒。在這樣的攻擊中,攻擊者用數(shù)以萬計(jì)的垃圾郵件轟炸他選擇的任何用戶,導(dǎo)致該不幸用戶的緩沖區(qū)溢出。如果超級(jí)節(jié)點(diǎn)受到如此轟炸,他將無法履行其職責(zé),即將新的有效交易整理到下一個(gè)區(qū)塊。區(qū)塊鏈將陷入停頓。DoS攻擊非常便宜,可以立即安裝,不僅可以對(duì)付21人,甚至可以對(duì)付1000人。由于超級(jí)節(jié)點(diǎn)已經(jīng)是眾所周知的,即使他們只持續(xù)一天或一小時(shí)或一分鐘,一個(gè)高級(jí)的對(duì)手也可能會(huì)通過快速的DoS攻擊擊倒所有超級(jí)節(jié)點(diǎn)。
Bonded Proof-of-Stake質(zhì)押權(quán)以證明
- BPoS允許20個(gè)用戶,200個(gè)用戶,盡可能多的節(jié)點(diǎn)愿意將一些錢放在桌面上,作為抵押,這些節(jié)點(diǎn)就是我們所有人選擇的代表,他們負(fù)責(zé)出塊,如果他們行為不端,他們的錢就會(huì)被沒收。
- 但是這種方法并不是很有效,一個(gè)簡(jiǎn)單的問題:你有多少可支配收入可以質(zhì)押?答案是非常少的一部分。因此,質(zhì)押權(quán)本質(zhì)上使得擁有大筆資金的大盜賊很容易將不成比例的錢進(jìn)行質(zhì)押,僅用于控制區(qū)塊鏈,大不了質(zhì)押金被沒收。
- 但是,真正去中心化的,可擴(kuò)展且安全的區(qū)塊鏈應(yīng)能保護(hù)數(shù)萬億美元的資產(chǎn)。由于行為不端,惡意用戶將賺取數(shù)十億美元。既然如此,你認(rèn)為他可能會(huì)被沒收幾百萬美元嗎?這只是做生意的代價(jià),相比較而言這是一個(gè)很小的代價(jià)。再一次,在Bonded-PoS中,也有同樣的致命缺陷:整個(gè)經(jīng)濟(jì)受到經(jīng)濟(jì)的一小部分的支配。事實(shí)上,在一個(gè)受保護(hù)的PoS中,這個(gè)經(jīng)濟(jì)體的一小部分由(所有者)“把錢質(zhì)押的人”組成。
Algorand的邏輯和純粹的股權(quán)證明Pure Proof-of-Stake
- Algorand的邏輯很簡(jiǎn)單:它將整個(gè)經(jīng)濟(jì)的安全與大多數(shù)經(jīng)濟(jì)體的誠(chéng)實(shí)聯(lián)系起來,并使一小部分經(jīng)濟(jì)體無法控制整個(gè)經(jīng)濟(jì)的命運(yùn)。
- Algorand基于新的Proof-of-Stake:PurePoS。從本質(zhì)上講,Pure PoS并不會(huì)因?yàn)楹ε铝P款而試圖讓用戶保持誠(chéng)實(shí)。更確切地說,它使的那些壞人想通過少量錢作弊是不可能的,但通過大量金錢作弊又是十分愚蠢的。
- 在Algorand,沒有永遠(yuǎn)被質(zhì)押的Money。所有的錢總是應(yīng)該存在的地方:在你的錢包里,正在準(zhǔn)備花的錢,或在Algorand區(qū)塊鏈為你提供的各種金融工具中。當(dāng)你考慮系統(tǒng)中的所有資金時(shí),無論它在哪里,當(dāng)大部分資金都在誠(chéng)實(shí)用戶的手中時(shí),整個(gè)系統(tǒng)就是安全的。
- 正如我們所說,一小部分資金的所有者不可能損害整個(gè)系統(tǒng),而且大多數(shù)資金的所有者行為不端以使自己的資產(chǎn)貶值將是十分愚蠢的。例如,在PoW或BPoS中,少數(shù)用戶可以阻止其他用戶進(jìn)行交易。在Algorand,只有大部分資金的所有者才能阻止其他用戶進(jìn)行交易。但如果他們這樣做,貨幣的聲譽(yù)將受到極大的損害,貨幣將不再被普遍接受,其購(gòu)買力將大大降低。對(duì)于大多數(shù)資金的所有者來說,這并不是一個(gè)好的結(jié)果
Algorand PPoS共識(shí)協(xié)議絕對(duì)核心優(yōu)勢(shì)在哪?
純粹股權(quán)證明PurePos的介紹
- Algorand的邏輯很簡(jiǎn)單:整個(gè)經(jīng)濟(jì)的安全與大多數(shù)可信經(jīng)濟(jì)體綁定,從而使小部分經(jīng)濟(jì)體無法控制整個(gè)經(jīng)濟(jì)生態(tài)的命運(yùn)。相對(duì)于聯(lián)盟鏈的將個(gè)人資產(chǎn)的一部分作為抵押品,如果他妄圖控制整個(gè)經(jīng)濟(jì)的生態(tài)命運(yùn)的時(shí)候。一旦被發(fā)現(xiàn)了,其個(gè)人的抵押物會(huì)被沒收,因此懲戒欺詐行為。Aigorand沒有個(gè)人抵押的說法,為了防止造假,因此pos協(xié)議發(fā)揮了很大的價(jià)值。
- 從本質(zhì)上講,Pure PoS并不會(huì)讓用戶因?yàn)楹ε聭土P,而試圖保持誠(chéng)實(shí)。更確切地說,它使得壞人想通過少量錢作弊是不可能的,但通過大量金錢作弊搞事情又是很傻的。
- 在Algorand,沒有被永遠(yuǎn)質(zhì)押的資金。所有的Money:在你的錢包里,正在準(zhǔn)備花的錢,或在Algorand為你提供的各種金融工具中。當(dāng)你考慮系統(tǒng)所有資金時(shí),無論它在哪里,只要大部分資金都在誠(chéng)實(shí)用戶的手中時(shí),整個(gè)系統(tǒng)就是安全的。這個(gè)是利用改進(jìn)的拜占庭容錯(cuò)進(jìn)行解決。
- 正如上面所述,一小部分資金的所有者不可能損害整個(gè)系統(tǒng),而且大多數(shù)資金的所有者作惡,使自己的資產(chǎn)貶值將是十分愚蠢的。例如,在PoW或BPoS中,少數(shù)用戶就可以阻止其他用戶進(jìn)行交易。在Algorand,只有大部分資金的所有者才能阻止其他用戶進(jìn)行交易。但如果他們這樣做,聲譽(yù)將受到極大的損害,資金將不再被普遍接受,其購(gòu)買力將大大降低。對(duì)于大多數(shù)資金的所有者來說,這并不是一個(gè)好的結(jié)果。
AIgorand PPOS如何出塊
- Aigorand解決了先前提出來的不可能三角問題:可擴(kuò)展性、安全性和去中心化
在Algorand一個(gè)新的區(qū)塊分為兩個(gè)階段:?
- 在第一階段,隨機(jī)選擇一個(gè)Token,其所有者就是下一個(gè)塊提議者。
- 在第二階段,從當(dāng)前系統(tǒng)中的所有通證中選擇1000個(gè)Token。
- 這1000個(gè)Token的所有者被選為第2階段委員會(huì)的一部分,該委員會(huì)批準(zhǔn)第一個(gè)用戶提出的區(qū)塊。
- 因此,委員會(huì)的一些成員可以被選擇兩次或更多次,通常是k次,在這種情況下,該成員將在委員會(huì)中擁有k票以批準(zhǔn)下一個(gè)區(qū)塊。
為什么第二階段是十分必要的?
- 在任何社會(huì)中,總會(huì)存在一小部分壞人;比如1%、也許2%。但只要大多數(shù)成員遵守規(guī)定的規(guī)則,就會(huì)存在一個(gè)穩(wěn)定和諧的社會(huì)。假設(shè)Algorand中10%的代幣屬于不誠(chéng)實(shí)的人。然后在階段1中,十分之一選擇提議塊的用戶可能是壞演員。因此,他可以告訴一些用戶該塊是X,而告訴其他用戶該塊是Y等等,從而產(chǎn)生關(guān)于區(qū)塊的意見分歧。
- 階段2消除了這個(gè)問題。實(shí)際上,如果你隨機(jī)選擇1000個(gè)代幣,當(dāng)最多10%的代幣是不誠(chéng)實(shí)的手牌時(shí),大多數(shù)所選硬幣屬于不良參與者的概率,即委員會(huì)大多數(shù)投票中屬于作惡節(jié)點(diǎn)的投票的概率是如此之低,以至于可以忽略不計(jì)。
- 假設(shè),你沒有被選中提議一個(gè)塊,也沒有被選中成為批準(zhǔn)擬議區(qū)塊的委員會(huì)成員。但是你看到給定的B區(qū)塊已經(jīng)獲得委員會(huì)700票的批準(zhǔn)。然后,你將會(huì)知道B的確是下一個(gè)塊。
委員會(huì)的選取
- Algorand采取的方式:委員會(huì)成員選擇自己。要想屬于委員會(huì),你的一枚代幣必須獨(dú)立贏得這個(gè)機(jī)會(huì),像加密地公平的彩票,你可以在你自己的計(jì)算機(jī)隱私中獨(dú)立運(yùn)行?-?也就是說,不需要與任何其他人交談。而且由于投票選取的過程是加密公平的,不能改變被選中的機(jī)會(huì)。
- 為了在假設(shè)10,000,000,000個(gè)通證中選擇1,000個(gè)隨機(jī)通證,每個(gè)代幣以概率1,000 /10,000,000,000被選擇?-?即,概率為1千萬分之一。
Algorand PPOS是如何解決區(qū)塊鏈不可能三角的呢
1.可擴(kuò)展性。
- 用戶運(yùn)行自己被選中了呢?無論用戶有多少通證,速度超級(jí)快。(此外,所有選取驗(yàn)證都是相互獨(dú)立運(yùn)行的,因此任何用戶都不必等待其他用戶完成彩票運(yùn)行。)
- 一旦被選中,每個(gè)成員就向網(wǎng)絡(luò)傳播單個(gè),短且立即計(jì)算的消息。因此,無論系統(tǒng)中有多少用戶,需要傳播的最大消息數(shù)為1000條短消息。
2.安全性。
- 假設(shè)我是一個(gè)大壞蛋,能夠隨時(shí)隨地誘惑用戶。顯然,我想腐敗委員會(huì)的成員,但有一個(gè)問題:我不知道他們是誰。之所以如此,是因?yàn)槲瘑T會(huì)成員選取和確定是通過秘密運(yùn)行,是通過對(duì)于每一個(gè)參與選取的用戶的私鑰以及部分相關(guān)的個(gè)人信息進(jìn)行加密計(jì)算得出的,整個(gè)過程是公平的且不可見的。
- 因此,只有用戶自己知道他自己的身份,其余的人是不可見的,直到他們通過網(wǎng)絡(luò)傳播他們的獲獎(jiǎng)門票和他們對(duì)該區(qū)塊的意見的那一刻。只有在那個(gè)時(shí)候,我才能了解委員會(huì)成員是誰,縱使我有超能力,我可以立即腐蝕整個(gè)委員會(huì)。但那又怎么樣?在這個(gè)時(shí)候再腐蝕他們?yōu)闀r(shí)已晚,因?yàn)閷?duì)于區(qū)塊的決策意見已經(jīng)傳播在網(wǎng)上了,這個(gè)時(shí)候是無法進(jìn)行人為干預(yù)的,從而避免了壞人對(duì)于信息傳播的攔截和篡改。
- 通俗來講:無論委員會(huì)成員表達(dá)了什么意見,他們已經(jīng)說過了,他們的獲獎(jiǎng)票和關(guān)于該區(qū)塊的上下意見在整個(gè)網(wǎng)絡(luò)中傳播。我沒有權(quán)力將他們的信息放回瓶中,而不是美國(guó)政府有權(quán)將維基解密病毒傳播的信息放回瓶中。
- 換句話說,Algorand方法是安全的,因?yàn)槭孪?#xff0c;對(duì)手不知道誰會(huì)腐敗,而且當(dāng)他做的時(shí)候,腐敗是無用的。與此相反,擁有一個(gè)固定的1000強(qiáng)委員會(huì)。即使委員會(huì)繼續(xù)執(zhí)政一分鐘,它也很容易受到DoS攻擊。如果委員會(huì)繼續(xù)執(zhí)政的時(shí)間更長(zhǎng),比如一周,那么成員甚至可能通過賄賂等傳統(tǒng)方式在現(xiàn)實(shí)世界中被腐化。
- 在Algorand,人們不會(huì)知道對(duì)誰進(jìn)行DoS攻擊,一旦委員會(huì)發(fā)言,DoS攻擊就沒用了。
3.去中心化性
- 是否只有少部分用戶負(fù)責(zé)選擇下一個(gè)區(qū)塊?其實(shí)不是,同時(shí)也沒有一個(gè)固定的,1000名委員會(huì)負(fù)責(zé)批準(zhǔn)該塊。這一次,委員會(huì)被隨機(jī)(并秘密)選中。下一次,將隨機(jī)(和秘密)選擇一個(gè)不同的委員會(huì)。每個(gè)人都有機(jī)會(huì)參與新區(qū)塊的生成,正是因?yàn)槲瘑T會(huì)的選取是動(dòng)態(tài)隨機(jī)的,整個(gè)過程是不受人為操控的,因此維護(hù)了公平和公正。
AIgorand是一個(gè)不會(huì)分叉的鏈
- Algorand技術(shù)的另一個(gè)優(yōu)勢(shì)是其鏈永遠(yuǎn)不會(huì)分叉。這是因?yàn)橹挥幸粋€(gè)區(qū)塊可以具有所需的委員會(huì)投票門檻。因此,在Algorand所有交易都是最終的。一旦出現(xiàn)一個(gè)塊,它就永遠(yuǎn)是鏈的一部分。如果新區(qū)塊包含向您支付的款項(xiàng),您可以認(rèn)為自己已付款完成并立即發(fā)送貨物。
- Algorand中分叉的概率按設(shè)計(jì)為10?1?(10的負(fù)十八次冪)。這種可能性是一種極低極其奇怪的選擇,但它實(shí)際上有一個(gè)自然的解釋。物理學(xué)家告訴我們,101?(十的十八次冪)恰好是從大爆炸到現(xiàn)在的秒數(shù)。
Algorand公鏈的第1層創(chuàng)新策略:可替換通證和原子多方傳輸
- 應(yīng)用場(chǎng)景:使用協(xié)議創(chuàng)建新的通證和資產(chǎn),包括各種各樣的通證化資產(chǎn),如衍生品、期權(quán)、掉期、證券等等
-
Algorand與先前的公有鏈的區(qū)別在于,Aigorand使用可替換通證和原子多方傳輸來消除第二層Layer-2方法上的缺點(diǎn)的前提小,并且將這些新功能放在第一層進(jìn)行實(shí)現(xiàn)
-
區(qū)塊鏈在不同的層面上處理不同的交易。第 1 層是最直接和最安全的一層。傳統(tǒng)意義上來說,第 1 層只處理普通支付和共識(shí)協(xié)議本身,新資產(chǎn)的發(fā)行、智能合約和其他的所有事務(wù)都在第 2 層處理。但眾所周知,第 2 層的協(xié)議速度慢、成本高并且容易出錯(cuò)。相比之下,Algorand 在第 1 層還會(huì)處理標(biāo)準(zhǔn)資產(chǎn)和大量智能合約的發(fā)行,包括資產(chǎn)代幣化、原子交易和抵押借貸,并且能夠在必要時(shí)隔離和收回有爭(zhēng)議的交易。事實(shí)上,Algorand 在第 1 層就滿足了智能合約的大多數(shù)當(dāng)前用例,并且具有與普通支付手段相同的安全性和效率。
好處
- 在通用的區(qū)塊鏈術(shù)語中,第1層是處理基本支付和共識(shí)的協(xié)議,而第2層包括智能合約和與生成新的區(qū)塊沒有直接聯(lián)系的任何其他功能。
Algorand選擇在第一層實(shí)現(xiàn)核心功能主要有三個(gè)原因
1,安全性
- 在第1層實(shí)現(xiàn)的任何功能都享有最高級(jí)別的安全性: 即共識(shí)協(xié)議本身的安全性。
- 第一層交易是由專家設(shè)計(jì)和證明,經(jīng)過全面徹底地測(cè)試,經(jīng)過第三方審計(jì)驗(yàn)證,并由世界各地的貢獻(xiàn)者進(jìn)行檢查。針對(duì)第1層的任何資產(chǎn)的攻擊向量,如雙花、拒絕服務(wù)攻擊等等,面對(duì)的都是跟Algo本身,即Algorand公鏈的原生通證,相同的安全機(jī)制。
2,兼容性
- 所有區(qū)塊鏈參與者對(duì)第一層功能的釋義都是一樣的。盡管核心共識(shí)協(xié)議可以以去中心化的共識(shí)方式進(jìn)行擴(kuò)展,所有參與的軟件都使用相同的協(xié)議。這可以促進(jìn)兼容性。如果兩個(gè)用戶使用相同的第一層實(shí)現(xiàn)來創(chuàng)建他們自己的可替換通證,那么為一個(gè)通證開發(fā)的應(yīng)用程序也可以為另一個(gè)通證工作。
- 相反,如果兩個(gè)用戶通過兩個(gè)單獨(dú)設(shè)計(jì)的智能合約來創(chuàng)建他們的可替換通證,那么這兩個(gè)設(shè)計(jì)可能會(huì)有細(xì)微的差別,為其中一個(gè)通證開發(fā)的DApp可能無法為另一個(gè)工作。
3.效率
- 在第1層實(shí)現(xiàn)的核心功能可以直接通過系統(tǒng)來優(yōu)化其在計(jì)算、存儲(chǔ)、通信等方面的性能。相比之下,依賴虛擬機(jī)和其他第二層設(shè)備通常會(huì)導(dǎo)致不必要的復(fù)雜性和成本消耗。
- 需要指出的是: 并不是所有的新功能都適合在第1層實(shí)現(xiàn)。特別是,在第1層中實(shí)現(xiàn)的任何功能都必須不能顯著降低共識(shí)協(xié)議的速度; 需要考慮它是否重要到應(yīng)該在平臺(tái)中獲得這樣的地位,并且應(yīng)該以一種能夠簡(jiǎn)化正確性驗(yàn)證的方式來設(shè)計(jì)。
第1層可替換通證fungible tokens
- 通證是可替換的,如果它的任何兩個(gè)單位是可互換的。可替換通證的一個(gè)典型的例子就是貨幣,因?yàn)槿魏蝺蓚€(gè)單位都具有相同的購(gòu)買力。另一個(gè)可以是“忠誠(chéng)度計(jì)劃中”的“積分Points”,或者是一個(gè)股票的單位。相比之下,在一組不可替換的通證中,兩個(gè)通證可以彼此非常不同,并且可以非常不同地估值。比如說:同一棟大樓里的公寓,每個(gè)公寓都有自己的戶型和光照,針對(duì)每一個(gè)公寓的定價(jià)是不一致的。
- Algorand允許用戶生成自己的可替換通證,從而成為這些通證的管理者:
通證管理者可以:
- 生成有一定供應(yīng)量的新的通證
- 增加新通證的流通供應(yīng)量
- 凍結(jié)指定賬戶中的通證(該通證由該管理者生成)
- 將管理者權(quán)限轉(zhuǎn)移給新的通證管理者
- 這些屬性類似于Ethereum的ERC-20通證所包含的屬性。然而,在Algorand中,這些屬性是在第1層實(shí)現(xiàn)的,而不是像在Ethereum中那樣通過第二層的智能合約來實(shí)現(xiàn)的。
- 當(dāng)可替換通證被用于發(fā)行一種新貨幣時(shí),在第一層實(shí)現(xiàn)尤其有價(jià)值。如果一種貨幣是通過智能合約發(fā)行的,合約中出現(xiàn)的最微小的錯(cuò)誤,或者將現(xiàn)有的應(yīng)用程序用于新貨幣時(shí)最微小的兼容性問題,都可能,并且已經(jīng)在現(xiàn)實(shí)中的很多情況下,造成很大的損失。
第一層原子多方傳輸ATOMIC MULTI-PARTY TRANSFERS
- Algorand允許多個(gè)用戶通過一次鏈上交易來執(zhí)行所有需要的傳輸,這些用戶可能持有不同的可替換通證,并且已經(jīng)協(xié)商好了這些通證的一組傳輸。也就是說, 如果:
- T1、T2、……可能是不同的可替換通證,包括Algo;
- a、b、……可能是不同的用戶;
- 并且a向b傳輸x1單位的T1; c轉(zhuǎn)給d x2單位的T2; 等等,每個(gè)都是有效轉(zhuǎn)賬;
然后,在每個(gè)用戶對(duì)自己的傳輸進(jìn)行數(shù)字簽名之后,或者
- 在給定的時(shí)間內(nèi)沒有任何一個(gè)被執(zhí)行,或者
- 所有轉(zhuǎn)賬都被執(zhí)行了。
- 也就是說,AMPT保證同時(shí)執(zhí)行各種可替換通證的多次傳輸。同時(shí)性是一種非常寶貴的屬性,但迄今為止一直難以實(shí)現(xiàn)。考慮上面的這組傳輸。用戶a可以單獨(dú)向用戶b傳輸x1單位T1通證。但是,在完成了她的轉(zhuǎn)移之后,用戶a對(duì)b和所有其他用戶也將執(zhí)行他們自己承諾的傳輸其實(shí)并沒有信心。這解釋了為什么通常使用智能合約來確保AMPT的全有或全無特性。但是智能合約是不太好用,容易出錯(cuò)的,代價(jià)比較高的第二層結(jié)構(gòu)。因此,Algorand在第1層實(shí)現(xiàn)了AMPT。
注意,可替換通證本質(zhì)上比不可替換通證更容易處理。當(dāng)供應(yīng)量大到數(shù)十億個(gè)通證時(shí),某個(gè)給定用戶擁有的可替換通證可以很容易地用幾個(gè)字節(jié)表示:即,由用戶的余額表示。但是,表明一個(gè)用戶擁有哪些不可替換通證可能需要很長(zhǎng)的列表。為了有效地處理不可替換通證,Algorand將著眼于新技術(shù),比如在《Algorand即將發(fā)布的創(chuàng)新技術(shù)》一文中提到的自驗(yàn)證交易 self-verifying transactions。
AMPT的使用案例
- 雙邊交換
- 循環(huán)交易
- 全有或全無籌資
- 去中心化交易所
- 內(nèi)部記賬單位
參考鏈接
- Algorand公鏈的第1層創(chuàng)新策略:可替換通證和原子多方傳輸
- Qtum研究院:深度解析Algorand共識(shí)協(xié)議
總結(jié)
以上是生活随笔為你收集整理的Algorand的共识协议及其核心的优势的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翼支付还信用卡要手续费吗?这3个APP还
- 下一篇: codeforces 344A-C语言解