分享错误,学习生活

区块链应用 区块链是什么 10分钟理解区块链究竟是什么?

      最近,区块链、比特币和ICO这三个概念非常红火。全球股市,沾上区块链的概念就大涨;比特币价格,在2017年猛涨了十几倍;ICO更是像打新股一样疯狂。但是很快,中国七部委联合下文,叫停了ICO,一夜之间ICO似乎成了庞氏骗局的代名词。

      那么,区块链、比特币、ICO到底是什么鬼?众所周知,在得到专栏作家李笑来老师和刘润老师都对区块链做过很深入的讲解,感兴趣的朋友们可以订阅专栏进行详细的理解。而我写这主题系列文章主要是站在产品经理技术应用的角度,来讲述一下区块链的基础原理以及区块链技术的实际应用方式。这一篇先从原理开始讲解一下区块链究竟是什么?

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

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

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

        举个银行存钱的例子。

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

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

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

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

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

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

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

     区块链中涉及到了这样几个概念:

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

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

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

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

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

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

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

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

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

我在此只是简单了描述了一下区块链中的一些核心的概念,在我的下面用Java创建你的第一个区块链中会再次详细的描述上述的这些概念。

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

暂无评论

发表评论

电子邮件地址不会被公开。