首页
学习
活动
专区
工具
TVP
发布

5分钟带你读懂区块链

简单的解释区块链,就是“加密的分布式记账技术”,其中三个核心的重点就是“加密”,“分布式”,“记账”,分别涉及到了数学、网络和金融三方面的知识,你完全不用担心自己理解不了,我会用最通俗的语言来解释给你听。

1

加密

加密是以某种特殊的算法改变原有的信息数据,在区块链中主要采用的是公钥和私钥,是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

2

分布式记账

分布式记账区别于中心化记账,什么是“中心化记账”?中心化记账,就是当前金融行业广泛采用的记账系统。

举个银行存钱的例子。

我们的资金是存放在银行里的,比如我在某某银行有5k块钱,这在银行的中心数据库里其实表现为一条数据,为了防止意外和灾害,它还建有备份的数据库来存放这个数据的副本,这种记账方式就是中心式记账。

我对这笔资金的所有操作,都需要通过某某银行做身份认证和修改授权,才能完成,例如我们的储蓄卡、u盾以及口令卡等等。同时需要注意的是,假如我把一笔资金从我的账户转移到别人的账户中去,银行的中心数据库中会插入两条数据,一条数据为我的账户扣除了一笔资金,另外一条数据的别人的账户增加了一笔资金。

3

提高安全性

只要是做过web开发的人就知道,这里面一共涉及到了三张表单,账户表、资金表、资金转移表,这相对来说非常的安全,所有的数据记录全部在中心数据库中进行保存,但也同样存储了用户大量的隐私信息,也就产生了两个你未必重视过的问题。

1、如果中心(比如银行)出现问题,例如黑客攻击或者系统错误,导致记账数据倍篡改或者损坏,就可能导致整个系统的危机甚至是崩溃。虽然这种可能性很小,但并不是完全不可能。

2、这种运作模式因为账本的唯一性,依赖的是中心的信用,即银行的信仰,如果这个中心的信用出现问题,比如银行擅自篡改数据,那么客户的权益也会受到侵害。现在的办法是依靠严格的监管。但所有的监管都不完美,都会存在漏洞,导致人为事故。

区块链的出现,则解决了上述的问题。

我有6k块钱的这件事情,不是记录在银行的中心数据库里的,而是记录在全网所有的计算节点上的,也就是说这6k块钱数据我是全网所有节点计算机确认的,如果你想要篡改数据,需要说服和修改素不相识的全网51%以上的计算节点。而如果系统中计算节点数量足够多,这基本上是个不可能完成的任务。

4

区块链中涉及到的概念

1、钱包:包含有一个密钥对和未完成的交易输出集合。

2、交易:一次对货币的操作,可以是存入一笔资金或者是转出一笔资金,每个交易包含交易输入和交易输出,由此确保每个交易都是真实可信的。

3、区块:区块链中的最小组成单位,在每一个区块中存放着一个或多个交易信息,在一个区块链中第一个区块称为创世纪区块,特殊的点在于创世纪区块只有交易输出没有交易输入。

4、广播:每次在区块链中加入一个区块会在全网进行公布,即网络中的每一个节点都会得到一个真实的交易信息。

5、数字签名:在区块链中加入一个区块会通过私钥进行一次数字签名,加入下一个交易区块的时候会通过公钥进行解密,如果解密不成功,那么下一个区块将无法加入到区块链中。

6、工作量证明:在区块链中我们需要工作量来证明哪些节点是诚实的节点,工作量证明通过设计难度,然后挖矿者通过尝试不同的参数值直到它的hash值是从一定数量的0开始的。

7、篡改数据:如果某一个节点想篡改区块链中的数据是不太可能的,因为篡改的区块链将无法赶上长链和有效链,除非这个节点比你网络中所有的节点拥有更大的计算速度,比如量子计算机。

8、奖励机制:通过挖矿者的工作量证明,保证了区块链的有效性,所以对表现诚实的节点进行奖励。区块链之所以可以实现去中心化一方面是通过技术手段,另一方面是通过聪明的激励设计来实现的。

9、智能合约:是能够自动执行合约条款的计算机程序,是颠覆性的技术,我们可能不在需要人为的进行监控,而是一旦达成了合约中的条件,就会智能的自动执行。

5

总结

通过区块链技术,我们可以实现去中心化、可追踪、自带信用体系的区块链生态。虽然说现在区块链技术基本都应用在比特币、以太坊等金融领域中,但其实在我们实际的生产环节中会更多的应用到区块链的概念,我想在“万物互联”的前提之前可以先通过区块链技术实现“万厂互联”。

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180910A0RNFH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券