什么是去中心化?
去中心化(Decentralisation),由数学家中本聪提出引用到金融行业。在日常生活中,银行作为一个权威度高,可信任的机构监管着客户的交易信息和个人信息。而去中心化的概念,就是去掉扮演着核心角色的银行,从而实现一个peer-to-peer 人人平等,点对点的电子货币系统。举一个简单的例子来大致说明下去中心化的交易系统,A,B,C,D四个室友,生活中少不了互相借钱或者AA消费等一些财务记录,于是他们协商通过人手一本账簿,每个人都同时记录大家之间的每一笔交易记录,以这样的方式回避掉了银行的存在。但是这样的记账方式存在许多安全隐患,例如捏造错误转账信息,于是就有了区块链技术的诞生。
什么是区块链?
区块链技术,从2017年迈向2018年,已经成为了互联网界‘新贵’词汇。区块链快速的发展也衍生了许多不同版本的区块链技术,但是大致的核心思想基本保持一致,顾名思义,区块链,就是将许多的区块(Block)通过一条链(Chain)被串联起来,从而以这样的数学方式解决了交易系统的得信任问题。区块主要负责储存一段时间内的交易信息,链的设计主要是为了保证历史交易信息不可被篡改。
Hash技术被运用到区块链中作为链式的基础。Hash是一种数学可以理解为映射关系,Hash有很多具体的算法,用Sha-256来说明下,Sha-256算法是把一串字符转换成一组256位的2进制数字。这个Hash的特点是容易正向计算,但是很难反向推证。除此之外,区块的链式基Hash的层层叠加,例如:Hash是算法可以直接调用,计算结果是hash值,H0= Hash(A) ,H1 = Hash(B H0),H2 = Hash(C H1),从而实现了不可篡改。因为一旦中间的某一hash值被修改,那么后面的所有区块信息都会产生错误。
区块链中的信息传递如何得到安全保护呢?
非对称性加密法被运用到区块链中,确保信息传递的过程中安全。RSA是比较有代表性的非对称性加密法。为了更好地了解非对称性加密,我们说下什么是对称性加密,A拥有一串数字‘1234’,通过加上2加密变成了‘3456’并发给了B,当B接收到消息的时候,通过减2解密,得到A发送的原始的消息。‘2’在这个过程中被称为密钥,通俗的来说,加密和解密过程中使用一样的密钥(单钥),这样的就叫做对称性加密。在非对称性加密中,存在一对公钥和私钥,私钥个人保存,公钥可以通过私钥计算得出并公开给所有人。交易信息可以通过私钥加密,然后使用公钥解密同时验证了交易信息的发送者的真伪性。回到刚刚的例子,A转账给B三块钱,那么这条消息就会被用A的私钥加密,然后发送这条消息给B,C,D,后三者可以使用A的公钥解密转账信息并确认这条信息是由A发出的,因为只有A的公钥才能解开由A的私钥加密的信息。
POW(Proof of Work)算法,防止坏人机制
上面说到,信息的传递得到了保证,但是还有一个问题可能会被忽略掉,如果A,B,C,D中A是坏人,明明账户上只有3块钱,但是却发消息分别转账给B,C每人3块钱。像这样的情况,在区块链中POW机制有效的遏制了这种情况的发生。POW只是一种比较广泛运用的算法,我们可以以后再了解。POW简单的来说,就是网络节点上的矿工的一场数学寄竞赛,竞赛的题目满足验证答案时间远远小于计算时间。解决数学问题的过程就称之为挖矿。这里暂时不对算法做详细的介绍(设计太多数学公式以及计算机专业知识,例如比特币的POW是找一组满足条件的随机数),但是可以简单的想象成数独游戏,因为数独的验证时间远远小于计算时间。每当有新的交易记录发生的时候,网络上的矿工就开始根据上一个区块的交易信息,加上当前新的交易信息,生成一个数独游戏,然后第一个找到解的矿工,通知所有网络上的矿工,通过大家的认证后,新的交易信息则给认证并添加到新的一个区块中。所以回到A是坏人的例子中,A对于B,C的两条交易记录,矿工们可能接受到第一条,也可能是第二条信息,于是所有人都开始解自己的数独。如果A对B的转账记录生成的数独先被某个矿工解出来并广播通知所有矿工,通过认真转账有效后,这个交易消息则被添加到新的区块并附在链上。
到这里,区块链的主要技术基本介绍完毕,只是每个实际的区块链,例如比特币,以太坊,Hcash都会有很多细节不同,当然本文也省略了很多实际的交易细节,希望今后有机会与大家一起探讨。
领取专属 10元无门槛券
私享最新 技术干货