只向挖礦節點發送交易?
與其在比特幣網路中的所有節點上傳播交易,理論上將交易發送到挖礦節點會更好,因為交易僅在區塊內確認時才被確認和“使用”。當其他節點通過“已確認”交易了解新開采的區塊時,他們是否能夠確認和驗證這些交易?
從理論上講,如果您的目標只是讓交易被探勘,那將是理想的。
傷害未經許可的採礦然而,它確實需要知道如何直接聯繫礦工。採礦被設計為一種無需許可的業務,任何擁有合適硬體的人都可以訪問。您的解決方案需要將礦工的 IP 地址發布給所有交易創建者。
損害發件人隱私它也會損害隱私,因為礦工會知道交易創建者的發件人 IP;可能使他們能夠根據該資訊進行審查。
不中繼交易不會給您帶來太多好處自從引入了 BIP152(緊湊塊)等算法以來,將每筆交易中繼到每個節點的邊際成本很低。假設無論如何最終都會探勘交易,那麼該交易最終需要到達每個完整節點(作為塊的一部分)。如果塊的中繼可以參考較早的交易,那麼提前將其作為單獨的交易進行中繼不會花費任何費用。有一些與“inv”消息相關的成本可以降低,而無需移除交易中繼。
損害區塊傳播速度最後,僅直接向礦工廣播交易會顯著降低區塊傳播速度。現代區塊中繼協議(如 BIP152 和 FIBRE)依靠節點提前知道大部分區塊的交易來快速中繼這些區塊。
在確認交易已成功送出的情況下,未能將 mempool 用作分佈式池意味著您必須查詢那個“挖礦節點”。範例:我用我的錢包直接向那個節點發送一筆交易以支付服務費用。該服務在使整個事物無效之前有 10 分鐘的時間來查看交易。除非服務正在查看該節點,否則它如何知道它已被送出到網路?
基本上,在許多案例中,確認交易存在(但未開採)可能特別重要。與所有共享相同記憶體池的網路進行互動意味著無論您從哪裡發送它/從哪裡發送它,每個人都可以看到它。
想像一下,您最終會告訴一個人多少次“我發送了它,您必須等待才能看到它”。就像現在一樣,區塊瀏覽器在大多數情況下會在幾秒鐘內檢測到交易。您幾乎可以立即指向並說“看,它正在處理中”。感謝記憶體池。