区块链杂谈(二)
我会尽量用通俗的语言来解释一些在区块链世界中重要的名词,争取做到任何小白看了,都会看一遍就懂的地步。这也是对自己负责吧。
1.什么是区块链?
先打个比方,你可以把区块链想象成一个记账的大账本,这个大帐本由很多页组成,每页都记录10min之内发生的交易记录。而这每一页就叫做区块。把区块按照时间先后顺序串起来就叫做区块链。
之后用更专业的言语再解释一下区块链和区块。在区块链的世界里,每个人都在进行比特币的交易(由于没有讲解什么是比特币,先暂时把他当做一种区块链世界中的货币),就像我们炒股票一样进行买卖。大约每10分钟,就会产生一大批的交易记录。而这一大批交易记录需要人就把它打包,打包之后把它和前10分钟的交易记录块串联在一起,确保每一笔交易都被准确无误并且完整的记录下来。那么,我们把每10分钟产生的交易记录叫做一个区块,那么一个小时就会产生6个区块,把这6个区块按照时间先后顺序串起来,就是区块链。我们可以想象到,每10min就会产生一个区块,那么这个区块链会很长很长,答案确实如此。
那么,每10min产生的区块由谁来打包呢?准确的讲,是由这个世界上无数联网的计算机来完成的。这些计算机通过Internet连接,形成了一个网络,每台计算机就是这个网络中的一个“节点”。那么世界上这么多计算机,到底有谁来做这个事呢?这个需要由他们竞争决定。在产生一个区块后,他们会同时计算一道题,谁算的越快就由谁来打包。我们把这些参与竞争的计算机叫做“矿工”,计算机计算的能力大小叫做“算力”。当然,算力越强的,它就更有可能竞争成功,获得打包权。当竞争结束后,就说明有计算机算出了这个题的其中一个解(注:这道题有2100万个解),算出的这个解,就相当于在区块链世界中,挖到了一些属于自己的比特币(2100万了比特币全都挖完后就不会再产生新的比特币),他们可以把比特币进行囤积或者进行交易都可以。第一个算出这个解的计算机除了挖到比特币之后,它还要把10min内产生的这个区块进行打包,使这个区块和前一个区块进行相连,之后告诉其他计算机(网络节点),这一次竞赛结束,我获胜,我已经把区块进行打包并放到了区块链中,你们也按照这个区块的内容和顺序进行打包和连接区块链,和我的保持一致。是的,世界上的每一个网络节点都会记录一个区块链,并且保证他们是一致的。
我们会发现,这些区块链是一致的,并且是分布的,因为他们分布在世界上的每个计算机上。每一笔交易我们都可以在网上进行查找到。即使任意一台计算机发生故障,也不会导致这个区块链世界的瘫痪,因为还有其他节点保存着记录。这样就保证了区块链的安全。只有使这是世界上51%的电脑都受到攻击,区块链世界才会发生坍塌,但是我们可以想象,几乎没有人可以拥有这个世界上51%的电脑。所以,分布式、透明交易、安全、值得信任是区块链世界的特点。
想想我们现实世界,我们的法币之所以有效,是因为有政府背书。我们的钱都存在金融机构中,如果金融机构发生故障,我们的钱可能就没了,其实这么一想,挺不安全的。因为这些金融机构都是中心化的,数量有限,受到攻击,我们的资产就不安全了。这时,想想区块链世界中分布式存储,即使很多节点发生故障,我们依然会觉得很安全。我们可以在区块链世界中获得完全的信任。