Compact-Client-Side-Block-Filters

哥倫布編碼集如何工作?

  • October 28, 2018

根據我的理解,哥倫布編碼集是一種機率資料結構,它對元素順序集的增量進行編碼。

對於均勻分佈的 txid 之類的東西,Golomb 編碼集是一種在塊內編碼事物的有效方法。

用於確定 txid 在集合中如何編碼的順序是什麼?看來我們需要一個basetxid,然後從該原始 txid 計算增量?它與塊中 txid 的最低大端數字解釋一樣簡單嗎?

資料結構正在對集合進行編碼,這意味著它沒有對訂單進行編碼。

如果您從某個宇宙中隨機均勻地抽取數字,然後對結果進行排序(從而破壞順序資訊),則數字之間的差異遵循指數分佈。GCS 使用哥倫布編碼器來有效地儲存這些差異。使用的排序方法無關緊要,只要它與使用的差分方法一致即可。

集合編碼本身沒有任何機率。但是對於 BIP158,被編碼的集合不是 TXID,而是相關輸出的短散列。因為雜湊值很短,它們可能會發生衝突,從而使結果具有機率性。

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