Confirmations

當我們可以就記憶體池排序順序達成一致時,我們只需確認至少 10 分鐘前的前 n 筆交易。少了什麼東西?

  • July 23, 2018

當我們可以就記憶體池排序順序達成一致時,我們只需確認至少 10 分鐘前的前 n 筆交易(或 80% 的交易)。然後,我們可以將塊頭和雜湊傳輸(廣播)到所有已確認交易的集合。

只需將其視為 BIP152 的激進版本,緊湊塊。

這種方法適用於任何規模的交易;確認 10 筆交易和 100 萬筆交易都是一樣的。

少了什麼東西?為什麼我們不做這樣的“確認”?

例如,如果我們在記憶體池中有 1000 筆交易(已排序),則 900 筆交易至少存在 10 分鐘,我們正在確認前 720 筆交易。

這可能不是一個完美或完整的解決方案,但我們只需要找到,

  1. 排序; 費用、大小等
  2. 交易年齡;說,10分鐘
  3. 確認尺寸;比如說,先確認 80%

注意: 排序順序是基於 f(trxn-meta-data;fee, input, output, etc.),交易年齡作為過濾器。另一個過濾器是集合的第一個 x%。

您的答案假設不同的節點可以對記憶體池具有一致的視圖。如果是這樣的話,我們根本不需要區塊鏈,其唯一目的是在不同節點的歷史視圖之間建立一致性。

這是不可能的原因是由於物理定律。在澳大利亞廣播的交易 tx1 與在阿拉斯加廣播的同時創建的交易 tx2 衝突,不能同時包含在一個塊中。但是,亞洲其他地區的節點將首先看到 tx1,北美其他地區的節點將首先看到 tx2。這兩個哪個是合法的?

這個問題沒有解決方案,因為由於廣義相對論,“第一”的概念取決於一個人的參考系。工作量證明控制的區塊鏈通過接受並非所有節點都需要立即就接受哪些交易達成一致來解決這個問題,而是讓經濟學迫使礦工在候選人之間做出選擇。

儘管無法保證記憶體池之間的一致性,但當然存在非常強烈的重疊。在許多提議的高效中繼協議中都利用了這種重疊,包括中繼網路IBLT塊網路編碼(以及您引用的緊湊塊)。

引用自:https://bitcoin.stackexchange.com/questions/46414