背景:2008年,国际金融危机下,人们因为金融体系的崩溃而失业,甚至血本无归。这时,一个网上的极客看到这人间悲剧的一幕,暗暗骂了一句:为什么华尔街的这些家伙需要全世界来买单?我想改变这种情况。
于是,这个现代侠客开始了他的计划。他于2008年首次在互联网上发布了比特币,这是一种点对点的电子现金系统,一场伟大的社会实验开始了。
比特币的本质是一个去中心化的电子记账系统。
一般来说,我们通过银行记账,银行是国家背书的。所以大家都愿意信任银行,把钱存进去。
比特币的设计原理规避了银行的集中式架构。
基本原理描述:
比如有四个人,A\\B\\C\\D,如果他们之间有交易(比如A给B10比特币,B给C3比特币等等。),他们会把信息透露给大家,然后大家记账。那么问题是:
1.为什么要1。ABCD记账?
2.最终以谁的账本为准?
3.如何防止假冒?
4.如何防止重复支付?
5.如何防止篡改?
接下来,让我们来看看中本聪是如何逐一解决这些问题的。
1.为什么要1。ABCD记账?
记账有奖励。如果你希望某人做某事,你希望他有回报。人性。
1)记账人会得到一笔手续费,例如,A会付给元,而C会因为记账而得到一定的手续费。
2)包装奖励,只有一个人可以完成包装,包装的时候会有人奖励。完成包装的人将获得50个比特币(BTC)的奖励
包装说明:中本聪大约需要10分钟完成账户记录的包装。打包的结果称为一个块(块中大约有4000条交易记录)。根据上面我们可以算出比特币有多少,20 * 6 * 24 * 365 * 4 * 11/2 (1/2) 2.=2100万。
2.最终以谁的账本为准?
工作证明的简单理解就是系统会解出一道很难的数学题,谁先解出谁就有奖励。但是这道数学题太难了,只能用穷举法来解。一个一个尝试答案的过程叫做挖掘。
扩展:哈希函数sha256 ('Beauty')=256位二进制数
这个函数的特点是,输入任何东西都可以快速得到256位二进制数。
打个比方:对于x 5 log2x X=a,Y,如果输入X=a,Y。
你可以很快算出来,但是如果你给y,让你算x,那就困难多了。哈希函数比这个难多了。
采矿原则:
D-D-D-D-…
上面每个D代表一个块,每个块包含的信息是:前一个块的表头账单信息,时间戳,随机数=字符串(不管字符串怎么来的)
Hash字符串HASH=SHA256 (string)=256位二进制数。
对于256位二进制数,通常要求前n位为0(通常设置难度就是设置n的大小,调整n的大小来控制出块时间)。如果谁先尝试这个结果,他就有资格收拾这个街区。这个幸运的人可以连接一个新的D(块)到上面的区块链,并获得相应的奖励。
如何算出这个256位的数,需要挖掘者(矿工)不断尝试上面公式中的随机数,直到算出来。
注意每个人计算的时候难度不一样,因为每个人记录的账单信息,时间戳,个人信息都不一样。但一般来说,谁的计算能力更强,也就是谁尝试的更快、更多,谁挖到的概率就更大。
3.如何防止假冒?
先说身份认证。传统的身份认证方式包括签名、指纹、人脸等。但是安全性不够,在现实中容易被伪造。
如何解决这个问题?
电子签名!
怎么来的:随机数-私钥-公钥-地址
公钥和地址可以公开。比如你想让某人给你转账,你可以把公钥和地址给他。但是私钥要保密,不能给!
私钥可以计算公钥,公钥不能计算私钥。这种关系在密码学中被称为非对称加密。
通过例子理解:
举个例子,A把一个比特币转给B,A会把这个信息A哈希到B 1 BTC得到一个摘要,然后用私钥加密这个摘要得到一个密码。然后A将这个信息广播给B 1 BTC公钥密码。
比如听到广播后,C会验证这条消息是否真的发生过。c将A哈希到B 1 BTC得到摘要1,同时使用A提供的公钥密码得到摘要2。如果digest 1=digest 2,则表示此消息确实是由A用自己的私钥加密的。如果不是,说明这个消息是伪造的,A没有发起交易。
4.如何防止重复支付?
1)首先要了解平衡检查——溯源法。比如你要付钱给某人,你至少要证明你有足够的钱。比如A给B转了一个比特币,你可以在历史区块链里看到过去的记录,看看A在历史上有没有收到过一个比特币。
2)什么是双重支付,也叫双重支出?这意味着你用了同样的钱两次。比如A同时发了两条消息。1-A付钱给B 1 BTC,2-A付钱给C1 BTC。在网络上收到这两条消息的人时间不一样。这个时候,比如D先收到1-A,付给B 1 BTC,算出数学题,然后把积木打包,连接起来。这时,1-A支付了b。
5.如何防止篡改?
首先,我们来了解一下最长链原理。如果网络中的A和B几乎同时解出数学题,然后打包了怎么办?这时,链条上就会出现两个分叉。这个时候我们就通过时间来解决,看一段时间后两个链条哪个最长。链条最长的那个,站的人会越来越多,直到最后大家都抛弃短链。
了解之后,我们来看看如何防止篡改
举个例子,在A之前有A到B 1比特币的交易,但是A想篡改这个记录怎么办?
回到我们的连锁酒店D1-D2-D3-D4
例如,A想要篡改的交易发生在D2街区,他需要从D1开始篡改它。这个工作量会非常大,相当于一个人对抗全世界。理论上,如果A的计算能力超过所有人,他就可以完成篡改。但是这个概率会很小。首先,没有人有这么大的计算能力,至少在可预见的未来没有;其次,如果他有这么大的计算能力,他可以继续挖财(除非他是疯子或者弗兰肯斯坦),不会犯岔子。
综上所述,通过以上五个问题的解决,中本聪探索出了一种不需要银行等中介机构,人人都能认可的记账方案。这是一项伟大的发明,它将对未来人类社会产生巨大的影响。比特币只是区块链的一个应用,就像电灯对电的发明一样。其实底层技术是区块链技术,会大大降低人与人之间、点对点之间的信任成本,从而降低社会运营的成本。
其实还有很多细节没有提到。感兴趣的同学可以了解拜占庭一般问题——如何解决恶意节点以保证信息的一致性。
本文内容基于李永乐老师的视频内容,我个人理解。仅用于学习和分享,不用于任何商业目的。我希望与有缘分的人分享区块链的知识。
格格