看板 DigiCurrency 關於我們 聯絡資訊
我有一個疑問, 加密貨幣中的節點他一上網路時, 他要怎麼廣播找同類應用程式的節點? 我以前寫網路聊天室時, 因為是中心化, 所以會有一個主伺服器負責接受用戶端來的登錄訊息, 所有散佈在網路上的應用程式, 會上網向主伺服器 ip 發出登錄請求, 主伺服器收到訊息後, 再發給用戶端告知收到訊息, 那去中心化的應用程式如何在網路上找同類應用程式? 難道是 ip 4 一個一個掃? 問題是安裝應用程式的網路是內部網路, 該網路路由器 ip port 沒開應用程式規定的 port? 那怎麼連上? ---- Sent from BePTT on my Samsung SM-N9860 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.245.208 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1623853776.A.F8F.html
DarkerDuck: bootstrap nodes 06/16 22:35
kugwa: 看code可以看到一些hardcode的ip 06/16 22:36
DarkerDuck: https://tinyurl.com/vbvbxw5c 06/16 22:36
DarkerDuck: 會有一群固定IP的nodes負責bootstrap 06/16 22:37
DarkerDuck: 假如你的完整節點沒有實體IP,那只能連別人 06/16 22:39
DarkerDuck: 不會有in的連線,只有out的連線 06/16 22:39
DarkerDuck: 通常狀態下就8個out連線,8個in連線 06/16 22:42
DarkerDuck: 只要第一次bootstrap完成後,就可以蒐集取得節點清單 06/16 22:43
DarkerDuck: 之後就可以依照上次狀態直接嘗試連線了 06/16 22:43
saveme: 所以一定要實體 ip 才可以達到 in & out。 06/16 22:47
DarkerDuck: 有實體IP開server socket才能讓人連進來 06/16 22:53
DarkerDuck: 不過無論有沒有實體IP,實際上不會影響節點運作 06/16 22:53
saveme: 可是節點的運作,一定要 in & out 都 OK 才有辦法完整交 06/16 23:24
saveme: 流訊息。只有 out 沒有 in,那個節點就沒法更新資訊。正 06/16 23:24
saveme: 確的講,有實體 ip,這個節點才有 server 的功能,否則他 06/16 23:24
saveme: 只能當 client 。我這樣說沒錯吧! 06/16 23:24
DarkerDuck: socket一旦建立了就是雙向資訊溝通,除非你是UDP 06/16 23:33
saveme: 我這樣問好了假如節點清單都不是實體 ip,這樣還能 in & 06/16 23:49
saveme: out?可以的話,我大概知道怎麼做。 06/16 23:49
DarkerDuck: 不行啊,他P2P就是單純的TCP server socket所組成的 06/17 00:06
DarkerDuck: 當然有些P2P技術可以在NAT上打洞來通訊 06/17 00:08
DarkerDuck: 不過這應該沒用在Bitcoin的P2P通訊 06/17 00:08
DarkerDuck: 它就是只會透過透定port做通訊而已 06/17 00:09
saveme: 了解 06/17 00:30
jacky507143: 先推一個以免被人發現我看不懂 06/17 03:38
Phenomenon: 是不是有點像 BT 的 tracker,用來取得 client 資訊 06/17 12:09
wahaha99: 反正不會是ip一個一個掃,這產生的垃圾流量太大, 06/17 16:46
wahaha99: 會被當成惡意軟體與攻擊的 06/17 16:46