本青蛙一路旅行,所到之处所见之人都在讨论区块链。区块链到底是个什么玩意呢?我决定读读这篇文章,听说可爱的人都读了哦~
中心化问题
互联网高速发展的时代,网上购物是人们必备技能之一。如上图所示:买家支付给第三方平台(例如支付宝,paypal等),卖家收到买家已经付款的通知,将货物发出,待买家确定已收货后,第三方平台再将货款转给卖家,即完成一笔交易。
但大家是否考虑过这样的情况:万一哪一天这个第三方平台卷钱跑路了呢?或者这个第三方平台信息发生错误了呢?例如明明买家付了300元货款,卖家那却显示其只支付了200元货款。由此可见,日益高度中心化的交易方式使得当中心化机构一旦出现问题,就会带来巨大的损失。
中心化机构通常具有一定的规模,信誉,亦或者是由国家背书(比如银行),我们相信他们,从而均经过他们来进行交易。但他们真的不会出错吗?每年都会出现某人卡上飞来一笔横财,或者某人卡上忽然少了一大笔钱的新闻。银行系统每年也要花巨大成本来进行交易信息的纠错。这样的中心化运作模式不仅费时费力,而且用户还要承担钱货两空的风险。
区块链的诞生
我们设想一下,现在有一个巨大的广播,小编的青蛙“张狗”在广播口说:麻麻!我带着明信片回来了!!(≖‿≖)✧。这个消息一传十,十传百,于是全世界的人都知道:“张狗”带明信片回来了!!有了这个非常厉害的广播后,每次小编的青蛙有新的动态,就能直接向所有人传达。
例如:它今天在咖啡店赊了500元。这时候所有人都知道,小张她蛙儿子在外边欠账了500元。同时,咖啡店也要确认下,对的,它不是欠我300元,也不是600元,是500元。大家知道:诶,的确有这样的事情发生,“张狗”广播的没问题。
但是,这个广播每天都会发无数的信息,大家根本记不住,所以要拿个小本子记录下来。我们以人之初性本善来假设,大部分人都是很诚实的听到什么记录什么。我们可以知道,当大家消息不互通情况下,诚实记录是最好的选择。那些与大部分人不同的小本子(一些坏人编造的假信息),就会被驱逐出这个系统!那么最后留在这个系统里面的,就都是诚实的小本子了。而且,即使一个人的小本子倒下了,系统中还有千千万万个小本子坚挺着,诚实地记录着过往发生的一切。
上述说的这些情景,和接下来要介绍的区块链,有异曲同工之妙。
区块链相关概念
区块链
区块链本质上就是分布式的账本。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
分布式账本
我们现在基本上的交易模式,都是中心化的账本模式,基本上由银行掌握着。而我们上述情景中,每个人都拥有一个账本,这就相当于区块链的分布式的公共账本。在这个分布式网络上,每个节点都有账本的完整备份。如果有坏人想篡改账本上的记录,他必须改动每个节点储存的账本备份,这就令篡改行为难以实现。
动态的点对点网络
上述情景中,当每个人手里都拥有小本子以后,每个人都可以互相发生交易并自行记账(不需要银行等中心化机构参与)。区块链弱化了中央服务器的概念。同时,区块链也是一个动态的网络,不断有新节点加入和原区块链网络中节点的退出。新节点的不断加入为系统引入新的资源。相当于,参与这个系统人越多,这个系统更具分散性,权威性,更实用和普及。
挖矿
在接触区块链的时候,一定会接触到一个词“挖矿”。你脑中第一个浮现的场景一定是这样的:
在区块链中经常提到的挖矿其实指的就是记账权。接着上面的场景,有人会说,凭什么广播说什么大家就一定会在小本本里面记下来呢?纸和笔墨不要钱?所以,为了激励大家帮我记账和告诉其他人,我就给第一个记下信息的人一些奖励。第一个人记录下这笔交易的获取奖励后,就要告诉其他人,我已经记录好了,你们就别记了。同时,他要传话给其他人,为了表明他是第一个记录的(或者说先于其他人记录的),他就会在我说的话前面加上自己的编号,再传话给下一个人。
分叉问题
小编知道,这个时候有人要问了:那万一,小陈和小张分别在北京和上海,几乎同时喊了一句:我记好了!那天津的朋友们会认为小陈是第一个记下的人,而杭州的朋友们肯定觉得小张才是第一。然后南方北方的朋友因为距离的关系,开始分别在小张和小陈后面跟着继续记录了。这样本来应该只有一条的链开始分叉了。
这样子,我们就不能保证每个人的小本子上信息都一样,那么去中心化的设想就破灭了。如何解决这个问题呢?我们就设定,每个人都要用左手写字,且要写字的时间至少要半个小时。这样由于每个人熟练度不一样,有些人一直是左撇子,自然就更快记账。那么自然每个人之间会有一定的时间差。第一个写完的人高喊:我记完了。其他的人就会停笔,转而去记录某某他记完账了。这里的熟练程度,就是在区块链中的算力。
如何保证数据安全
小刘某天中了彩票,五百万。她要和相关机构联系,所以要发送个人信息。小刘很害怕(那个时候她还没看过我们这个公众号),她心里想:怎么办,这样子我喊一句,所有人都会知道我手上有五百万,可我就只想让对方知道好给我打钱。其实,在区块链中,信息的传递是按照公钥加私钥的方式进行的。公钥相当于邮箱地址,所有的人都能看到,并且与你通信。私钥相当于邮箱密码,只有拥有私钥的人才能查看邮箱中的信息。
小刘用博彩机构的公钥对个人信息进行加密。网络中除了博彩机构以外的其他用户接收到这个信息看到的只是一段密文。只有博彩机构可以使用自己的私钥对密文进行解密。
有读者觉得小张她写这篇推送有点不错,想给她打赏,看到了小张的公钥,但是他们会担心,这个公钥到底是不是小张的。区块链有个神器——数字签名,有了数字签名就可以用于验证信息发送者的身份。
小张会使用私钥对文件签名并发送给读者A,读者A使用小张公开的公钥对文件进行签名验证,如果验证成功,则该文件一定是使用小张的私钥加密的。由于私钥只是小张一个人所有,所以读者A能确定文件的发送者就是小张本人。
通过上述的讲解,各位应该对区块链有一些了解了吧?如果觉得小编讲的有点棒的话,希望动动你的大拇指,多多点赞和转发。您的鼓励是我的最大动力,后续文章更精彩哦!同时,如果您还有问题的话,欢迎在留言板与我切磋!
听说每一个可爱的人都扫描了下面的二维码哦~一颗红心献给亲爱的读者们~