聊聊区块链的创新技术

区块链技术源于2008年一位署名为“中本聪”的学者发表的论文《比特币:一种点对点电子现金系统》。时至今日,“中本聪”的真实身份仍然无人知晓,但区块链的江湖一直有他的传说,由其奠基的区块链技术火爆全球。

何为区块链,人们提到区块链会想到近年火爆的比特币,心里会不自觉地把区块链和比特币挂钩,但区块链并不等于比特币,比特币只是区块链技术应用的一个子集。区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。有人对区块链做了一个概括:区块链是一个去中心化的信任机制。区块链底层依赖于数学、密码学、互联网和计算机编程等很多科学技术,主要解决了交易的信任和安全问题,并且针对这个问题提出了如下四大创新技术:分布式账本、非对称加密和授权技术、共识机制和智能合约,这些创新技术和理念是跨时代的。

  • 分布式账本。即交易记账不再是传统的中心化记账,而是去中心化记账(分布式记账),记账由分布在世界不同地方的多个节点共同完成,每一个节点都存储的是完整的账本。

    何为中心化记账:举个简单的例子,就是去淘宝购物,买卖双方所发生的一切交易都需要一个权威的第三方机构来介入——支付宝,支付宝记录了双方的交易往来,当我们看好一件物品,下单购买的时候,钱首先会到达支付宝,当我们收到货物确认收货后,钱才会真正的从支付宝转到商家的手里。交易市场上商家鳞次栉比,在人人都无法确认与之交易的商家是否可以信任的时候,支付宝介入两方的交易当中,起到了一个非常重要的担保作用,来解决交易双方的信任问题。但中心化记账是否绝对可信?答案是不一定,一旦这个记账中心出现问题,如被篡改、被损坏、出现故障,整个系统会面临危机乃至崩溃。当记账中心崩溃,整个交易系统都会崩溃,所有的交易往来都会纠缠不清,这是一个典型的“单点故障”问题。为解决中心化记账的“单点故障”问题并保证交易的可信任性,去中心化记账横空出世——区块链的特点。

    何为去中心化记账:即人人皆可记账,交易网络中的所有节点都有对账本的记账权,每个节点存储都是独立的、地位等同的,每个节点依靠共识机制争夺对每一笔交易的记账权并保证账本存储的一致性(每个节点都单独存储着整个账本),这也便解决了中心化记账的“单点故障”问题。如果有非法节点要篡改账本,至少要篡改全网51%以上的账本才能篡改成功,账本被非法篡改基本是不可能发生的,这也保证了交易的安全性。

  • 非对称加密和授权技术

    存储在区块链上的交易信息是公开的,但是账户的身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。下面简单谈谈非对称加密算法。

    非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

    非对称加密算法实现信息加密交换的基本过程是:甲生成一对密钥并将公钥公开,需要向甲发送信息的其他人(比如乙)使用该公钥(甲的公钥)对机密信息进行加密后再发送给甲;甲再用自己私钥对加密后的信息进行解密。甲想要回复乙时正好相反,使用乙的公钥对数据进行加密,同理,乙使用自己的私钥来进行解密,这一过程保证了通信信息的秘密性。

    非对称加密算法除了用于信息的加密传输,还有一个常见的应用场景,即身份验证。

    举个非对称加密算法用于身份验证的例子,有一天课上,嘉嘉要给琦琦传一张小纸条,纸条上内容写着

    琦琦,我是嘉嘉,我喜欢你
    

    如果要向琦琦证明纸条确实是嘉嘉所写,且内容未经其他人篡改(防止其他人起哄),嘉嘉需要

    1. 将小纸条的内容进行Hash,得到摘要。
    2. 用自己的私钥,加密摘要,生成签名。
    3. 让同班同学传递这个小纸条和生成的签名。

    琦琦收到纸条和签名后,需要

    1. 用嘉嘉之前给的公钥,对签名解密,得到摘要1。

    2. 对纸条内容进行Hash,得到摘要2。

    3. 对摘要1和摘要2进行对比,如果摘要1 == 摘要2 则说明纸条确实由嘉嘉所写,且内容未经改动。

    为什么说只有摘要1 == 摘要2,就能说明纸条确实由嘉嘉所写,且内容未经改动?因为只有嘉嘉才能持有嘉嘉的私钥,用私钥加密的内容(签名)只有对应的公钥才能解开;如果纸条内容在传递过程中改变,根据哈希算法的特点,得到的摘要1一定与摘要2不同。

  • 共识机制

    所有记账节点之间怎么达成共识,去认定一个记账记录的有效性,这既是认定的手段,也是账本防止篡改的手段,这也就是共识机制。区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。这里我们介绍下工作量证明机制(pow)。

    工作量证明(pow):要理解pow,必须先理解哈希函数,哈希函数的应用常在于给定一段消息,通过哈希函数可以将消息映射为固定长度的哈希值(比如sha256,将任意长度的消息映射为256位的哈希值)。哈希函数的运算结果具有两个特点:“无碰撞”和“不可逆”。

    “无碰撞”即是不同的x映射成不同的y(x的Hash值),我们无法找到相同的y对应于不同的x,这是指哈希函数运算结果的唯一性;

    “不可逆”即是我们无法从x的Hash值(y)推导出x,这表明哈希函数是一个单向函数;

    理解了哈希函数的运算之后,我们举个工作量证明的例子,若给定的一个基本的字符串”Hello, world!”,我们给出的工作量要求是,可以在这个字符串后面添加一个叫做nonce的整数值(nonce还未知),对变更后的字符串(添加了nonce的字符串)进行SHA256哈希运算,如果得到的哈希结果(以16进制的形式表示)是以”0000”开头的,则验证通过。为了达到这个工作量证明的目标。我们需要不停的递增nonce值,对得到的新字符串进行SHA256哈希运算,这就是常说的穷举,通过穷举得到一个满足要求的答案而争夺记账权。

  • 智能合约:智能合约与传统的纸质合约类似,智能合约即是把生活中的合约数字化,当满足一定条件后,可以由程序自动执行的技术。智能合约相对于传统合约来说有两个特点:将合约条件的触发和执行合并为一次原子操作;建立在节点与节点之间(即用户与用户之间),无须第三方中心机构的介入。在生活当中的传统合约一般建立在用户和机构之间,即使是用户与用户之间需要建立一个合约,也会需要一个权威的第三方机构来为双方作证明,从而防止单方面违约的情况出现。而区块链的出现,解决了两节点间的相互信任问题,从而导致智能合约可以在区块链的基础上得到广泛的应用。

    目前传统合约的条件触发和执行是异步的,也就是说当人们发现客观事件已经满足了合约某条款的触发条件,然后再人工地去触发条款的执行,这一过程是低效的,特别是在追责追债中,很容易给违反合约的人一定的时间进行周旋和出逃。而建立起智能合约则不需要担心这些问题,举一个例子,A将自己的汽车出租给B,A和B签署一份智能合约,A写明条款:我的汽车的启动密钥在时间xx年xx月xx日前有效,续期需要B转账xx比特币,否则密钥失效。如果B在规定时间内不进行续费,那汽车密钥自动失效,他也无法使用租来的汽车。这一智能合约执行过程完全自动化和原子化,不用担心B在到截止日期的时候拖欠租金,或是找一些借口不归还汽车的问题。

以上即是总结的区块链四大创新技术:分布式账本、非对称加密和授权技术、共识机制和智能合约。由于区块链颠覆式的创新,也有人称:“区块链是互联网的第二次革命”。我个人认为之所以称区块链为互联网的第二次革命,是因为,在互联网中新技术(区块链)会催生新的应用,新的应用又催生新的需求,需求又会催生新的技术,在这一环套一环的影响下,互联网会迎来更大的发展生态,区块链则在其中,起了一个非常重要的奠基的作用。

猜你喜欢

转载自blog.csdn.net/atuo200/article/details/107420788