作者:黄马褂
时间:2018年9月28日
来源:https://zhuanlan.zhihu.com/p/45362328

比特币白皮书【网络】原文
The steps to run the network are as follows:
运行这个网络的步骤如下:
1) New transactions are broadcast to all nodes.
新的交易信息被广播到全网节点
2) Each node collects new transactions into a block.
每个节点收集新的交易信息进入一个区块
3) Each node works on finding a difficult proof-of-work for its block.
每个节点为这个区块进行一定难度的工作量证明,也就是通过运算寻找那个随机数
4) When a node finds a proof-of-work, it broadcasts the block to all nodes.
当一个节点找到工作量证明,它向其他节点广播这个区块
5) Nodes accept the block only if all transactions in it are valid and not already spent.
只有这个区块内所有交易都是有效的,并且没有被花费过,那么其他节点才能认可这个区块。
6) Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash.
节点表示认可这个区块的方式是,在链条上创造下一个区块,把这个被接受的区块的hash值当做是上一个区块的hash值。
也就是说,节点认可一个区块了,就要把这个区块的hash值作为创造下一个区块的基础,在这个区块基础上再往后延伸,往后追加区块。
Nodes always consider the longest chain to be the correct one and will keep working on extending it.
节点始终将最长的链视为正确的,并且持续工作来延伸这条最长链。
If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first.
如果两个节点同时广播不同版本的的新区块,一些节点可能先接收到其中一个,另一些节点可能先接收到另外一个。
In that case, they work on the first one they received, but save the other branch in case it becomes longer.
在此情况下,他们在第一个接收到的区块上继续工作,但是也会保留另一个分支,以防另一个更长。
The tie will be broken when the next proof of-work is found and one branch becomes longer; the nodes that were working on the other branch will then switch to the longer one.
这个平衡将被打破,在什么时候呢,当下一个工作量证明被找到,其中一个分支变得更长的时候,所有在另一个分支上工作的节点就会转移到这个更长的链条上继续工作。
New transaction broadcasts do not necessarily need to reach all nodes. As long as they reach many nodes, they will get into a block before long.
新的交易信息广播不必到到达所有节点。只要它们到达足够多的节点,它们很快就会进入一个区块中。
Block broadcasts are also tolerant of dropped messages. If a node does not receive a block, it will request it when it receives the next block and realizes it missed one.
区块广播同样可以容忍消息丢包。如果某个节点没有收到某一个区块,当它收到下一个区块、发现中间缺了一个区块时,就会主动发起请求来获取缺失的这个区块。
也就是说,新的交易信息进入一个新区块,这个区块广播了,但是某个节点还没接收到这个区块,那么它接收到下一个区块时,就会请求下载之前这个缺失的区块,从而保证自己这个节点的区块信息完整性。
本系列全部文章:
TRON Energy processed my latest TRC20 transaction without drama. I liked being able to check the progress.