您的位置:首页 > 其它

比特币矿机的节点发现

2018-01-09 11:32 274 查看


参考:https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery  (GFW外)

The Satoshi client discovers the IP address and port of nodes in several different ways.
Nodes discover their own external address by various methods.
Nodes receive the callback address of remote nodes that connect to them.
Nodes makes DNS request to receive IP addresses.
Nodes can use addresses hard coded into the software.
Nodes exchange addresses with other nodes.
Nodes store addresses in a database and read that database on startup.
Nodes can be provided addresses as command line arguments
Nodes read addresses from a user provided text file on startup

1.节点用自己的方法区获取其他种子地址。(这点就跟以前的BT种子一样)

2.节点通过调用预设的回调函数,从回调函数获取种子地址。

3.节点通过挖矿专用的域名解析服务器来发现其他节点的地址。

4.有一个可靠的种子地址硬编码到程序里面去

5.可以从其他节点那里获得地址。

6.从数据库里面获取节点地址

7.通过启动矿机程序时通过命令行参数传入地址

8.从本地的初始化文本文件里获取其他节点的地址。

我大概翻译了一下,总结:

比特币的底层实现是区块链,而区块链在网络通讯运用的技术是p2p技术。

那么区块链的各个节点(节点由很多个状态模式,所以我们可以认为节点是 矿机,或者客户端)相互发现并构成一个通讯网络的协议也是属于P2P技术的范畴。

既然是P2P技术,无外乎是通过种子来进入这个网络的。

你可以把P2P形成的网络看出是一个QQ群,而群号或者群员的QQ就是进入这个网络的入口,只要能够获得其中一个QQ号我们就有办法加入这个QQ群。那么这个QQ号就是我们所谓的种子了。

不管是群号还是群员的QQ号,我们只要能够获得一个就能加入进去。而获得种子的手段有很多,作为老司机,我相信你有一百种办法获得种子。上面才提了8种,我们可以理解中本聪就是普通程序员,不是老司机,所以才想出8种。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐