比特币作为最近的热点话题,十分抢镜。那么,比特币是如何产生的?小厨爸爸翻阅了网络上诸多大神的讲解后,对上述问题做出十分不详尽的解释。
大家将比特币理解为一种虚拟奖励,就像游戏的装备或者画饼充饥中的“饼”。只要参与者认可它,比特币就有存在的价值。那么,我们接着要问,比特币如何被挖掘和交易的?要解决这个问题,我们首先要理解区域链(block chain)的相关知识。
一、区域链是什么?
区域链是一个虚拟存储信息链条,也可以理解为区域块,它存储了很多信息,包括时间、地点、交易信息、挖掘信息等。区域块是有信息+ hash函数共同构造的。虽然这个函数让小厨爸爸觉得不明觉厉,但这里还是牵强的解释一下。Hash函数是一个密码学里用到的单向函数。例如Y=hash(x).如果我们知道Y,解到X是Very hard work。在信息量很大的情况下,计算机往往采用穷举法解出X。我们举栗子说明区域链的结构。
区域链1=区域块
区域块1=hash(X1)
区域块2=hash(区域块1+新的信息+奖励节点)
依次类推……
因此后续的区域块上都应前面区域块的信息。
二、如何挖掘和交易比特币
我们假定比特币是对参与者的奖励,那么奖励谁,如何奖励。这还要看hash函数。
Hash1=hash(信息+奖励节点)
Hash2=hash(信息+hash1+奖励节点)
……
信息是一段时间内的信息,是公开的,且不影响计算。奖励节点是一个随机数,当给出hash1的值,并把该信息高速所有的参与者(矿工),则所有矿工采用各种手段和算法计算hash1所对应的x1值。假设小明童鞋先计算出来,并大声告诉全世界(所有参与者),则小明会得到比特币的奖励。
这些比特币是真实放在小明口袋了吗?答案是否定的,小明得到比特币的信息将存储在hash1中,所有参与者要承认这个事实,且该信息一旦写入区域块,是不能够更改的。
小明计算出x1后,(会给出hash2——小厨爸爸不知道谁给出的),让所有参与者继续计算hash2的奖励节点x2……依次类推。
当小明拿比特币购买商品后,回产生信息,信息回写入新的区域块(hash函数)。于是,一个区域块会记录以前所有比特币的挖掘和交易信息,并得到所有参与者的认可。由于密码学的工作原理,写入的信息不可以修改,从而使得“扇子”修改信息的成本非常高,从而“失信”的可能性就很低了。例如,小明购买的香蕉,吃完后小明不承认购买过香蕉,则小明需要修改所有人记录的区域块,成本是非常高的。
三、关于区域链分叉的问题,小厨爸爸尚未搞懂,只敢粗略的聊一聊。
在“矿工”计算x值获得节点奖励时,由于计算机网络的传输速度等问题,可能小花和小明同事计算出x值,也同时向全世界宣告,但1区的人先接收到小明的宣告,2区的人先接到小花的宣告,那么比特币该奖励谁呢?这就成了区域链分叉问题,就像足球赛平局,需要加赛一样,当出现区域链分叉时,区域链回保留两个人的信息,并加大难度,当下一个节点如果是在小明的区域链上率先计算出时,则认为小明应当获取奖励,区域链就在小明产生的链条上继续。这是考虑到比特币的排他性。
好,就这样结束吧,有大神认为小厨爸爸的讲解漏洞百出,扭曲事实的,可果断“推倒”或指正。
最后,请大家多多支持我们的公众号——金融点心。如果你爱它,请戳它,如果你鄙视它,请用力戳它,戳戳戳……