2018 年开始,好像所有的人都在谈论区块链。资本、精英、草根也不断进场投身到区块链的浪潮之中。在外围观望的你或许懂技术而对区块链一知半解,或许有场景与创意却碍于其研发门槛,或许是已身处于行业却难于前行。区块链是机遇也是挑战,如何在这风起云涌的区块链世界里获得加速卡实现弯道超车?没有区块链技术基础的你又怎样迅速部署属于自己的第一个应用?
为了解决一部分粉丝的困惑,我们邀请到 万向区块链旗下万云平台首席架构师兼产品总监李晨,为大家分享了他和万云团队对区块链技术及应用的思考。
下图展现的是当下区块链在互联网上的热度,两个最大的互联网平台 Google 和百度均显示区块链的搜索指数呈数级增长,可以发现当下区块链的热度十分高。
从区块链的资本市场来看:二级市场相比一级市场更为严肃,更为传统也相对稳健,从公告和研报的数量来看,区块链在资本市场的表现也十分出色,公告有 443 篇,研报 1000+。综合以上只能用一个字来形容当下的区块链——“热”,非常“热”。
从以上两张图所呈现的数字也反映出两种情况:从搜索指数来看,普通大众对区块链关注度日益增高且势头不减,从相关二级市场的情况来看,专业机构对区块链也越来越青睐有加。
区块链的诞生之路:在人类历史上经历了几次重大技术革命,第一次工业革命解放了基本生产力;第一台计算机的诞生开启了信息化的进程;而互联网时代的到来建立起数据在不同主体之间的瞬间连接和交换,对信息流通产生了根本性变革;2008 年“中本聪”第一次提出了区块链的概念,开启了信息互联网到价值互联网的变迁,其根本意义在于将原来的数据交换变成价值互联,而价值互联也正是区块链所重构的商业逻辑的关键所在。
从技术的角度定义区块链 :区块链是以区块结构存储数据,多方参与、多方维护,通过密码学、P2P 网络、共识算法等保证数据可靠的传输、存储、访问的技术体系。
区块链最主要的技术特点:去中心化、不可篡改、可追溯。
去中心化。在区块链的网络中分布着众多的节点,节点和节点之间地位平等,可以自由连接进行数据交换,不存在中心节点。所谓的去中心化和传统的分布式有稍微意义上的不同,传统分布式还是有中心的节点,最常见的就是所谓的负载均衡节点(Load Balance),只不过在中心节点后有很多其它节点,在数据结构上通常会形成“树”的形式,去中心化是“图”的结构,“图”的结构中每个节点是对等的。
不可篡改性。利用密码学的技术保证区块链上的数据不可被篡改,主要是两个点:哈希和非对称加密。
可追溯性。区块链的数据结构保证了从第一个区块(创世区块)开始所有的数据形成了一条链,在链上的任何记录都可以通过链的结构追溯到本源(也就是创世区块的信息)。
第一块基石是 P2P 网络,P2P 的网络去中心化,高性能,高可靠通讯的保证。
第二块基石是密码学,密码学保证数据无法被篡改而且是安全并可验证的。
第三块基石是共识算法,区块链网络各节点达成一致性的保障,也是现在评判区块链技术的核心指标之一。
P2P 网络是什么? 如下图所示:传统的网络是中心化的网络,所有的机器、通讯都要走过一个中心化的节点完成通讯,一旦这个节点出现了问题整个网络就瘫痪了。就像现在如果电信、移动、联通的基站出现问题周围的网络通讯将会受到影响。而 P2P 网络并没有一个中心化的节点,所有的节点之间直接互联互通。同时也因为没有中心化的节点,其中任意一点出现问题依旧能够保证整个网络还能通讯,因为你可以连接到其它节点上。所以 P2P 网络是去中心化的,参与各方地位对等,从而保证网络的健壮性、扩展性、高性能。
到这里,李晨补充道:其实所有区块链的底层技术大多都在区块链概念提出之前就已经存在,只是区块链的出现将它们天才有效地结合在一起。比如 P2P 网络很早就出现了,我们常用的 BT 下载,它就是最早的 P2P 网络。
密码学在区块链当中用的非常多。这里着重看如何通过“Merkle Tree”保证区块链上的数据不可被篡改。下图中的区块链数据结构,上方每一个大长方形就是一个区块 (block),该区块内所有的交易数据都被存储在这个区块上;最下方的第三个交易 Tx3,简单说每一个交易会生成一个哈希,Hash3 就是第三笔交易 Tx3 的哈希值。Hash2 下面没有画,是第二笔交易 Tx2 的值,Hash3 和 Hash2 组合在一起就是 Hash23,最后变成“Merkle Tree”的根节点“Merkle Root”。
每一个区块都有 Merkle Tree,区块上所有的交易都会被存储在 Merkle Tree 上。区块和区块之间也是相互链接的,每一个区块都知道上一个区块的 Hash 值。那为什么这样的区块结构能实现数据不可篡改呢?假设我要篡改 Tx3,那我们将要篡改 Hash3 的值,接下来改变了 Hash3 就要改变 Hash23,以此类推一直要改变 Merkle Root 的 Hash 值。因为区块的 HASH 中包括了该区块 Merkle Tree Root 的 HASH 值,所以一旦你改变了区块的 HASH,就必须要修改之后所有区块的哈希值。同时这样的修改还要被网络中超过共识算法要求的节点接受。这就造成了篡改数据树的成本极高,几乎是不可能的。比特币网络运行了那么久,在没有一个人去专门维护它的情况下,从来没有发生过任何篡改,也就是这个道理。
共识算法是区块链比较核心的技术之一,保证区块一致性是其主要作用。常用的共识算法有:POW、POS、DPOS、PAXOS、PBFT。
1.POW 共识算法。也就是常见的比特币网络的共识算法,它通过哈希算力作为工作量证明去竞争记账权。POW 的几个缺点:性能比较低;消耗大量的资源,尤其是算力;出块比较慢,10 分钟左右。但它也优点,抗容错性很好,只有超过 51% 的节点攻击网络,网络才会失败, 容错性 50%。
2.POS 共识算法。相对 POW,POS 是用所谓的权益计算法。相对 POW 来说它有几大改进:不再消耗资源;提高性能,2 分钟左右出块;同样容错性也是 50%。
3.DPOS 共识算法。POS 实现 2 分钟左右出块是比较大的提高,但距离业务的要求还有一定距离,所以在此基础上进行优化产生了 DPOS,简单来说 DPOS 不要求每个节点记帐,而是有代理节点来记帐,这比较像现实生活当中的议会制度,大家选出代表帮忙记帐,这样参与记帐的节点会相对集中,性能也就会提高。所以在 DPOS 情况下基本可以做到秒级出块,容错性也是 50%。
4.PBFT 共识算法。PBFT 也就是所谓的拜占廷容错,它的性能非常非常快,可以达到秒级出块甚至比秒级还要快,但是它的容错性相对差一些,一般是 33% 左右。
5.PXOS 共识算法。PXOS 假设的前提是没有恶意参与者,简单说就是节点不会发送错误的信息,但有可能漏发信息。在这种前提下容错性 50%,性能也是很快的,基本上秒级出块。
通过李晨对这 5 种共识算法的分析,我们也可以看到,评判共识算法大概有 3 个标准:
效率,达成共识确认的效率,简单就是出块的效率。
资源消耗,可能消耗电力、存储或者其他资源;
容错性,就是网络可以抵抗多大比例的节点出错。
区块链分代
按照《区块链:新经济蓝图》一书中的概念,把比特币以及相关的数字货币划分为区块链 1,0,以以太坊为代表的智能合约划分为区块链 2.0,而在非货币和金融领域外,在其他领域里的区块链的应用划分为区块链 3.0。
区块链 1.0 是基础的区块链,实现了数字货币所需的所有特性。区块链 2.0 的核心概念是智能合约,简单说就是可编程的数字货币。虽然只是加了一个前缀,但却是巨大的进步。这意味着不仅仅价值本身,价值相关的商业规则也可以被数字化,是价值互联网的一个巨大进度。关于区块链 3.0,我们无法给出一个统一的评定标准。目前看有几大技术可以算是区块链 3.0 的潜在标准。比如解决链上数据隐私和协作矛盾的零知识证明技术,或者解决连接各种不同链的跨链技术等。
这里简单介绍一个跨链技术 COSMOS。我们认为世界不可能是有一两个区块链所主导的,会有比较多的区块链,每一个链都完成它自己特有的功能。我们会将来生活在一个多链的世界里。通过跨链技术可以形成一个统一的生态系统,包括联盟链和私有链。跨链技术是实现价值互联网的关键,它连接起不同区块链的孤岛,也是区块链向外拓展的桥梁。
COSMOS 是一种前沿的跨链技术,基于 Tendermint 共识引擎。Tendermint 共识引擎实现了跨链技术中的基本技术需求(高性能和一致性)。同时 Tendermint 将共识引擎和底下的 P2P 网络层打包在一起形成 Tendermint Core,加上具有很好扩张性的 COSMOS SDK(实现多代币账户体系,见证人机制和出块等功能),这些都为跨链功能打下了扎实的技术基础。 COSOMS 跨链网络通过 IBC(inter-blockchain communication)协议通信,而 COSMOS HUB 扮演枢纽角色,简单说就是链之间的路由。通过 COSMOS 网络不但可以进行价值跨链转移,扩展 IBC 协议中的 PAYLOAD,还可以进行其他信息的跨链转移。
区块链的分类
区块链分类目前有三种:1. 公有链;2. 联盟链;3. 私有链。
所谓的公有链是任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链。 随着公链规模的扩大,目前一些主流公链的性能都有待提高。 联盟链主要针对有竞争又需要合作的场景,技术上联盟区块链是指其共识过程受到预选节点控制的区块链。只有获准进入联盟的节点才可以参与其中。私有链一般仅在一个公司或者组织内使用,它更像一个分布式账本。
数据不可篡改性。 基于这个特征行业中用的比较多的场景是信托。在市场加速释放的前提下,传统信托行业所存在的如文档安全性、时间有效性等信任问题日益凸显,而利用区块链不可篡改的特性能有效解决信托业务中所存在“互不信任”的市场痛点。如何实现?利用区块链技术可以将信托业务中的关键材料经过哈希加密处理,转换成不可逆推的特征值存储在区块链上,信托公司和用户如需进行数据验证,只要将已有的材料和信息经过哈希加密处理,再次与区块链上与其对应的信息进行对比,即可验证材料是否曾经被进行篡改。具体大家可以参考一个案例:万云团队帮助万向信托所开发的基于区块链的家族信托业务,此业务已经上线。
可追溯性。 钻石一直以来被视为是爱情、权利、地位和富贵的象征,一方面因人类的情感赋予让钻石有了高昂的价值,另一方面也因其价格诱人让市场滋生了走私的风气,从而使得产品与价格混乱,国家税收损失和难于监管。而利用区块链的可溯源特性,以构造共享数据库的联盟链为基础,通过多中心的方式与海外钻石平台、钻石交易所等共享数据,以行业 4C 为标准定义每一颗钻石的身份标签和流转体系,促进钻石交易的正规化。通过可溯源让每一颗存储在区块链上的钻石信息都可查证,让市场上存在的黑手无孔可寻,从而让钻石市场真正回归“透明”。
当然除此之外,区块链技术还可为更多行业提供解决方案,如版权交易、数字存证、智慧医疗等。
当时间的车轮驶向 2018 年以后,我们相信区块链将不再是诗和远方,理论最终也会照进现实,成为时代变迁的标志。而我们身处浪潮之中,所要做的是心无旁骛,努力让区块链实现落地,让所构想的未来图纸成为现实,不只是吟唱诗与远方,而是真正地走到远方。
区块链现在还处于超级早期的阶段,泡沫一定有,而且还很大,但如美图 CEO 蔡文胜所说:“区块链是人类有历史以来最大的泡沫,但泡沫才刚刚开始,只能拥抱泡沫,不参与才是最大的风险。”如何了解和参与区块链?我们推出了“区块链前哨”这个公众号,面向区块链兴趣爱好者、开发者,提供最新最热区块链资讯,深度分析区块链技术及应用、展示国内外创新实践案例。
“时代抛弃你时,连声再见都不会跟你说。”未来已来,让我们一起拥抱区块链,拥抱未来。