对区块链的基础问题进行讨论,并澄清一些认识误区

定义及原理

区块链的定义

公认的最早的关于区块链的描述性文献,便是中本聪所撰写的《比特币:一种点对点的的电子现金系统》(该文献在之前的文章里提到过),但是该文献并没有明确提出区块链的概念,而是更加侧重于电子现金系统。
另外,在维基百科上,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。
在参考文献[1]中,从两个方面来看待区块链的

  1. 狭义角度:区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求
    1. 广义角度: 区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等

区块链的演化

比特币区块链面向转账场景,支持简单的脚本计算。很自然想到如果引入更多复杂的计算逻辑,将能支持更多应用场景,这就是智能合约(Smart Contract)。智能合约可以提供除了货币交易功能外更灵活的功能,执行更为复杂的操作。
引入智能合约后的区块链,已经超越了单纯的数据记录功能,实际上带有点“智能计算”的意味了;更进一步地,还可以为区块链加入权限管理、高级编程语言支持等,实现更强大的、支持更多商用场景的分布式账本系统。
从计算特点上,可以看到现有区块链技术的三种典型演化场景[1]:

场景 功能 智能合约 一致性 权限 类型 性能 编程语言 代表
数字货币 记账功能 不带有或较弱 PoW 公有链 较低 简单脚本 比特币网络
分布式应用引擎 智能合约 图灵完备 PoW、PoS 公有链 受限 特定语言 以太坊网络
带权限的分布式账本 商业处理 多种语言,图灵完备 包括 CFT、BFT 在内的多种机制,可插拔 支持 联盟链 可扩展 高级编程语言 超级账本

认识上的误区

1.区块链是完全创新的,是颠覆性的 作为融合多项已有技术而出现的事物,区块链跟现有记账科技和信息体系是一脉相承的。区块链在解决多方合作和可信计算问题上向前多走了一步,但并不意味着它就是万能的(从来不会存在一项万能的科技),更不会快速颠覆已有的众多商业模式。很长一段时间里,区块链的应用场景仍需不断摸索,区块链在自身发展的同时也会与已有系统共存互通。

2. 区块链必然是非中心化的,非中心化的一定优于中心化设计 比较两种技术的优劣必须要先确定场景前提,区块链也是如此。不可能存在某种技术在任意场景下都是最优的。目前区块链两大形态——公有链和联盟链之所以在技术选型上存在较大差异,正是因为它们面向的场景不同。中心化设计往往具有设计简单、管理完善、性能高、安全可控的特点,但容错性能比较差;非中心化(多中心化)的设计可以提高容错性能,可以利用多方共识来降低篡改风险,但意味着设计较复杂,性能较差。从实际需求出发,现有大部分区块链技术都介于绝对的中心化和绝对的非中心化之间,以取得不同指标上的平衡。例如某些公有链为了提高性能,选择部分代表节点来参与共识。

3. 区块链离不开加密数字货币 虽说区块链的早期应用之一是比特币等加密数字货币,但发展到今日,区块链技术早已脱颖而出,两者也各自发展为不同的目标。前者侧重从金融角度发掘加密数字货币的实验和实践意义;后者则从技术层面探讨和研究分布式账本科技的商业价值,并试图拓展到更多分布式互信的场景。

4. 区块链是一种数据库技术 虽然区块链中可以使用数据库技术,也可以用来存储或管理数据(Data Management)技术,但它要面向的核心问题是多方数据互信协作(Data Collaboration)问题,这是传统数据技术无法解决的。另外,单纯从数据存储或管理角度,区块链效率可能不如传统数据库效率高,因此一般不推荐把大量原始数据直接放到区块链系统中。当然,区块链系统可以很好的与现有数据库和大数据等技术集成,也有人尝试将区块链的一些特点引入到数据库设计中,解决非中心化的管理问题,如 BigchainDB。

5. Token 等于加密数字货币 早在区块链概念出现之前,Token(令牌)就大量应用在计算机系统中。作为权限证明,它可以协助计算机系统进行认证等操作。作为分布式系统,区块链中很自然也可以在某些场景(如游戏积分)下借用 Token 机制,带来应用生态的管理便利。而加密数字货币试图借用数字化技术来实现货币功能,更强调经济价值,跟计算机系统中的原生功能无必然联系。

参考文献

最后更新: 2020年03月02日 20:53

原始链接: /2020/01/12/2020-01-12-区块链核心技术之基本问题/

× 请我吃糖~
打赏二维码