加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

区块链的技术世界观:账本的技术演进

发布时间:2018-11-28 15:51:49 所属栏目:建站 来源:午夜咖啡
导读:副标题#e# 本文是基于我在 360 区块链开放日上的分享整理完善而成,演讲时有些逻辑没有讲明白,感觉用文字表述可能更好一些。作为自己区块链系列的开篇第一篇,谈谈怎么从技术的角度理解区块链。 说到区块链技术分享,区块链相关的各种技术词汇就纷至杳来。

多运营方账本

区块链的技术世界观

上面的账本都只考虑同一个主体运营维护的场景,内部的信任较高。但如果是多方共同维护一个账本的场景,也就是上一个方案的不同机房其实属于不同的主体。这样的场景下,另外一方无法直接信任应用的最终状态,所以在不同机房同步的不能是应用的状态,而是应用的 Event(事件)。无论是本机房用户写操作的 Event 还是从其他机房同步过来的,都需要经过业务逻辑校验处理后再变更应用状态。这实际就是 EventSource/CQRS 的架构,也是很多联盟链的架构。多机房场景下其实也会用这种架构,主要区别是在对从其他机房同步过来的 Event 的信任度。这时候,账本技术的挑战除了跨机房分布式共识算法,还有共识算法和业务逻辑融合。在前面场景里的共识算法,基本只关心数据,不关心业务,共识算法只保证数据的一致性,并不保证数据在业务场景下的合法性。但在这个场景下,共识算法要保证只对合法的数据达成一致,二者融合了。无法直接沿用上面几种分布式共识算法,需要考虑作弊情况的共识算法,比如 BFT 这样的。

有人会问,有什么动力要将同一个账本交给多个运营方呢?那我们拿互联网电商来说明这个场景。当前的电商,一方面对接商家和商家的库存管理系统,另外一方面对接银行和快递系统,以及最终用户。一个商品,从库存管理系统,到电商平台,用户购买后,从银行扣钱,发送快递,实际上是同一个账本上的信息在不同的运营方系统之间的同步。当前的实现方式是通过远程调用或者商家和用户介入手工操作。那不同的账本之间如何保证一致性呢?只能定时对账清算,因为远程调用本质上只是信息传递,无法保证一致性。如果这时候有个多方共享的账本,架构就会像上面那样,不仅架构更优雅,同时结算效率会更高。

关于联盟链的技术架构以及模式的更详细分析,我会在下一篇文章中细说。

去中心化账本

去中心化账本这个概念没有非常准确的定义,但我们这里可以简单的理解成 Peer to Peer 网络 + 账本。Peer to Peer 网络的特征是无准入机制,给人的印象也是不可靠,更不追求一致性,而账本是要追求一致性的。比特币创造性的把二者结合起来。所以一般所说的去中心化账本,或者公链,关键一个特性就是无准入机制。

之前的账本都是有准入机制的,并且账本本身的运营成本以及收益通过系统外的机制来解决,那如果去掉准入限制,同时账本的运营成本以及收益也通过账本系统内置的机制来调节,会有哪些新的挑战?

  1. 如何激励生产者?生产者为什么提供服务器资源?如何度量生产者的工作?
  2. 如何实现一致性?无准入机制的情况下,节点数不确定,随时加入退出,无法用 BFT 这样的投票共识算法。
  3. 如何防攻击?比如生产大量数据(DoS攻击),伪造大量节点(女巫攻击)。有了激励就有了攻击和作弊的利益动机,传统的 Peer to Peer 网络没有激励,一般人也不会做损人不利己的事情。

下面我们通过几个公链是来分析上面的问题。

Bitcoin: A Peer-to-Peer Electronic Cash System

比特币首先带给我们的是一套内生的激励机制。虽然比特币到底应该理解成货币,还是数字黄金,还是股票,大家争论不休。这里我们把比特币设想成一个创业公司,这个创业公司要做一个记账交易系统。于是它发行了2100万股,发行规则直接写到了这个记账系统的代码中,分期释放,奖励给给这个系统提供运行资源的人。而用户拿什么来交易呢?也用它的股票来做交易媒介。这样它就实现了软件系统在经济上的自举,也带给软件系统一种能力:在程序算法中引入经济博弈机制。

Proof of Work

PoW 到底应该算是激励的评估机制,还是共识算法,还是反 DoS 策略?实际上它兼具多种功能。所以这也是公链的共识算法和传统分布式共识算法的差异之处,容易让人迷惑。

最早应用 PoW 的是 hashcash,它的主要目的就是通过 PoW 来实现邮件的反垃圾,关键点是通过 PoW 制造额外成本,这样发邮件少的用户可以接受成本,但发垃圾邮件的用户就很难承担这样的成本。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!