來源 |pintail.xyz
作者 |Pintail
我可以賺多少?
以太坊權益共識機制的核心部分於 2020 年 12 月啟動了,最終交付了從工作量證明過渡的第一階段——這是在 2014年就提出的願景,比以太坊主網上線早了整整一年。在以太坊的權益共識機制裡,區塊鏈的安全由驗證者來提供,他們需要存入 32 個 ETH 作為保證金,且負責對新的區塊鏈(即信標鏈) 狀態達成共識。他們誠實履行職責的話會得到獎勵,失職的話則會遭受相應的懲罰。如果驗證者被證明有惡意行為,他們還會受到嚴重的懲罰,即罰沒。
與工作量證明型區塊鏈的區塊獎勵相比,這些驗證者的獎勵與懲罰會相對複雜一點。儘管有一些優秀資源,例如 beaconcha.in,可以幫助驗證者更好了解他們能賺多少,但並沒有明確解釋是怎麼來的。本文將嘗試給驗證者解釋清楚他們可以賺多少,以及收益差異是怎麼來的。
讀者可能已經看過執行一個驗證者節點的“APR (年化率)估值”,比如在權益證明 launchpad上的圖表,並好奇這些數值是否現實——這些數值到底怎麼來的?事實上,目前所有的 APR 估值都是基於一系列的假設 (通常沒有說明),有些估值甚至用的是舊版本的信標鏈規範。首先,讓我們看一下如果所有驗證者都完美參與的話,驗證者可以賺取多少。我將依據 Ben Edgington 的註釋規範來做預估。請注意:我們將使用 2020 年 12 月信標鏈上線所用的主網規範。即將要進行的 Altair 信標鏈分叉將對驗證者獎勵和懲罰進行完善。
可獲得的獎勵
以太坊驗證者參與網路的每個 epoch (6.4 分鐘) 都會獲得獎勵。他們收到的獎勵是 base_reward (基礎獎勵) 的倍數。信標鏈有三方面的值需要投票,每個驗證者對其中一個當前值投了正確的票 (或用行話說,做了證明) 就會得到一份 base_reward。我會把這三項獎勵組合起來稱為"正確率獎勵 (accuracy reward)"。如果他們的投票 (證明) 馬上被打包到信標鏈區塊裡,他們還會有第四項獎勵——打包獎勵 (inclusion reward)。因此,一個驗證者在每個 epoch 裡可獲得的最高獎勵是 4 * base_reward。為了搞清楚驗證者可賺取多少,那麼我們需要了解 base_reward 是如何確定的。
base_reward 的水平是由網路裡的活躍驗證者數決定的,然後調整為激勵合適規模的驗證者集。我們希望激勵足夠多的驗證者加入到驗證者集裡,而不需要支出超過必要的發行量。如果沒有那麼多的驗證者,協議需要提供更高得回報,以鼓勵更多驗證者加入。但是,如果已經有大量的驗證者了,協議可以支出更少,節省發行量。信標鏈計算這點的函式是一個平方根倒數——也就是說,獎勵水平是由除以當前質押的 ETH 數的平方根得出的 (選擇使用平方根倒數關係的原因在 Vitalik Buterin 的設計原理檔案中有解釋)
根據註釋規範:
base_reward = effective_balance * BASE_REWARD_FACTOR // integer_squareroot(total_balance) // BASE_REWARDS_PER_EPOCH
規範就是用上面的公式來計算每個驗證者的 base_reward,以 Gwei (=10-9 ETH) 為單位,這些術語代表的意義如下:
在理想情況下,一切都會簡化,因為所有驗證者的有效餘額都是 32 個 ETH。因此, n 個驗證者的理想基礎獎勵為:
base_reward = 512e9 // integer_squareroot(n * 32e9)
(再次提醒,在信標鏈規範裡,計算單位是 Gwei。我們可以除以 10^9 來換算成 ETH)
理想情況
根據上面的資訊,如果所有驗證者都完美參與 (即驗證者在每個 epoch 裡獲得 4*base_reward,我們可以計算可得獎勵的最大值,然後用它來乘一年的 epoch 數,就可以算出一年的理想獎勵金額。這就是一年的秒數 ((31556952) 除以一個 epoch 的秒數 (384),得出每年有接近 82180 個 epoch。每個驗證者每年得到的理想獎勵如下圖,由關於質押的總 ETH 的函式得到。
輸入1
# define annualised base reward (measured in ETH) for n validators# assuming all validators have an effective balance of 32 ETHimport mathEPOCHS_PER_YEAR = 82180def annualised_base_reward(n): return EPOCHS_PER_YEAR * 512 / math.sqrt(n * 32e9)
輸入 2
# plot ideal ETH staking returnimport matplotlib.pyplot as pltn_validators = [n for n in range(524288//32,int(10e6)//32,3200)]ideal_reward = [4 * annualised_base_reward(n) for n in n_validators]fig = plt.figure(figsize=(12, 8))ax1=fig.add_subplot(111, label="1")ax2=fig.add_subplot(111, label="2", frame_on=False)ax1.plot(n_validators, ideal_reward)ax2.plot([n * 32e-6 for n in n_validators], [100 * r / 32 for r in ideal_reward])ax1.set_xlabel('Number of validators')ax1.set_ylabel('Ideal annual per-validator reward (ETH)')ax2.set_title('Ideal annual validator returns')ax2.xaxis.tick_top()ax2.yaxis.tick_right()ax2.xaxis.set_label_position('top') ax2.yaxis.set_label_position('right') ax2.set_xlabel('Total ETH staked (millions)')ax2.set_ylabel('Annual yield on 32 ETH deposit (%)');
現將圖中的一些數值製成如下列表,以供參考:
輸入 3
# tabulate a few values for validator returnimport pandas as pdn_validators = [524288 // 32, 50000, 100000, 150000, 200000, 250000, 300000, 10000000 // 32]staked = [32 * n for n in n_validators]ideal_reward = [4 * annualised_base_reward(n) for n in n_validators]annual_yield = [100 * r / 32 for r in ideal_reward]data = { 'n_validators': n_validators, 'total_staked (ETH)': staked, 'annual_reward (ETH)': ideal_reward, 'annual_yield (%)': annual_yield}df = pd.DataFrame(data)pd.options.display.float_format = '{:,.2f}'.formatdf.set_index('n_validators')
區塊獎勵
上面的圖和表格給了我們一個高度理想化的版本,即當所有驗證者都完美參與,所有獎勵都平均分配的情況。但是,這個版本其實漏掉了一項重要組成部分,即信標鏈的區塊獎勵 (block reward)。
區塊獎勵並不改變支付給驗證者的 ETH 總額,但它意味著部分可得獎勵會分配給出塊者 (block producer)。負責出塊的是每個 slot 裡 (一個 slot 是 12 秒,一個 epoch 裡有 32 個 slot) 隨機挑選的一個驗證者。該區塊是由其他驗證者提交的信標鏈證明組成的,且出塊者獲得的獎勵佔區塊證明全部打包獎勵的一部分。這意味著出塊者有動力將他們能收集到的所有有效證明都打包到區塊,以最大化他們的以及所有提供他們打包證明的驗證者的收益。
在信標鏈規範中,給出塊者的打包獎勵比例由一個叫 PROPOSER_REWARD_QUOTIENT(提議者獎勵商) 的常數決定,它的值是 8。也就是說,⅛ 的打包獎勵 (相當於每個 epoch 全部獎勵的 ¹⁄₃₂) 是給出塊者的,⅞ 是給所作證明被打包到區塊的驗證者的。
由於每個驗證者被選出做區塊提議的機會是均等的,從長遠來說,獎勵應該也是均等的,與上圖相符。但在任何有限的時間裡,驗證者獲得的獎勵會很不一樣,因為有些驗證者運氣比較好,獲得比平均水平更多機會提議區塊,有些則運氣比較差,提議區塊的機會更少。
為了計算出運氣因素在區塊提議頻率中的重要性,我們可以應用一些基本的統計資料。每個驗證者被選出做提議的機會是均等的——每年 31556952 / 12 = 2629746 個 slot。如果有 100,000 名驗證者,被選出做提議的機會是 10-5 次。每個驗證者得到區塊提議機會的數量將由二項式分佈決定。
下圖繪製的概率質量函式圖直觀地呈現了驗證者可期望有多少區塊提議機會:
輸入 4
# plot pdffrom scipy.stats import binomx = [el for el in range(51)]y = binom.pmf(x, 31556952/12, 1e-5)fig, ax = plt.subplots(figsize=(12, 8))ax.bar(x, y)ax.set_xlim(xmin=0)ax.set_ylim(ymin=0)ax.set_title('Probability mass function (100,000 validators) — number of block proposal opportunities per year')ax.set_xlabel('Number of block proposal opportunities in a year')ax.set_ylabel('Probability')lmu = binom.ppf([0.01, 0.5, 0.99],31556952/12, 1e-5)avg = 31556952 / (12 * 100000)print(f"With 100,000 validators, the mean number of blocks proposed per validator per year is {avg:.2f}\n")print(f"The unluckiest 1% of validators will have the opportunity to produce at most {int(lmu[0])} blocks in a year")print(f"The median (average) validator will have the opportunity to produce {int(lmu[1])} blocks in a year")print(f"The luckiest 1% of validators will have the opportunity to produce at least {int(lmu[2])} blocks in a year")
output:
With 100,000 validators, the mean number of blocks proposed per validator per year is 26.30The unluckiest 1% of validators will have the opportunity to produce at most 15 blocks in a yearThe median (average) validator will have the opportunity to produce 26 blocks in a yearThe luckiest 1% of validators will have the opportunity to produce at least 39 blocks in a year
輸出:
如果有 100,000 個驗證者,每個驗證者每年平均獲得 26.30 次提議區塊的機會運氣最差的 1% 驗證者每年獲得的提議區塊機會最多 15 次驗證者平均每年獲得的提議區塊機會是 26 次運氣最好的 1% 驗證者每年獲得提議區塊的機會是 39 次
因此,我們可以看到,僅基於運氣的話每個驗證者獲得的提議區塊機會有相當大的差異。在一年裡,運氣最好的 1%驗證者獲得提議區塊的機會是運氣最差的 2 倍。在足夠長的時間裡,這個差異會被拉平。但是,隨著驗證者數量增加,提議區塊的概率會降低,不均等的情況會更嚴重。
為了顯示這種效應對驗證者獎勵的影響,我重新計算了驗證者收益圖,但現在我將繪製運氣最好的 1%和最差的 1%的線條。從另一個角度來看的話,這代表 98% 的驗證者的年收益是在這兩條線之間。
輸入 5
# plot ideal ETH staking return with interpercentile rangen_validators = [n for n in range(50000,int(10e6)//32,1000)]full_reward = [4 * annualised_base_reward(n) for n in n_validators]attestation_reward = [0.75 * f for f in full_reward]inclusion_reward = [0.25 * f for f in full_reward]p = [1/n for n in n_validators]# calculate lower and upper quartiles for block proposal opportunitiesl_bpo = [int(binom.ppf(0.01,31556952/12, 1/n)) for n in n_validators]mean_bpo = [float(binom.mean(31556952/12, 1/n)) for n in n_validators]u_bpo = [int(binom.ppf(0.99,31556952/12, 1/n)) for n in n_validators]# calculate lower and upper quartiles for ideal reward, based on block proposal opportuntiesl_reward, u_reward = [], []for i in range(len(full_reward)): r_att = attestation_reward[i] r_inc = inclusion_reward[i] l_reward.append(r_att + r_inc * ((7/8) + (1/8) * l_bpo[i] / mean_bpo[i])) u_reward.append(r_att + r_inc * ((7/8) + (1/8) * u_bpo[i] / mean_bpo[i]))fig, ax = plt.subplots(figsize=(12, 8))ax.plot(n_validators, u_reward, label='Luckiest 1% of validators')ax.plot(n_validators, l_reward, label='Unluckiest 1% of validators')ax.set_xlabel('Number of validators')ax.set_ylabel('Ideal annual per-validator reward (ETH)')ax.set_title('Ideal annual validator rewards')leg = ax.legend()ratio0 = 100 * (u_reward[0] / full_reward[0] - 1)ratio1 = 100 * (1 - l_reward[0] / full_reward[0])print(f"With 50,000 validators:\nthe luckiest 1% of validators receive {ratio0:.1f}% greater reward than average" f"\nthe unluckiest 1% of validators receive {ratio1:.1f}% smaller reward than average")ratio0 = 100 * (u_reward[50] / full_reward[50] - 1)ratio1 = 100 * (1 - l_reward[50] / full_reward[50])print(f"\nWith 100,000 validators:\nthe luckiest 1% of validators receive {ratio0:.1f}% greater reward than average" f"\nthe unluckiest 1% of validators receive {ratio1:.1f}% smaller reward than average")ratio0 = 100 * (u_reward[150] / full_reward[150] - 1)ratio1 = 100 * (1 - l_reward[150] / full_reward[150])print(f"\nWith 200,000 validators:\nthe luckiest 1% of validators receive {ratio0:.1f}% greater reward than average" f"\nthe unluckiest 1% of validators receive {ratio1:.1f}% smaller reward than average")
output:
With 50,000 validators:the luckiest 1% of validators receive 1.0% greater reward than averagethe unluckiest 1% of validators receive 1.0% smaller reward than averageWith 100,000 validators:the luckiest 1% of validators receive 1.5% greater reward than averagethe unluckiest 1% of validators receive 1.3% smaller reward than averageWith 200,000 validators:the luckiest 1% of validators receive 2.1% greater reward than averagethe unluckiest 1% of validators receive 1.7% smaller reward than average
輸出:
當有 50,000 個驗證者:運氣最好的 1% 驗證者獲得的獎勵比平均水平高 1.0%運氣最差的 1% 驗證者獲得的獎勵比平均水平低 1.0%當有 100,000 個驗證者:運氣最好的 1% 驗證者獲得的獎勵比平均水平高 1.5%運氣最差的 1% 驗證者獲得的獎勵比平均水平低 1.3%當有 200,000 個驗證者:運氣最好的 1% 驗證者獲得的獎勵比平均水平高 2.1%運氣最差的 1% 驗證者獲得的獎勵比平均水平低 1.7%
從上面的圖表和統計資料可以看出,在一年的時間裡,獎勵的變化幅度可能有幾個百分點。請記住,即使在理想情況下也是這樣,即每個驗證者都完美履行他們的職責。隨著驗證者集變大,這種影響會更明顯,因為在一個 slot 裡每個驗證者的概率都降低了。
雖然從驗證者的投資風險角度來看,這種水平的變化也許並不令人擔憂,但我們在深入研究驗證者在網路中的實際表現時,這些變化都值得我們關注。表現上的微小差異可以很容易被分配給驗證者區塊提議機會的隨機變化所吞噬——即使是在整整一年的時間裡,就像這裡的模型。
對非完美參與情況建模
到這裡為止,我們的模型都假設所有驗證者都完美履行他們的職責。這使我們可以根據上文解釋的出塊機會差異對可得獎勵設一個上限。但是,為了建立更接近現實世界的獎勵模型,我們需要考慮不那麼完美參與的驗證者帶來的影響。即使你完美執行你的驗證者節點,保持一直線上,你的獎勵仍然會因為網路的其他驗證者節點無法做到完美而受影響。信標鏈激勵機制的設計理念是:如果整個網路的表現都被最佳化了,那麼給每個人的獎勵都會最大化。這有助於抑制惡意行為 (例如試圖讓其他驗證者離線以最大化自己的獎勵),但這的確意味著即使自身沒做錯什麼,個人質押者的獎勵也會被減少。
有很多原因可以導致驗證者無法生成證明、廣播證明到網路、出塊、或打包區塊到網路。用所有這些因素來建模是非常難的,因此我們將嘗試簡單一點的。我們假設兩種情況:驗證者保持線上且完美履行職責,和驗證者一直離線且完全不履行職責。在我們的模型裡,網路表現水平可以用一個簡單數字——參與率來體現,參與率對應的是線上上的驗證者比例。
完美驗證者在不完美網路中的情況
想象一個完美驗證者在一個不完美的驗證者集中執行,有兩個機制可能會減少驗證者獲得的獎勵:
對於準確率的獎勵,獎勵與投相同票的活躍驗證者成比例縮放。因此,如果 99% 的線上驗證者都投了正確的票,獎勵會按0.99縮放。
如果我們的完美驗證者所作的證明被打包晚了——例如,由於在我們做出證明後的第一個 slot 的出塊者因離線而沒有構建一個區塊——那麼打包獎勵會與打包延遲時間呈反比遞減。(即,它的比例會以1/2,然後是 1/3,然後是 1/4 這樣遞減下去)
因此,很容易算出,如果在一個 epoch 裡 99% 的網路驗證者都正確參與了,對我們完美驗證者的正確率獎勵的影響是比理想情況下減少 1%。但打包獎勵會相對複雜一點。這歸結於運氣——如果本應在下一個 slot 打包了我們的證明的出塊者碰巧是離線的 1%驗證者的一員,那麼我們的打包獎勵會被砍半。如果我們特別運氣不好,這種情況連續發生兩次,那麼我們的打包獎勵會減少到1/3。
透過一個考慮了每種可能的延遲情況的等比數列之和來計算預期 (即平均) 的打包獎勵 (這在之前 Herman Junge 的信標鏈建模裡已經解釋過)。如果 B 代表 base_reward,P 代表參與率,我們可以算出預期獎勵:
請注意,一個證明最晚可被打包到區塊鏈的時間是 32 個 slot的延遲。因此,正確來說,我們應該把上面公式中的總項數設為 32 而不是無窮大。但是,如果參與率 P 很高 (例如像當前網路的 99%),那麼求和到無窮大而不是 32 造成的誤差是非常小的。
現在,讓我們繪製一個完美驗證者在不同參與率情況下的預期獎勵線條,請記住,在信標鏈創世後的四個月裡,參與率幾乎沒有低於 96%。
輸入 6
# plot reward for perfect validator in several participation level contextsparticipation_rate = [1,0.99,0.98,0.97,0.96]n_validators = [n for n in range(50000,int(10e6)//32,1000)]base_reward = [annualised_base_reward(n) for n in n_validators]fig, ax = plt.subplots(figsize=(12, 8))r_100000 = []for P in participation_rate: accuracy_rewards = [P * 3 * r for r in base_reward] if P < 1: inclusion_reward = [(7/8) * r * P * math.log(P) / (P-1) for r in base_reward] else: inclusion_reward = [(7/8) * r for r in base_reward] block_reward = [(1/8) * r * P for r in base_reward] total_reward = [accuracy_rewards[i] + inclusion_reward[i] + block_reward[i] for i in range(len(block_reward))] ax.plot(n_validators, total_reward, label=f'P = {P:.2f}') r_100000.append(total_reward[50])ax.set_xlabel('Number of validators')ax.set_ylabel('Ideal annual per-validator reward (ETH)')ax.set_title('Ideal annual validator rewards')leg = ax.legend()print(f'at P = {participation_rate[1]:.2f}, rewards fall by {100 * (1 - r_100000[1] / r_100000[0]):.2f}%')print(f'at P = {participation_rate[2]:.2f}, rewards fall by {100 * (1 - r_100000[2] / r_100000[0]):.2f}%')print(f'at P = {participation_rate[3]:.2f}, rewards fall by {100 * (1 - r_100000[3] / r_100000[0]):.2f}%')print(f'at P = {participation_rate[4]:.2f}, rewards fall by {100 * (1 - r_100000[4] / r_100000[0]):.2f}%')
output:
at P = 0.99, rewards fall by 0.89%at P = 0.98, rewards fall by 1.78%at P = 0.97, rewards fall by 2.68%at P = 0.96, rewards fall by 3.57%
輸出:
當 P = 0.99,獎勵減少 0.89%當 P = 0.98,獎勵減少 1.78%當 P = 0.97,獎勵減少 2.68%當 P = 0.96,獎勵減少 3.57%
如上圖和資料所示,我們的完美驗證者獲得收益下降幅度稍小於總體的網路參與率。
不完美驗證者在完美網路裡情況
如果我們的驗證者實際上會在某些時候是離線的,那麼他們將會錯失一些獎勵,而且也會因為錯過做證明而遭受懲罰。每個正確率獎勵有相應的懲罰——提供錯誤證明,或完全沒有提供證明,證明中不正確的部分都會受到對應一項 base_reward 的懲罰。這意味著,錯失證明導致的懲罰是 3 * base_reward。為了瞭解這會有什麼影響,設想一下你正在執行的驗證者節點有時候會離線,但網路的其他所有驗證者都表現完美。我們將忽略網路參與率實際上是低於 100% 這個事實,因為全網只有一個不完美驗證者,而以完美網路來建模,儘管我們的驗證者偶爾會離線。考慮到離線帶來的懲罰,我們的收益會有什麼影響?
作為一個完美驗證者集的一部分,我們的驗證者線上時預期會獲得 4 * base_reward,離線時遭遇的懲罰是 3 * base_reward 。因此當用 B 代表 base_reward、U 代表線上時間時,可得出淨獎勵 R:
R = 4BU−3B(1−U) = B(7U−3)R
如果淨獎勵是 0,我們會得到:
U=3/7≈43
這意味著只要驗證者的線上時間不低於 43%,他就能獲得正的淨獎勵。
輸入 7
# plot expected reward for imperfect validator/perfect network at various validator set sizesn_validators = [50000, 100000, 150000, 200000, 250000, 300000]uptime = [i / 100 for i in range(101)]fig, ax = plt.subplots(figsize=(12, 8))for n in n_validators: base_reward = annualised_base_reward(n) net_reward = [] for u in uptime: rewards = 4 * u * base_reward penalties = 3 * (1 - u) * base_reward net_reward.append(rewards - penalties) ax.plot(range(101), net_reward, label=f'n_validators = {n}')ax.set_xlabel('Percentage uptime')ax.set_ylabel('Annual net reward (ETH)')ax.set_title('Expected annual net rewards against validator downtime\n' '(for an imperfect validator in a perfect validator set)')leg = ax.legend()
完整模型
把這些放在一起,我們就有了一個不完美驗證者在一個不完美驗證者集裡執行的模型,其中 B 代表 base_reward、P 代表參與率、U 代表"我們的"驗證者的線上時間,我們可以得出:
因此,例如如果你在一個有 100,000 個驗證者、參與率為 99% 的網路裡執行驗證者節點,你的線上時間水平是 99%,你可以用這個模型來預估期望的淨獎勵:
輸入8
# calculate annualised expected net reward for given parametersbase_reward = annualised_base_reward(100000)participation = 0.99uptime = 0.99net_reward = 3 * base_reward * participation * uptime \ - 3 * base_reward * (1 - participation) \ + (7/8) * base_reward * participation * uptime * math.log(participation) / (participation - 1) \ + (1/8) * base_reward * participation * uptimeprint(f'Net annual reward = {net_reward:.2f} ETH ({100 * net_reward / 32:.2f}% return on 32 ETH stake)')
output:
Net annual reward = 2.90 ETH (9.05% return on 32 ETH stake)
輸出:
年淨獎勵 = 2.90 ETH (質押 32 個 ETH 的回報率是 9.05%)
為了便於實驗,請看這個電子表格,從中你可以看到不同的參與率、線上時間水平和驗證者數對淨獎勵的影響。
但是,再提醒一次,這個預期淨獎勵並沒有考慮運氣這個因素。隨著我們的模型變得越來越複雜,除了一個給定 slot 裡分配給區塊提議者的隨機機會,還有上面公式裡的其他因素是受制於機會的。例如,由於下一個 epoch 的區塊提議者剛好處於離線狀態,就有獲得較少打包獎勵的風險,或者因為當分配到做區塊提議者時你的驗證者節點剛好處於離線狀態,就會有錯失出塊的機會。這些額外的因素將稍微增加模型給出的”預期“情況下淨獎勵的變化。
鑑於打包獎勵的非線性特性,把所有因素都放在公式裡,像我們得出區塊提議者機會般得出概率分佈是很難的。透過執行蒙特卡洛模擬 (即使用隨機數生成器模擬大量驗證者,然後繪製出他們的淨獎勵圖表) 可以對概率分佈有一個大概的瞭解,但在此之前,讓我們先把我們的模型與網路的真實情況做對比吧......
結語
這已經是文章最後了,恭喜你!希望這篇文章能幫你理解信標鏈的獎勵是為什麼和怎麼樣有所不同的——無論是當驗證者完美履行職責時,還是當他們並沒有那麼可靠地履行職責時。
從這個模型中得到的一個關鍵啟示是,儘管可得獎勵會依據網路上活躍驗證者數產生很大的變化,但少量的離線時間對其影響是有限的。事實上,我們的研究顯示在理想的網路裡,只要驗證者的線上時間水平超過 43%,他們就能獲利。我們不會期待最低線上時間水平會比我們今天觀察到的信標鏈的水平 (通常參與率是大約 99%)高很多。如果你在考慮在家質押自己的 ETH,這應該能讓你放心——即使是大型的網路或電力中斷,也不會對你一年的獲利產生重大影響。
致謝
本文是在Ethereum Foundation Staking Community Grant 下寫的,非常感謝Lakshman Sankar、Barnabé Monnot 和 Jim McDonald 的建議和反饋。圖片由Unsplash的Cookie the Pom提供。
點選“閱讀原文”獲取文章內部連結!
原文連結:https://pintail.xyz/posts/beacon-chain-validator-rewards/
ECN的翻譯工作旨在為中國以太坊社羣傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須註明原文出處以及ETH中文站。若需長期轉載,請聯絡[email protected]進行授權。