使用公鏈,發(fā)送比特幣,以及發(fā)送以太坊上的代幣,都是需要用戶支付礦工費(fèi)的。這和我們使用微信支付,支付寶支付不需要手續(xù)費(fèi)是不一樣的(嚴(yán)格來(lái)說(shuō),微信支付等是向商家收費(fèi))。
我們可以從四個(gè)視角來(lái)分析諸如比特幣以太坊等公鏈的礦工費(fèi)設(shè)計(jì)。
1誰(shuí)付錢?
2付多少?
3誰(shuí)收錢?
4誰(shuí)出資源?
5礦工費(fèi)的設(shè)計(jì)如何利于構(gòu)建更完善的網(wǎng)絡(luò)?
絕大多數(shù)公鏈都是需要用戶支付礦工費(fèi)才能發(fā)送交易的。只有極少數(shù)的公鏈?zhǔn)褂昧肆闶掷m(xù)費(fèi)的設(shè)計(jì),如EOS。
比特幣的礦工費(fèi)的設(shè)計(jì)原則是,第一是按用戶發(fā)送的交易的字節(jié)數(shù)來(lái)計(jì)費(fèi);第二字節(jié)數(shù)的單價(jià)一般是有一個(gè)最低價(jià)原則,然后按市場(chǎng)競(jìng)爭(zhēng)誰(shuí)出更高價(jià)誰(shuí)獲得更快的確認(rèn)。
比特幣的礦工費(fèi)就是比特幣本身。
交易的字節(jié)數(shù)最低單價(jià),一般是在完整節(jié)點(diǎn)錢包里設(shè)定的,基本上是1sat/byte。雖然這并不是強(qiáng)制的全網(wǎng)共識(shí)規(guī)則,但低于完整節(jié)點(diǎn)設(shè)定的礦工費(fèi),更大的可能性會(huì)被節(jié)點(diǎn)拒絕。
BTC、BCH和BSV,以及絕大多數(shù)UTXO制的區(qū)塊鏈產(chǎn)品,都采用類似的礦工費(fèi)設(shè)計(jì)。基本上最低字節(jié)數(shù)單價(jià)為1sat/byte。BCH和BSV因?yàn)槭褂萌藬?shù)少,用戶基本上都是按最低價(jià)來(lái)支付礦工費(fèi),用戶之間不會(huì)涉及到礦工費(fèi)競(jìng)價(jià)排名。BTC使用多,會(huì)涉及到競(jìng)價(jià)排名,現(xiàn)在一般為10sat/byte。
雖然BTC的礦工費(fèi)設(shè)計(jì)比BCH等要復(fù)雜一點(diǎn),BTC的隔離見證交易數(shù)據(jù)分見證數(shù)據(jù)和基礎(chǔ)交易數(shù)據(jù),后者的最低字節(jié)單價(jià)是前者的3倍。但這些細(xì)節(jié)我們可以不用在意。
在比特幣上發(fā)token交易,也是要消耗比特幣作為礦工費(fèi)的。如在BTC網(wǎng)絡(luò)上發(fā)omni-usdt,礦工費(fèi)也是BTC;在BCH網(wǎng)絡(luò)上發(fā)SLP代幣,礦工費(fèi)也是BCH。代幣交易的礦工費(fèi)同樣是按字節(jié)數(shù)來(lái)衡量。
比特幣的礦工費(fèi),最終是被礦工收走了的。礦池打包區(qū)塊時(shí),會(huì)按用戶發(fā)送交易時(shí)添加的礦工費(fèi)收進(jìn)coinbase交易。
礦工也是主要的比特幣節(jié)點(diǎn)運(yùn)營(yíng)者,比特幣交易需要節(jié)點(diǎn)來(lái)驗(yàn)證、廣播、和存儲(chǔ)。所以可以說(shuō)礦工費(fèi)是用戶支付給礦工,礦工付出交易所需的資源。
以太坊的礦工費(fèi)設(shè)計(jì)原則是,第一是按用戶發(fā)送的交易的計(jì)算步驟來(lái)計(jì)費(fèi);第二同樣是每一個(gè)計(jì)算步驟有一個(gè)最低單價(jià),然后按市場(chǎng)競(jìng)價(jià)排名來(lái)優(yōu)先獲得更快的確認(rèn)。
以太坊的礦工費(fèi)是引入了一個(gè)額外的幣,叫g(shù)as(燃?xì)猓琯as和以太幣是在系統(tǒng)中有固定兌換價(jià)格的。
以太坊的交易涉及到很多的合約代碼之類的,需要計(jì)算執(zhí)行。gas的設(shè)計(jì)是綜合考慮了交易的計(jì)算量、存儲(chǔ)和帶寬需求。
單純發(fā)送以太幣,需要執(zhí)行的是系統(tǒng)合約,涉及到的gas量是相對(duì)更少的。而要在以太坊上發(fā)送token,需要額外執(zhí)行token合約,這就需要支付更多的gas。平均來(lái)說(shuō),發(fā)token的礦工費(fèi)是發(fā)ETH的1.5倍。
但無(wú)論是發(fā)以太坊,還是發(fā)token,以太坊網(wǎng)絡(luò)都是統(tǒng)一按gas來(lái)計(jì)算礦工費(fèi)。而gas值反應(yīng)的就是交易的計(jì)算量、存儲(chǔ)和帶寬需求。
因?yàn)橐蕴滑F(xiàn)在使用量也非常大,需要用戶之間競(jìng)價(jià)排名來(lái)優(yōu)先獲得確認(rèn)。而且以太坊的礦工費(fèi)設(shè)計(jì)是先收礦工費(fèi),再確認(rèn),如果你的礦工費(fèi)付的不夠,有可能得不到確認(rèn),但礦工費(fèi)卻被沒收了,交易發(fā)送失敗。這就很讓人討厭。
相對(duì)的,比特幣交易礦工費(fèi),只是反應(yīng)了存儲(chǔ)和帶寬,就是按字節(jié)數(shù)來(lái)計(jì)算。
以太坊的礦工費(fèi)也是由礦工收走的,礦工是以太坊節(jié)點(diǎn)主要運(yùn)營(yíng)者,同樣是相當(dāng)于礦工提前交易所需的計(jì)算、帶寬和存儲(chǔ)資源,換取用戶支付的礦工費(fèi)。
EOS的礦工費(fèi)設(shè)計(jì)顯現(xiàn)出了BM的設(shè)計(jì)技巧,有人認(rèn)為是好,也有人認(rèn)為不好。
EOS的交易是精確地按交易所需要資源分成了CPU(計(jì)算步驟)、Net(帶寬)和內(nèi)存Ram(存儲(chǔ))。CPU、Net和Ram是可以看成是三個(gè)幣,和EOS有一定的匯率關(guān)系。
用戶發(fā)送交易里,系統(tǒng)會(huì)計(jì)劃交易需要的這三種資源,然后進(jìn)行計(jì)價(jià)。
但EOS系統(tǒng)出售這三種資源的方式卻是“租賃”。用戶先購(gòu)買EOS,然后分別抵押進(jìn)三個(gè)系統(tǒng)合約,換取這三種資源。其中CPU和Net是穩(wěn)定價(jià)格的,你花了多少EOS抵押,未來(lái)你也可以贖回對(duì)應(yīng)的EOS數(shù)量,不會(huì)少。但Ram是波動(dòng)價(jià)格的,你贖回時(shí)可能變多,也可以變少。
因?yàn)榈盅篍OS獲得發(fā)送交易需要的三種資源,但抵押又可贖回,所以EOS被稱為是免礦工費(fèi)的。這是一種變相的免費(fèi)的。
同樣的在EOS上發(fā)送token,因?yàn)橐獔?zhí)行除系統(tǒng)合約外的額外合約,也是需要更多的資源的,用戶就需要抵押更多的EOS來(lái)獲得使用權(quán)。
EOS的礦工費(fèi)是不支付給超級(jí)節(jié)點(diǎn)的(礦工),因?yàn)檫@是變相的免費(fèi)。但超級(jí)節(jié)點(diǎn)是提供交易所需的資源的。超級(jí)節(jié)點(diǎn)為什么會(huì)提供資源但又不收礦工費(fèi)呢?因?yàn)槌?jí)節(jié)點(diǎn)可以獲得區(qū)塊獎(jiǎng)勵(lì)。
比特幣和以太坊礦工,是同時(shí)獲得礦工費(fèi)和區(qū)塊獎(jiǎng)勵(lì)的雙重獎(jiǎng)勵(lì)。
還有一類公鏈的礦工費(fèi)設(shè)定是固定費(fèi)用,并且礦工費(fèi)承擔(dān)了獨(dú)特經(jīng)濟(jì)學(xué)責(zé)任。vsys公鏈的礦工費(fèi)設(shè)定就是固定的。
在vsys公鏈上發(fā)送基礎(chǔ)貨幣vsys,用戶需要支付固定的礦工費(fèi)0.1vsys,發(fā)送vsys上的代幣(如IPX)需要支付0.3vsys作為礦工費(fèi)。
vsys上的一切礦工費(fèi)都是直接銷毀。相當(dāng)于給全網(wǎng)的經(jīng)濟(jì)系統(tǒng)設(shè)計(jì)一個(gè)通縮機(jī)制,受益者是全網(wǎng)持幣人。
vsys提供執(zhí)行交易的計(jì)算、傳輸和存儲(chǔ)資源的是超級(jí)節(jié)點(diǎn)(礦工)是收不到礦工費(fèi)的,但有區(qū)塊獎(jiǎng)勵(lì)。
下面我們來(lái)思考礦工費(fèi)的設(shè)計(jì)如何優(yōu)化系統(tǒng)設(shè)計(jì)。
比特幣和以太坊的礦工費(fèi)最終是被礦池收走的,所以礦池就有動(dòng)機(jī)想方設(shè)法捕捉更多的交易,以獲得更多的礦工費(fèi)。礦池是通過(guò)在全球部署更的完整節(jié)點(diǎn)來(lái)捕捉用戶的交易。這種設(shè)計(jì)就有利于用戶交易的及時(shí)處理,有利于推動(dòng)礦池去搭建更好的基礎(chǔ)硬件網(wǎng)絡(luò)。
比特幣的礦工費(fèi)設(shè)計(jì)非常簡(jiǎn)潔,系統(tǒng)設(shè)計(jì)也相對(duì)簡(jiǎn)潔。以太坊的礦工費(fèi)就因?yàn)樘珡?fù)雜,出現(xiàn)過(guò)多起利用gas對(duì)系統(tǒng)發(fā)起攻擊的事件。
EOS的礦工費(fèi)設(shè)計(jì)非常精細(xì),有利于系統(tǒng)設(shè)計(jì)師展現(xiàn)實(shí)力。EOS有兩種重大升級(jí)就是針對(duì)Ram和CPU資源定價(jià)問(wèn)題。變相的“免費(fèi)”設(shè)計(jì),也讓EOS系統(tǒng)資源被大量浪費(fèi),EOS區(qū)塊鏈現(xiàn)在已經(jīng)超過(guò)了600G,非常大了。因?yàn)槌?jí)節(jié)點(diǎn)收不到礦工費(fèi),所以失去了像比特幣以太坊那樣的由礦池構(gòu)建更好的基礎(chǔ)網(wǎng)絡(luò)的動(dòng)因。EOS礦工費(fèi)是太復(fù)雜,讓用戶很難受。
vsys的礦工費(fèi)設(shè)計(jì)最簡(jiǎn)潔,就是固定費(fèi)用,系統(tǒng)設(shè)計(jì)相對(duì)最簡(jiǎn)潔了。vsys礦工費(fèi)的銷毀機(jī)制,給經(jīng)濟(jì)系統(tǒng)設(shè)計(jì)了一個(gè)通縮機(jī)制,有利于基礎(chǔ)貨幣的價(jià)格堅(jiān)挺。和EOS一樣,因?yàn)槌?jí)節(jié)點(diǎn)收不到礦工費(fèi),所以超級(jí)節(jié)點(diǎn)沒有動(dòng)機(jī)去擴(kuò)展建設(shè)更好的硬件基礎(chǔ)網(wǎng)絡(luò)。
vsys的礦工費(fèi)的設(shè)計(jì)是固定費(fèi)用,不考慮網(wǎng)絡(luò)資源;比特幣的礦工費(fèi)設(shè)計(jì)更多考慮存儲(chǔ)資源;以太坊的礦工費(fèi)設(shè)計(jì)向計(jì)算資源傾斜;EOS是精細(xì)地將資源劃分成三種來(lái)分別定價(jià)。
礦工費(fèi)的主要設(shè)計(jì)目的是防止DDOS這樣的流量攻擊,有了礦工費(fèi)作為成本,以此防止發(fā)往區(qū)塊鏈上發(fā)大量的攻擊交易。
設(shè)計(jì)的越精細(xì),不考慮代碼質(zhì)量的話,那對(duì)交易就越公平,就越能優(yōu)化資源配置,黑客就越難通過(guò)構(gòu)建特殊的交易來(lái)攻擊網(wǎng)絡(luò)。反過(guò)來(lái),越粗糙的設(shè)計(jì),就可能給黑客留下漏洞,通過(guò)構(gòu)造特殊的交易,花少量的礦工費(fèi),卻達(dá)到極大地浪費(fèi)系統(tǒng)資源的目的。但另外一方面,設(shè)計(jì)的越精細(xì),對(duì)代碼質(zhì)量要求就越高,而留下bug的可能性就越大。
萬(wàn)事古難全啊。
EOS和vsys因?yàn)槌?jí)節(jié)點(diǎn)收不到礦工費(fèi),但因?yàn)橛袇^(qū)塊獎(jiǎng)勵(lì),所以也存在競(jìng)爭(zhēng)關(guān)系,這一點(diǎn)彌補(bǔ)了超級(jí)級(jí)缺乏動(dòng)機(jī)去擴(kuò)展硬件基礎(chǔ)網(wǎng)絡(luò)的動(dòng)因。如果超級(jí)節(jié)點(diǎn)不建設(shè)更好的網(wǎng)絡(luò),可能會(huì)失去用戶的投票。
礦工費(fèi)越低,甚至免費(fèi),就越容易獲得用戶的使用。這也是EOS真實(shí)TPS最高的原因。
我們使用表格來(lái)統(tǒng)計(jì)下上面四種公鏈的礦工費(fèi)設(shè)計(jì)
責(zé)任編輯;zl
評(píng)論