认识上的误区
目前,区块链作为一种相对年轻的技术,自身仍在飞速发展中,在相关概念上仍有一些值得探讨之处。
下面总结一些常见的认知误区。
区块链是完全创新的新技术 作为融合多项已有技术而出现的事物,区块链跟现有记账科技和信息体系是一脉相承的。区块链在解决多方合作和可信计算问题上向前多走了一步,但并不意味着它就是万能的(从来不会存在一项万能的科技),更不会快速颠覆已有的众多商业模式。很长一段时间里,区块链的应用场景仍需不断摸索,区块链在自身发展的同时也会与已有系统共存互通。
区块链必然是非中心化的,非中心化一定优于中心化设计 比较两种技术的优劣,必须要先确定场景,区块链也是如此。不可能存在某种技术在任意场景下都是最优的。目前区块链的两大形态——公有链和联盟链之所以在技术选型上存在较大差异,正是因为它们面向的场景不同。中心化设计往往具有设计简单、管理完善、性能高、安全可控的特点,但容错性能比较差;非中心化(多中心化)的设计可以提高容错性能,可以利用多方共识来降低篡改风险,但意味着设计较复杂,性能较差。
从实际需求出发,现有大部分区块链技术都介于绝对的中心化和绝对的非中心化之间,以取得不同指标上的平衡。例如某些公有链为了提高性能,选择部分代表节点来参与共识。
区块链离不开加密数字货币 虽说区块链的早期应用之一是比特币等加密数字货币,但发展到今日,区块链技术早已脱颖而出,两者也各自朝着不同的目标向前发展。比特币侧重从金融角度发掘加密数字货币的实验和实践意义;区块链则从技术层面探讨和研究分布式账本科技的商业价值,并试图拓展到更多分布式互信的场景。
区块链是一种数据库技术 虽然区块链中往往使用了已有的数据库技术,也可以用来存储或管理数据(Data Management),但它要面向的主要问题是多方数据互信协作(Data Collaboration)问题,这是传统数据技术无法解决的。单纯从数据存储或管理角度,区块链效率可能不如传统数据库效率高,因此一般不推荐把大量原始数据直接放到区块链系统中。当然,区块链系统可以与现有数据库和大数据系统等进行集成。甲骨文、亚马逊等团队尝试将区块链的一些特性引入到数据库中,提出了 Blockchain Table、Quantum Ledger Database 等新型数据系统,可以满足防篡改历史、方便审计等需求。
另一方面,区块链复杂大规模的场景需求也对数据库技术提出了新的需求。例如开源社区普遍使用的 levelDB 在扩展性方面表现并不特别优秀,需要进行增强;部分业务场景下需要支持 SQL 语义。可以借鉴其它数据库(如 RocksDB 和 BerkeleyDB)的一些优势进行改造。
Token 等于加密数字货币 早在区块链概念出现之前,Token(令牌或凭证)就大量应用在计算机系统中。作为权限证明,它可以协助计算机系统进行认证等操作。作为分布式系统,区块链中很自然也可以在某些场景(如游戏积分)下借用 Token 机制,带来应用生态的管理便利。而加密数字货币试图借用数字化技术来实现货币功能,更强调经济价值,跟计算机系统中的原生功能无必然联系。总之,两者是不同层面的概念,即使不依赖 Token,仍然可以实现加密数字货币;数字凭证只有具备可靠、大范围接受的购买力,才可能成为货币,否则只能作为收藏品在小圈子内流通。
复制链接
在 GitHub 上编辑