[闲聊] p2p 广播,就节点对节点广播

楼主: saveme (hihi)   2021-06-16 22:29:34
我有一个疑问,
加密货币中的节点他一上网络时,
他要怎么广播找同类应用程式的节点?
我以前写网络聊天室时,
因为是中心化,
所以会有一个主服务器负责接受用户端来的登录讯息,
所有散布在网络上的应用程式,
会上网向主服务器 ip 发出登录请求,
主服务器收到讯息后,
再发给用户端告知收到讯息,
那去中心化的应用程式如何在网络上找同类应用程式?
难道是 ip 4 一个一个扫?
问题是安装应用程式的网络是内部网络,
该网络路由器 ip port 没开应用程式规定的 port?
那怎么连上?
作者: DarkerDuck (達克鴨)   2021-06-16 22:35:00
bootstrap nodes
作者: kugwa (kugwa)   2021-06-16 22:36:00
看code可以看到一些hardcode的ip
作者: DarkerDuck (達克鴨)   2021-06-16 22:36:00
https://tinyurl.com/vbvbxw5c会有一群固定IP的nodes负责bootstrap假如你的完整节点没有实体IP,那只能连别人不会有in的连线,只有out的连线通常状态下就8个out连线,8个in连线只要第一次bootstrap完成后,就可以蒐集取得节点清单之后就可以依照上次状态直接尝试连线了
楼主: saveme (hihi)   2021-06-16 22:47:00
所以一定要实体 ip 才可以达到 in & out。
作者: DarkerDuck (達克鴨)   2021-06-16 22:53:00
有实体IP开server socket才能让人连进来不过无论有没有实体IP,实际上不会影响节点运作
楼主: saveme (hihi)   2021-06-16 23:24:00
可是节点的运作,一定要 in & out 都 OK 才有办法完整交流讯息。只有 out 没有 in,那个节点就没法更新资讯。正确的讲,有实体 ip,这个节点才有 server 的功能,否则他只能当 client 。我这样说没错吧!
作者: DarkerDuck (達克鴨)   2021-06-16 23:33:00
socket一旦建立了就是双向资讯沟通,除非你是UDP
楼主: saveme (hihi)   2021-06-16 23:49:00
我这样问好了假如节点清单都不是实体 ip,这样还能 in &out?可以的话,我大概知道怎么做。
作者: DarkerDuck (達克鴨)   2021-06-17 00:06:00
不行啊,他P2P就是单纯的TCP server socket所组成的当然有些P2P技术可以在NAT上打洞来通讯不过这应该没用在Bitcoin的P2P通讯它就是只会透过透定port做通讯而已
楼主: saveme (hihi)   2021-06-17 00:30:00
了解
作者: jacky507143 (TheGoodGuyJacky)   2021-06-17 03:38:00
先推一个以免被人发现我看不懂
作者: Phenomenon (Kuma)   2021-06-17 12:09:00
是不是有点像 BT 的 tracker,用来取得 client 资讯
作者: wahaha99 (此方不可长)   2021-06-17 16:46:00
反正不会是ip一个一个扫,这产生的垃圾流量太大,会被当成恶意软件与攻击的

Links booklink

Contact Us: admin [ a t ] ucptt.com