节点——极简比特币教程(2)

一、什么是节点?

一个节点就是一个运行比特币程序的电脑。更重要的是,它与其他电脑(同样运行比特币程序)相互连接组成一个网络。

二、节点用来做什么?

比特币系统中节点有三个工作任务:

遵守系统规则;

共享信息;

保存经过确认的交易副本。

遵守系统规则

每个节点(比特币客户端)都程序化的来遵循一系列的规则。通过遵守这些规则,一个节点可能检查它所接收到的交易的合法性:如果交易信息一切正常,它将会向相连的节点中继传输这个交易;否则,交易被丢弃。

你的节点不会中继转发不合法的交易

举例来说,其中一个规则是比特币支付者必须拥有大于或等于其所需要发送的比特币数量。所以当你的节点接收到一个试图发送超过其所拥有的比特币的交易时,该交易不会传递到其他节点。

共享信息

节点的另外一个主要工作是分享信息给其他节点,而节点共享的典型信息就是交易。

现在,节点会共享两种类型的交易:

新的交易——近期刚刚发送入网络中的交易;

确认合法的交易——被“确认”合法并且写入文件中的交易。这些交易是通过区块来进行共享的,并不是单独的进行。

节点会共享“新生成”的交易和区块内已确认的交易

保存经过确认的交易副本

如上所说,每个节点也会保存由经过确认的交易组成的区块,这些区块保存在一个文件内,我们称之为区块链(blockchain)。

“新”交易在比特币网络内游走传播,直到它们被放入区块链(一个已确认交易的账本)。每个节点为了安全考虑都拥有一个区块链的副本,并且会将副本共享给周边区块链过时的其他节点。

添加新交易到区块链的过程叫做“挖矿(Mining)”,下一章会介绍其原理和流程。

我想说明的一点是每个节点都是自发性的。其意思是当你运行一个客户端,比特币网络并不会“告诉你去做什么”。反而,你的比特币客户端知道去做什么,并且会做出它自己的决定。

所以整个比特币网络是由可自主决定的节点构成,而且它们会同其他节点一样做出相同的决定,这样就使得比币网络是完全分散,同时也是非常强壮的。

三、我需要运行一个节点来使用比特币吗?

不需要! 你完全不需要拥有一个节点来发送和接收比特币,你仅需要把你的交易发送到比特币网络即可。

如果你发送一个关于交易的消息给一个节点,这个交易很快的会传播到整个网络

(完)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180611G1RYIR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券