為什麼選擇目標阻塞時間為 10 分鐘?
根據wiki,選擇 10 分鐘作為“權衡”。
為什麼要專門十分鐘?這是中本聰在大型網路中新塊的傳播時間和因鏈分裂而浪費的工作量之間做出的權衡。
然而,在最初的 Satoshi 論文中,僅為了計算磁碟空間需求而假設了 10 分鐘。
一個沒有交易的區塊頭大約有 80 個字節。如果我們假設每 10 分鐘生成一次塊,則每年 80 字節 * 6 * 24 * 365 = 4.2MB。
是否有其他地方的討論解釋了 10 分鐘的阻塞時間是如何得出的?
10 分鐘塊只是一種妥協。
更短的阻塞時間:
- PRO - 更快的 1 次確認時間(防止 0 次確認雙重花費)
- PRO - 減少礦工的支出差異(減少對大型礦池的依賴)
- CON - 需要增加頻寬(節點間通信)
- CON - 更多分叉、更長的分叉和更長的重組時間
- CON - 大部分原始算力被浪費,導致有效安全性降低。
對於超過 10 分鐘的更長的塊間隔目標,利弊將相反。
更短的出塊時間的主要好處是減少了 1 確認時間。 雖然較快的區塊 1 確認交易的強度低於較長區塊的 1 確認交易,但它仍然優於任何區塊的 0 確認交易。
第一次確認的速度似乎是一個巨大的好處,但實際上對於大多數低價值和時間敏感的交易,例如買一杯咖啡、支付計程車或使用自動售貨機,雙花的風險非常大低的。請記住,接受信用卡並非沒有風險,但商家早就承認他們將面臨一些損失,但如果這些損失很小,那麼它可以被視為開展業務的成本。如此多的商家可以簡單地接受 0 確認交易,而不會使自己面臨比信用卡欺詐更大的風險。
另一個削弱更短目標區塊間隔的現實世界潛力的因素是,對於許多商家來說,即使“更快”的確認時間仍然不夠快。對於銷售點交易,2 分鐘的平均確認時間仍然明顯長於大多數商家認為可行的時間。平均信用卡交易大約需要 20 秒(包括客戶的延遲)。整個行業花費了大量資源來減少幾秒鐘的時間。使客戶能夠刷卡、在所有項目被敲響之前刷卡以及不需要低價值簽名等變化都是為了將已經快速的流程縮短幾秒鐘,這些變化的成本被認為是可以接受的,以便稍微改善結帳的效率。
另一個因素是,減少目標間隔只會減少平均確認時間,但其中一半會更長,尾巴可能會很長。由於塊解決方案的隨機性,大約 15% 的塊將花費超過 2 倍目標的時間,3% 超過 3 倍目標的時間和 >7.5 分鐘,大約 0.5% 將花費超過 4 倍目標的時間。這種不確定性使得對時間敏感的企業很難根據政策等待確認。大多數交易在 30 秒內確認,但有些需要幾分鐘,這將導致客戶在銷售點感到沮喪。
如果 BTC 經濟增長到足夠大,我們可以看到擴大使用“綠色地址”來滿足無需確認即刻接受的需求。此類服務可以由大公司提供,並由欺詐保險提供支持(每筆交易收取少量費用)。這將是一個比簡單減少塊間隔更可行的 0 確認解決方案。
話雖這麼說,10 分鐘的目標可能過於保守,更短的阻塞時間有一些優勢。