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