区块链

先附上链接转载:https://ethfans.org/posts/wtf-is-the-blockchain

“只让人们在比特币带来的交易中获取比特币,或许是有意义的。一旦有足够的人这样想,它就会变成一个自我实现的预言。”——中本聪,2009

首先我们说说它的由来:

设想一个场景:


    你的一个屌丝朋友要带女朋友去旅游,结果没钱买机票不得已来向你借钱,于是你给银行的经理打电话告诉他从你的账户转1000块给你那个朋友。其实这一个过程只是在你的账簿上减去了1000,在他的账簿上多增加一千。但这个账簿既不受限于你,也不受限于你的朋友。只是一纸凭证。如果说你的经理不小心把钱多加了一个零写成了10000,或者不小心银行着火了,你的账簿也烧没了,那你怎么办,即使你那么信任银行。


提出一个设想:

   
多年来,我们一直把所有的鸡蛋(积蓄)都放在了一个篮子里,而且还是别人的篮子。那我们能不能有这么一个系统,可以不需要银行就可以转账,不需要银行来记账,而是通过某种手段来记录,并且这种手段记录下来的信息是安全的,不可变的,是值得我们信任的。

工作原理:

    打个比方,假设有10个人想抛弃银行以及任何第三方,根据相互之间的协议,他们可以一直拥有彼此的账号信息,但是不知道对方的真实身份。

   
首先我们给这10个人每人一张白纸用于记录十个人之间发生的交易,比如第一个人给第二个人100块,那么这10个人的纸上都记录下这一条记录,直到这张纸被写满后换一张新的纸,然后将写满的纸张放到一个文件夹里。


哈希方程:

在纸张放入之前,我们需要对它进行封存加密,以保证放入文件夹之后纸张不能再被修改,这就需要用到加密,而这个加密的方式恰恰就是我们所说的
哈希方程,我们这里暂时先叫它魔法机器吧,从魔法机器的左边输入一个数字,通过计算在右边输出结果,但是这个计算过程没人知道,并且这个过程同样也是不可逆的。当你输入一个数,它会输出一个唯一的结果。





所以说如果给你一个数字72533,然后问你会不会产生一个000开头的字符串,显然我们只要输入这个数字就可以验证结果,就只是这样。但要是反过来,给定你一个输出结果,让你算出输入值的非常困难的。


“给定一个输出值,要算出输入值是极端困难的。但是,给定输入值和输出值,要检验该输入是否会导致该输出,却是非常容易的。”

纸张放入——讲究:


    那么我们如何来使用魔法机器为我们的纸张产生一个密封条呢?








密封包含着我们网络中交易内容的记录,我们将需要算出一个数字,该数字在添加到交易记录清单上、输入机器以后,可以使我们得到一串三个 0 开头的字符。


我们会在机器上花费时间和电力,然后一旦我们算出那个数字,这页纸就被那个数字封存起来,这个密封的数字允许任何人去验证这页纸的完整性。

第一个计算出密封数字的人:


    一旦每个人都用尽一页纸的空间、无法记录进一步的交易,他们就开始卖力地计算该页纸的密封数字,使得它可以被藏入文件夹中。在网络中,每个人都进行这个计算,而最早算出密封数字的那个人会向其他所有人宣布这个数字。

    可是,如果他们知道其他人会算出它然后宣布它,为什么每个人都要耗费资源来进行计算呢?为什么不坐视不理、等着抱大腿呢?



好问题。这就是激励加入到这幅图景的地方。每一个区块链的成员都有资格获得奖励。第一个计算出密封数字的人将得到免费的金钱作为对他的努力(比如:付出的 CPU
算力和电力)的奖励。

简单地设想一下,如果 #5 为一页记录算出了密封数字,他得到了一些免费的钱作为奖励,假设是凭空铸造出来的1美元。换句话来说,#5的账户余额增加了 1
美元,同时没有任何人的账户余额有所减少。


这就是比特币变为现实的方式。它是在区块链(比如:分散式的账簿)上被用来交易的第一种货币。同时,人们被奖励以比特币作为回报,以使在网络上,(计算密封数字的)努力会继续进行。

当足够多的人持有比特币,比特币会升值,使得更多人想要比特币;这会使比特币进一步升值;这升值又使更多人想要比特币;这愿望又进一步使比特币升值;如此循环往复。

这种奖励,使得网络中的每一个人都不停歇地工作



Tip:将一页纸想象为记录交易的一个区块、把文件夹想象为纸张(区块)的链条,结果是,它变身成了一个区块链。

以上就是区块链的工作方式




那么防止对密封数字的修改呢?

还记得我是怎么跟你说的吗?我给了你两个盒子——一个装着数字
20893,另一个空的让你来计算?实际上,为了在区块链上算出密封数字,有三个盒子,而非两个——两个提前装好的,一个被用来计算的。

而当所有三个盒子里面的内容加起来、输入魔法机器后,从机器右边出来的答案必须满足要求的条件。

我们已经知道了,一个盒子装着交易记录的清单,一个盒子将装着密封数字。而第三个盒子,装着前一张纸的魔法机器输出值。




有了这个优雅的小心机,我们可以保证,每一页纸张都依赖于它之前的纸张。因此,如果有人要修改一张历史记录,他将同样必须改变该页以后所有纸张的内容和密封数字,以使这条链保持一致。

如果某个人,不属于我们在一开始设想的 10
个人,试图作弊,修改区块链(保存了所有交易记录清单纸张的文件夹)中的内容,他将不得不调整多页纸张、为所有这些纸张计算新的密封数字。我们都知道计算密封数字有多么困难。因此,这网络中的一个坏蛋欺负不了九个老实人。


将会发生的事情是,从这个不诚实的家伙尝试作弊的那一夜开始,他将要在这网络中创造另一个区块链,但那个区块链将永远无法赶上可信的区块链——仅仅因为一个家伙的努力和速度不可能战胜九个人积累起来的努力和速度。因此,这保证了在一个网络中,最长的链就是可信的链。

解释一下自己对以下几个关键词的理解:



去中心化:去中心的计算机相对于中心控制的服务器运行缓慢且成本高昂,
为了享受使用中心化计算机的低成本,我们给它们控制我们的力量。如果中央计算机(服务器)出故障或被黑了,就会连累与其连接的所有用户。只有当每个节点都出故障之时,去中心化计算机才会出故障,因此这台计算机能够一直工作下去。

分布式:分布式存储是将数据分散存储在多台独立的设备上区别于集中存储。

gas:中文意思 汽油,
支付给实际使用内存、硬盘、计算和电力执行智能合约的节点,执行使用节点内容的语句会有特定的成本,这类成本的单位是Gas,最终通过一点的兑换率转换成虚拟货币



区块链存储: 区块链可用于存储
任何类型的数据,存储在区块链上的数据类型会赋予区块链价值。比特币的区块链存储的是金融交易记录,因此让比特币成为类似于一种像美元或英镑那样的货币。比特币的用处与美元一样。






友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信