Bitcoin-Core-Development
Minisketch 庫是為什麼問題設計的?它目前用於什麼以及將來可以用於什麼?
Minisketch庫是為什麼問題設計的?它目前用於什麼以及將來可以用於什麼?
libminisketch是一個實現PinSketch集合協調算法的庫,並在此 Bitcoin Core PR 評論俱樂部中進行了介紹。從理論上講,它可以用於任何問題,如果您有兩組數據,並希望盡可能有效地計算出這些數據集的不同之處(其中一個特定元素存在但另一個缺失)。
在撰寫本文時(2021 年 2 月),Minisketch 的主要案例是比特幣上的 Erlay。
Erlay是在比特幣中提高頻寬效率的交易中繼的提議,並在這個比特幣核心公關評論俱樂部中得到了報導。Minisketch 庫在 Erlay 中用於對等點之間的集合協調(對等點通常在其各自的記憶體池中具有稍微不同的交易集)。
Minisketch 還有一個潛在的 Lightning 案例,Rusty Russell 在此閃電開發郵件列表文章中描述了該案例。閃電節點交換八卦消息以試圖了解網路的拓撲結構(節點和通道大小)。他們利用這種理解來建構向特定目的地付款的路線。在撰寫本文時(2021 年 2 月),該想法尚未實施。目前使用更集中的解決方案(例如LN-sync )來解決這個問題。
Minisketch 也有一些與比特幣無關的潛在案例。Pieter Wuille 在 IRC 上說:
高效集合協調算法的最廣泛使用之一是 PGP 密鑰伺服器同步(或至少習慣於)的方式;那是使用 cpisync (pinsketch 發明之前的早期算法,性能要差得多)
有關 Minisketch 的其他可能應用程序,請參閱自述文件的應用程序部分。