比特幣核心中可怕的選項“允許傳入連接”到底有什麼作用?
軟體作者似乎喜歡有意識地通過在他們的軟體中帶有非常不祥的標籤的模糊或完全未註釋的選項來嚇唬我。
在比特幣核心的設置中,它說“[X] 允許傳入連接”,它在懸停時有一個完全沒有意義的“詳細描述”,它只是重複了它已經說過的幾個詞:“接受來自外部的連接”。
這實際上是做什麼的?我的第一個想法是,這個預設啟用的選項以某種方式允許來自世界各地的人們連接到我的電腦,並從我的 wallet.dat 中自由獲取比特幣,並從我的電腦上瀏覽和下載文件。當然,這不是那個意思,但是這麼模糊的描述方式並沒有讓我感覺很好,這麼說吧。
我的嚴肅猜測是它有某種難以理解的技術解釋,但如果它對比特幣的運作至關重要,為什麼它是一個開始的選擇呢?取消選中它對我有一些隱私/安全好處嗎?讓它保持開啟是否會構成某種隱私/安全威脅*?為什麼它是一個選項?
(* 通常當你問這種問題時,人們會對你撒謊並聲稱沒有安全/隱私問題,而實際上確實存在。例如,PHP 開發人員告訴我,保留 the
expose_php
和 other 並沒有什麼損失配置選項, 但對我來說, 肯定有因為它偷偷地讓世界知道你使用 PHP 甚至是哪個版本. 似乎, 每當某些東西對使用者不利, 但對某些東西的作者有利時, 他們聲稱它不會構成安全/隱私威脅。)希望得到一些澄清。
有兩種方式
bitcoind
連接到對等點。預設是純粹的出站連接——節點將使用 DNS 種子,以及它自己的先前看到的對等點的數據庫,並根據需要嘗試建立與它們的連接(在啟動時,或當現有連接關閉時)。
Allow incoming connections
允許您回報這個好處 - 它允許其他對等方啟動與您的節點的連接,而不是您的所有連接只與您的節點啟動它的對等方(當然,在這些連接的另一端,是Allow incoming connections
啟用的節點) .這些對等連接用於同步網路狀態,例如塊、交易和其他對等點的資訊。
除非 ’s 實施中存在災難性缺陷,
bitcoind
否則這不是安全風險。根據您的網路設置,您可能需要在路由器和/或本地電腦的防火牆中啟用埠轉發,然後才能啟用此選項。
網路是由連接到其他電腦的電腦組成的。如果沒有人打開該選項,就沒有網路,也沒有比特幣。一部分節點可能會參與,同時只建立出站連接,而不接受來自其他任何人的連接,但這僅僅是因為那裡有足夠的其他節點來接受他們的連接並處理他們的流量。