好文@IT·互联网知了·IT

10分钟读懂神奇的比特币

2016-01-02  本文已影响854人  灯下鼠

1. 首先你要有一个钱包。当然不是真的钱包,而是一个“钱包软件”。

2. 这个钱包呢,帮助你生成并保存一个秘钥,或者叫私钥。

这个秘钥呢,就是你的保险箱钥匙,而且还是保险箱,神奇吧。丢了秘钥,钱就再也找不到了,谁都找不到。如果别人获得了这个数字,也就拿走了你的比特币。 秘钥是在1到10的77次方 之间的一个随机数。全宇宙的原子数是10的80次方,你要是躲在其中一个原子中,你说,谁能找到你?

3. 根据秘钥,通过数学单项函数,计算出一个公钥。这个公钥,是可以公开的,也就是钱包地址。钱包用这个公钥来收钱。私钥能够算出公钥,但公钥,却是反推不出私钥的。所以叫单向函数。公钥也是一串字符:

4. 装了钱包后,你要用钱包软件,从网络上下载有史以来全世界发生的所有比特币交易的账簿。

每一个账簿,叫一个区块,每个区块 1M 大小。 每一个账簿,记录了10分钟里,全球发生的交易。 当前2016年,账簿数,约为39万个。每个账簿记录几百到几千个交易。

所有这些账簿,共计30G大小。

5. 有了钱包和公钥地址,你就可以接受和支付比特币。 注意,接受和支付比特币,表现为一笔交易记录:

上图中,张三支付0.4比特币给李四。 张三需要从自己的钱包中,找到两笔他之前收进来的交易,合计成0.4个比特币给李四。

6. 你钱包里,所拥有的比特币,并非是以一个余额的形式存在。而是在 30G的交易账簿中,那些输出到你的公钥地址的交易,才代表你拥有的比特币财富。

7. 这样,所有的比特币,哪怕是一聪,一亿分之一个比特币,都能查到来自哪里。

8. 支付比特币的时候,可以选择支付交易费,这样矿工们在验证交易并生成区块的时候,会优先验证你的交易。和小费一样。

9. 比特币是完全匿名的。上面用张三、李四等姓名举例。实际上,地址只是上面所说的公钥。

10.发起一笔支付后,比如张三支付给李四,并不是把交易直接发给李四,而是在比特币网络中广播。由于,收到的人的钱包里,都有全部的账簿。所以,每个钱包,都会对交易进行校验。主要是检查,要支付出去的比特币,在自己所存的账簿里,是否属于张三的。 若有任意一个钱包否定,则该交易失败。

11.交易会传到一些特殊的节点,这些节点叫“矿机”。 矿机不仅校验交易,而且把交易按照规则打包成区块。

12. 无数个矿机都会收到交易,都进行打包,打包很简单。但是,为了给这些交易的区块,赋予一个区块编码,是一个数学难题。比特币系统,设计了一个规则,让每个矿机要进行数十亿,乃至上万亿次运算,才能获得一个成功的区块编码。

这就是比特币的核心原理: 工作量验证。 比特币系统会自动调节数学运算的难度,保证再多的矿机加入,都需要10分钟才能生成一个区块。

13. 打包区块胜利的矿机,需要马上通知其他矿机。一是为了让其他矿机验证区块,并同意。二是在其他矿机同意后,将新区块放到区块链上。三是,所有矿机开始对下一个区块的打包进行新的竞争。

14. 打包区块胜利的矿机,在打包的交易中,会有一笔交易收入给自己,这就是挖矿的收入。这也是比特币新币发行的方法。另外,打包的交易中,所有的交易费,都归矿机所有。

15.比特币的挖矿所得每四年减少一倍。所以,比特币到2140年,达到2100万比特币后,不会再出新币,矿机也就不再有挖矿所得。虽然挖矿所得逐渐减少,但随着比特币流行,交易量增加,交易费将上升。最终,矿机的收入将全部来自交易费。

16. 有的时候,因为网络或者其他原因,两个矿机同时认为自己在某个区块上胜利了。这时,区块链出现分叉。如下图,区块链在第20000块出现两个胜利区块,因此开始分叉。 比特币允许分叉,但让随后的矿机,选择最长的区块链继续。 分叉几乎不可能达到5块区块,所以,实际上,一笔交易所在的区块上已经摞了5个区块后,即可认为该交易彻底安全。

17. 在比特币系统中,要想作弊,必须控制比特币网络51%的计算能力。而这个是不可能的。 最强大的超级计算机,在比特币网络中,恐怕也只能到1%的运算能力。而且,那电费消耗,根本就是得不偿失。

上一篇下一篇

猜你喜欢

热点阅读