Bitcoin White Paper - Study Notes

1. Introduction (Introduction)

This Bitcoin electronic payment system, based on the principle of cryptography without credit based.
Point transaction involved a third-party intermediary does not exist.

Eliminate the possibility of a rollback of the transaction, prevent fraud.

2. transactions (Transactions)

Electronic money is defined in a string of digital signature chain (coin as chain), each sender through the front of the transaction and the recipient's public key (public key) after hashed digital signature, and the signature is added While the end of the electronic money, electronic money is sent to the recipient.

Whether the recipient uses the sender's public key check is correct sender sent.

Because there are transaction recipient's public key, so only the recipient uses his private key to unlock and pass along the money.

But here's transaction can not solve the problem of double payment. In order to avoid double payment, that the payee has an owner prior to the transaction method to ensure that no earlier sent for signing, in fact, we need to focus only on transactions prior to this transaction, without the need to focus on whether the deal happen after I will try to pay double. The solution is to "timestamp server."

3. timestamp server (Timestamp server)

By the time stamp server in blocks (block) embodiment of a set of data in the form of stamped and random hash and the hash broadcast.

Each stamp should be a time stamp into its front random hash values, thus forming a chain.

4. workload proof (Proof-of-Work)

Adding a random number in the block (a Nonce), the calculated hash value with the random number with the random header region, so that the hash value of N satisfies begins with 0 (N is a variable, the larger the N, the difficulty to find a random number The larger), is "mining."

To ensure that the non-tampering of the block, because the amendment of a block, you need to complete all the work behind the blocks.

The nature of the workload proved that a CPU, one vote (a traditional IP person, one vote will be able to allocate a large amount of favorable IP), if the majority of the CPU is honest node, then the correct chain will be the fastest rate of growth.

The network (the Network)

Bitcoin network operating steps:

  1. The new transaction is broadcast to all nodes;
  2. Each node of the new deal were collected into a block;
  3. Each node perform their own work prove that blocks;
  4. When a node finds its workload proved block, this block will broadcast to all nodes;
  5. 如果那个区块上的所有交易都是合法的并且没有被双花,节点才接受这个区块;
  6. 节点们接受这个区块的表现为:将这个区块的哈希作为下一个区块的“前哈希”,在这个区块后继续创造区块。

其中只有最长的链被认可,并且不断在这个“最长链”上添加区块。

如果两个节点同时完成工作量证明并广播了两个不同版本的新区块,那么其它节点接收到该区块的时间存在先后差别,即会产生两条不同的链。出现这种情况时,节点将在率先收到的区块基础上工作,同时保留另一条链,直到下一个工作量证明被发现,证实了其中一条是较长链,那么在另一条分支链上工作的节点将转移到较长链上工作。

6.激励(Incentive)

  1. 规定了每个区块的第一笔交易作为节点完成工作量证明的激励,这个激励是一定量新产生的电子货币。
  2. 另一个激励来源是交易费。如果某笔交易的输出值小于输入值,差额就是交易费。如果2100万枚比特币全部流通,激励将完全靠交易费。

激励系统也有助于鼓励节点诚实。因为遵循规则用算力挖矿的收益很可能高于破坏系统得到的收益。

7.回收硬盘空间(Reclaiming Disk Space)

交易信息的随机哈希值被构成Merkle树的形态,只需要根节点与路径即可验证交易的正确性。用户只需要存储含有Merkle root的区块头,在需要时获取Merkle树的路径即可验证一笔交易。

不含交易信息的区块头大小只有80字节,区块的生成速率为每10分钟一个,每年产生的数据为4.2MB。

8.简化支付验证(Simplified Payment Verification)

可以在不运行完整网络节点的情况下,实现对支付的验证。

9.价值的组合与分割(Combining and Splitting Value)

为了使得价值易于组合和分割,交易被设计成可以纳入多个输入和输出,可以有多个输入,但是最多只有两个输出:一个用于支付,一个用于找零(如果有的话)。

10.隐私(Privacy)

使用公钥的哈希生成地址,公众能得知的信息只有某人将一定数量的比特币发送给另一个人,但无法确定是谁。

11.计算(Calculations)

因为节点不会接受无效的交易,诚实的节点不会接受一个包含无效信息的区块,因此攻击者无法凭空创造价值或者掠夺他人的货币,最多只能更改自己的交易(即双重支付)。

Guess you like

Origin www.cnblogs.com/KRDecad3/p/10994182.html