Cosmos網(wǎng)絡(luò)的PoS是怎么一回事
掃描二維碼
隨時(shí)隨地手機(jī)看文章
Cosmos網(wǎng)絡(luò)是一個(gè)區(qū)塊鏈項(xiàng)目,允許任何一個(gè)了解Go編程語(yǔ)言基礎(chǔ)知識(shí)的人,根據(jù)Proof-of-Stake (PoS) 共識(shí)算法來(lái)創(chuàng)建自己的區(qū)塊鏈。這個(gè)算法非常簡(jiǎn)單,它基于你擁有一定數(shù)量的通證(在Cosmos中為ATOM)提供證明,使得可以驗(yàn)證構(gòu)成區(qū)塊鏈自身的區(qū)塊。下面舉一個(gè)實(shí)際運(yùn)用的例子來(lái)更好的理解它在現(xiàn)實(shí)中的運(yùn)作方法:
假設(shè)這個(gè)區(qū)塊鏈由最少數(shù)量的節(jié)點(diǎn)組成,即4個(gè)節(jié)點(diǎn)。我們將這些節(jié)點(diǎn)稱為A,B,C和D。在區(qū)塊鏈正常運(yùn)作期間,會(huì)發(fā)生的情況如下:
1. 出塊
每6秒必須出一個(gè)新的區(qū)塊,這個(gè)區(qū)塊包含上一個(gè)區(qū)塊生成以來(lái)的所有交易。如果新的區(qū)塊沒(méi)有任何交易,則為空的區(qū)塊。
為了生成一個(gè)區(qū)塊,必須選一個(gè)節(jié)點(diǎn)作為出塊者。下文我會(huì)講到如何選擇,現(xiàn)在假設(shè)隨機(jī)選到的這個(gè)人是B。
2. 驗(yàn)證出塊
區(qū)塊鏈中的所有節(jié)點(diǎn)都必須驗(yàn)證新生成的區(qū)塊,確保它包含和生成正確的交易信息。
在這個(gè)例子中,A,C和D必須來(lái)驗(yàn)證B生成的區(qū)塊。
3. 分發(fā)獎(jiǎng)勵(lì)
當(dāng)所有節(jié)點(diǎn)都驗(yàn)證完這個(gè)區(qū)塊之后,B可以獲得獎(jiǎng)勵(lì),A,C和D都可以獲得驗(yàn)證獎(jiǎng)勵(lì),只是B可以獲得稍微多一些的獎(jiǎng)金 (+4%)。
現(xiàn)在最重要的一步是如何做到公平的選擇哪個(gè)驗(yàn)證人來(lái)出塊。如果出塊者每次都是同一個(gè)人的話,那么所有的獎(jiǎng)勵(lì)都會(huì)屬于他,這會(huì)讓整個(gè)系統(tǒng)不公平。
為了解決這個(gè)問(wèn)題,Cosmos實(shí)現(xiàn)了隨機(jī)選擇算法。根據(jù)這個(gè)系統(tǒng),在現(xiàn)有的節(jié)點(diǎn)中選擇打包出塊的節(jié)點(diǎn),并考慮該節(jié)點(diǎn)所持有的ATOM數(shù)量。為了使這個(gè)系統(tǒng)盡可能的公平,節(jié)點(diǎn)所持有的通證數(shù)量對(duì)被選取的結(jié)果只會(huì)有部分影響,這樣保證了所有節(jié)點(diǎn)(甚至是持有極少量質(zhì)押總數(shù)的節(jié)點(diǎn))最終都能被選到。
為了更好地理解這一點(diǎn),采取另一個(gè)實(shí)際的例子加以說(shuō)明:
假設(shè)第一個(gè)區(qū)塊鏈通證分布情況如下:
A擁有100個(gè)通證
B擁有75個(gè)通證
C擁有30個(gè)通證
D有2個(gè)通證
正如上文說(shuō)過(guò)的那樣,A被選為出塊者的概率比D大,但是D不必?fù)?dān)心,因?yàn)橄到y(tǒng)保證他早晚會(huì)被選中。
· 通證總數(shù)會(huì)增加節(jié)點(diǎn)被選中為出塊者的概率,這些通證被稱為質(zhì)押。
驗(yàn)證人和懲罰
根據(jù)以上例子,暗示了驗(yàn)證人的重要性。
· 驗(yàn)證人即節(jié)點(diǎn),為了成為出塊者,他需要質(zhì)押,并且在任何情況下都要驗(yàn)證新生成的區(qū)塊。
驗(yàn)證人對(duì)區(qū)塊鏈本身至關(guān)重要,因?yàn)闆](méi)有它區(qū)塊鏈將不復(fù)存在。所以非常有必要去了解驗(yàn)證人準(zhǔn)確完成工作的重要性。如果一個(gè)驗(yàn)證人開(kāi)始偽造交易,甚至一群驗(yàn)證人合作偽造交易,這將是一場(chǎng)災(zāi)難。出于這個(gè)原因,在Cosmos中設(shè)置了一個(gè)懲罰質(zhì)押數(shù)的系統(tǒng)。
· 懲罰是一個(gè)過(guò)程,在這個(gè)過(guò)程中,如果驗(yàn)證人行為不當(dāng),其部分質(zhì)押將被罰沒(méi)。
委托人和綁定
正如我們所看到的那樣,隨機(jī)數(shù)系統(tǒng)通過(guò)通證持有數(shù)量來(lái)選取驗(yàn)證人出塊。為了使整個(gè)區(qū)塊鏈正常運(yùn)作,質(zhì)押足夠的通證是非常有必要的。如果沒(méi)有充足的通證,區(qū)塊鏈會(huì)停止運(yùn)行因?yàn)樗鼰o(wú)法確定區(qū)塊的出塊者。但是,如果只使用驗(yàn)證人本身?yè)碛械耐ㄗC,則沒(méi)有人愿意承擔(dān)此任務(wù)。驗(yàn)證人通常需要支持硬件(服務(wù)器,網(wǎng)絡(luò)連接等)和安裝所有內(nèi)容所需的時(shí)間方面的投資。如果他要購(gòu)買通證,那么驗(yàn)證人在經(jīng)濟(jì)方面會(huì)非常緊張,甚至無(wú)法承擔(dān)這筆費(fèi)用。
為了解決這個(gè)問(wèn)題,Cosmos把ATOM持有者稱為委托人。
· 作為ATOM持有者,委托人可以委托出通證來(lái)增加驗(yàn)證人的質(zhì)押總數(shù)從而獲得獎(jiǎng)勵(lì)。
· 把持有的ATOM委托給驗(yàn)證人這個(gè)行為被稱作綁定。
在使用Cosmos創(chuàng)建的任何區(qū)塊鏈中,只要你擁有這個(gè)區(qū)塊鏈中的通證,你就可以把它委托給任意一個(gè)驗(yàn)證人來(lái)增加他的質(zhì)押總數(shù),從而增加他被選取為區(qū)塊出塊者的概率。驗(yàn)證人會(huì)把這些質(zhì)押通證歸還,他們會(huì)把出塊和驗(yàn)證得到的獎(jiǎng)勵(lì)按比例分發(fā)給他們的委托人。
為了鼓勵(lì)A(yù)TOM持有者委托他們的通證,Cosmos同時(shí)引入了一個(gè)通貨膨脹系統(tǒng),當(dāng)ATOM的質(zhì)押數(shù)量小于2/3的ATOM流通總量,ATOM的價(jià)值每年都會(huì)下降,最高可下降20%。通過(guò)這個(gè)系統(tǒng),只持有通證而不去委托對(duì)于ATOM持有者沒(méi)有一點(diǎn)優(yōu)勢(shì),相反,將通證委托給驗(yàn)證人有很大可能性會(huì)增加通證總量來(lái)擴(kuò)大他們的投資價(jià)值。
所以,本質(zhì)上Cosmos上的PoS是這樣運(yùn)作的:
· ATOM持有者把通證委托給一個(gè)或者多個(gè)驗(yàn)證人;
· 其中一個(gè)驗(yàn)證人被選作出塊者完成他的職責(zé);
· 其他驗(yàn)證人來(lái)驗(yàn)證這個(gè)區(qū)塊;
· 如果出塊順利,出塊者會(huì)得到一些出塊補(bǔ)償,反之,出塊者會(huì)失去部分質(zhì)押;
· 如果每個(gè)驗(yàn)證人都準(zhǔn)確的完成工作,他會(huì)得到獎(jiǎng)勵(lì),反之,他會(huì)被懲罰掉部分的質(zhì)押數(shù)。
顯然,委托人和驗(yàn)證人需要共同承擔(dān)上述最后兩點(diǎn)。
當(dāng)驗(yàn)證人被懲罰掉部分的質(zhì)押量,委托人同樣也會(huì)失去部分通證。從另一方面來(lái)說(shuō),如果驗(yàn)證人正確的完成工作,委托人也會(huì)得到相對(duì)應(yīng)比例的獎(jiǎng)勵(lì)。
值得注意的是,驗(yàn)證人在給其委托人分配獎(jiǎng)勵(lì)之前,他通常會(huì)先保留一部分傭金。這部分傭金是驗(yàn)證人決定的,這些收益被用來(lái)維護(hù)他的服務(wù)和償還整個(gè)系統(tǒng)硬件方面的支出。
總 結(jié)
如果你是ATOM持有者,我建議你們盡早把通證委托給驗(yàn)證人。正如我們之前所看到的那樣,不去委托會(huì)有價(jià)值下降的風(fēng)險(xiǎn)。 如果你們將通證委托出去,投資回報(bào)率將高達(dá)9% (假設(shè)一個(gè)驗(yàn)證人的傭金率為10%和通貨膨脹率為10%)。