【荐读】2018年BAT程序员都在了解的专用名词

一、区块链
与分布式的关系

目前区块链概念正在大面积普及。很多人感觉这个东西好抽象,没有什么落地的东西,今天在这里主要介绍一下区块链的一些落地项目和有关区块链技术相关的知识。

一句话解释 : 它是一种特殊的分布式数据库。

有人又会问,那么“分布式”又是个啥啊?

我们用一个例子说明一下分布式。

你开了一家饭店,一开始顾客比较少,你雇一个厨子其实就够用了,这样这个厨子会做全部的事情(切菜,炒菜,端盘,洗碗,拌料等等),实际上所有的事务处理,都经过这个核心的厨子上,所以当前你的饭店就是一个中心化(一体化)的规格。 那么当你的客流量逐步增加,一个厨子当然不能累死啦,就会招一些每个领域都精通的厨子,去干自己的工作,你会雇炒菜的大厨,切菜的大厨,拌料的大厨等等。

这就是分布式,将一体化的东西拆分成单个精通的领域完成。分布式的概念应用很广泛,云计算、微服务、集群、区块链等等。

【荐读】2018年BAT程序员都在了解的专用名词

一体化与分布式

其实区块链核心思想就是分布式去中心化哦~!再举个栗子~

【荐读】2018年BAT程序员都在了解的专用名词

中央电脑一体化记账数据

中心化的记账方式实际上有一定的弊端,就是一旦中央电脑被Hacker入侵了或者破坏了,我们的所有账本数据和交易数据可能都将同一时刻毁灭。

【荐读】2018年BAT程序员都在了解的专用名词

去中心化分布式记账

反观如果是去中心化区块链方式,就是不再依赖中心化的记账,而是通过一种密码学计算让全网节点随机争夺记账权,争夺记账权的节点就会被奖励数字代币,而记完后的账本发布给全网所有节点保存。

下图介绍了区块链在交易工程中的工作原理。

【荐读】2018年BAT程序员都在了解的专用名词

区块链工作原理

二、必要了解的区块链专用名

公钥:相当于账号,全网每个节点都有一个公钥,别人付钱时都是付给这个公钥。

私钥:相当于你的账号的身份证明。私钥可以解开公钥加密的数据,说明付款方式确实是你。私钥必须妥善保存哦~,一旦丢失,就丢失了账户内所有的数据,那可都是白花花的银子啊,多少人早期玩比特币的业余人士,忘记了自己的私钥,里面的n个币子,都没了,以当今的价格换算的话,别墅、奔驰、宝马不在话下吧。

交易:节点之间发生的支付就是交易

区块:一段时间内所有的交易会打包成一个区块。这个区块会记录上一个区块的hash值(唯一码),使得上一个区块不可被篡改。区块会包含时间戳,这个时间戳解决了“双花”问题,也就是一个货币不能被支付两次,区块链技术中承认时间戳在前的交易有效性。

区块链:

由于每个区块都有上一个区块的hash值,造成每生成一个新区块,几乎造成老区块的不可篡改,从而形成全部数据的不可篡改。

挖矿(记账权):挖矿其实就是记账的权利,就是向整个区块链中添加一个区块的权利啦。就是把上次区块生成后到现在为止的所有交易打包再打上时间戳,向全网公示,51%的节点确认区块链有效则该区块就加入到区块链的末端,成为账本的一部分。由于不存在中心,所以记账是全网争夺的,大家通过计算一道密码学难题,谁先算出来,就获得全网共识(就是记账权利),就能够添加区块喽。算了这么卖力,总该有奖励吧,为了鼓励大家参与记账,所以争夺到记账权会有报酬,就是比特币喽(或者其他代币),

共识机制:就是所有分布式节点之间怎么打成共识,通过算法来生成和更新数据,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。以比特币为例,采用的是“工作量证明(Proof Of Work,检查POW)”。工作量是需要算力的,通过工作量证明,有效的防止了篡改和伪造,因为如果要达到伪造和篡改的工作量,大概需要上亿元成本和算力。

看了这么多,对这些专有名词有了解了吗?关于区块链,你们怎么看?


分享到:


相關文章: