对于区块链前面几年相当火,从区块链技术,各种云平台和应用系统,到比特币和各自代币的发行。虽然现在区块链技术谈的人少了很多,但是比特币却突破了5.6万美元的单价。
我自己不做区块链相关的技术,也没有基于区块链技术开发相应的平台或应用系统,但是对于区块链做一些基础的了解还是必须的。从最近几年来对区块链的学习,简单来说就是技术逻辑是清楚的,但是应用场景和范围远远没有想象的那么丰富。
在前不久,我和一个朋友聊天,再次听到了一个区块链大数据平台项目,宣传的是基于区块链技术,所有形成的大数据全部上链,去中心化,安全无篡改。当我听到这里的时候再次陷入了思考,难道只要为了去中心化,安全无篡改就都能用区块链贴金吗?
区块链中各个区块本身就要存储分布式账本的全量信息,我实在是想不清楚对方号称的所有大数据上链如何做?难道是PB级的大数据都要在所有区块存储?
也正是这个原因,我觉得有必要进一步探讨下自己对区块链应用场景的理解。
区块链概述
区块链本质上是一个去中心化的分布式账本数据库,其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。
从这个定义来看,需要了解清楚去中心化的概念,区块的概念,区块组合组成链条,存储的数据是账本,如何分布式存储的?存储的数据如何通过密码学进行安全保障的,双方交易的信息通过什么机制来确认有效的?即从定义里面拆分出来的这些内容都理解清楚后,基本才能够理解清楚区块链。
以下所有的场景分析还是用A向B发起一次现金转账交易来进行说明。
去中心化:传统转账是A通过银行转账给B,那么A和B之间的中介是银行,银行来确保交易的安全和有效性,同时防止B抵赖。而去中心化就是没有这么个信用中介机构,A和B直接进行交易完成,那么这种交易本身就是一种去中心化的交易。
那么A和B直接交易如何保证交易有效并防止抵赖?如果是传统交易,B还可以写一个签字后按手印的收条,A拿到收条后可以防止抵赖,毕竟签名和指纹很难进行伪造。但是如果是网络交易,那么B就很难进行签名或按指纹这种操作,这个来确保交易有效和防止抵赖就很重要了。
去中心化是区块链技术的颠覆性特点,它无需中心化代理,实现了一种点对点的直接交互,使得高效率、大规模、无中心化代理的信息交互方式成为了现实。在去中心化以后,整个系统中没有了权威的中心化代理,信息的可信度和准确性便会面临问题。
- 其一是由于去掉了中介方,在A和B双方通信的情况下,完全可能出现A说转账了,B说没收到这种情况,双方各执一词,这个时候各由各的的证据和说明,那么如何判断究竟谁说的是对的?
- 其二:在一个去中心的系统中,有可能出现节点坏掉,那么节点就会传输坏的信息,如何确保信息传输的准确性?
最简单的去中心化系统和分布式账本
比如A向B转账100块钱,首先是A和B相互确认了,即A确认已经转钱,B确认已经收到,那么这个时候A和B直接的转账100块前的交易就是成立的。即A向B转账了100元,就是我们说的账本里面的一条数据。这个数据就要通知到另外的100个人或者更多人。这100个人都在自己的账本里面记录了A向B转账了100元钱,那么这个时候B如果还想抵赖就很困难了。
注意刚才的一条账本数据,在所有100个人的账本里面都会记录,而没有一个集中化的数据库,因此是一个典型的分布式账本数据库。每个账本都是一套完整的数据。
区块和区块链
如果对于A和B每个人都维护有一个账本,一个账本是一个区块的话,那么区块链是如何的?任何一次交易都涉及到A和B双方,比如A转账给B了100块钱,那么账本就会记录下来A转给B了100元钱。但是A的这100块钱哪里来的?可能是C转给A的钱。
因此任何一笔当前的交易,我们还需要去维护这个交易的上次交易是如何的(任何一次交易都必须有输入和输出两部分信息以方便追溯),这样就将交易过程完全串联起来,形成一个链状结构。
所以再简单总结如下:
区块链就是由多个独立的区块链接起来的分布式账本数据库,这个数据库本身天然是去中心化的架构模式。并且通过多种机制来保证交易或数据的安全并防止篡改。
很多人容易将区块链具备的特征和区块链技术应用等同,比如只要一说到一个场景可以去中心化就一定要用区块链技术,或者一说到分布式就涉及到区块链,说到信息防篡改就得上区块链。这些都是很盲目的做法。这也到了大量的区块链项目很多都属于挂羊头卖狗肉。本身用的传统软件技术却一定要和区块链扯上关系,好让别人觉得很高大上。
类似农产品整个流通过程中的食品安全溯源,这个究竟跟区块链有啥关系?对于数字证书认证又和区块链有啥关系?乃至对于云计算,物联网,为何一定要撤上区块链,更是不知所云。区块链当前应用最多的仍然是金融和供应链两大行业,其中重点包括了加密货币,供应链金融业务,清算业务等。
在《中国区块链技术和应用白皮书》里面指出,区块链主要应用于6个场景,即金融服务,供应链管理,智能制造,公共服务,教育就业,文化娱乐。但是究竟如何更好地应用,仍然属于探索阶段,因为应用区块链技术后往往是对传统应用模式的一个彻底革新,已经不简单的技术层面问题,而涉及到组织革新,业务重构等多方面的问题。
其次我们看到很多银行,公证机构在推出区块链应用,自己也很纳闷的就是这些本身就是传统的信用中介,推出的区块链应用自己不还是在里面起到信用媒介的作用吗?那么这样如何真正做到彻底的去中心化?
区块链+物联网,无限可能性,但是任何区块链技术应用我们一定要考虑业务和场景驱动,,并且真正具备可操作可落地性。而不是仅仅停留在概念上面。
区块链应用场景和供应链溯源
前面谈了区块链的一些基本底层技术和概念,从这些核心技术要素出发来看,区块链的关键场景可以从以下两个方面考虑。
其一是只要属于个人和个体之间的交易撮合和财务往来,又不需要中介机构接入的时候都可以实现区块链技术。我们可以回到个人房屋租赁场景,去掉房屋中介,甲乙之间租赁合同生效或解除都可以作为交易信息被记录并生效,众人作证,无法篡改和抵赖。因此在后续租赁执行中完全可以避免出现一房多租,合同单方面违约等各种情况。
其次就是实体资源的虚拟货币化,将资源交易转换为虚拟货币交易。而这种交易同样不需要中介介入同时具备真实无篡改特性。书里面谈的后续的电力市场售电改革,能源互联网都可能是潜在使用的地方。能源资源转变为虚拟货币,虚拟货币可以进行交易和流通,即赋予了资源金融属性。
但是一直以来我们没有太想清楚的就是在供应链或农产品流通环境的溯源,这个和区块链有啥关系。而且现在很奇怪的一点就是只要原来的业务涉及到流程,涉及到链这个词,往往就都在朝区块链上撤,好像用区块链就能够解决所有问题。
信息上链听到最多,因为是一个流程,一个链,好像很自然的就会说到相关信息上区块链。但是这究竟跟区块链有啥关系?
我觉得任何一个平台,或者说任何一个应用要搞清楚是否是区块链技术或应用,必须首先要回答原来没有区块链的时候你是如何做的?现在有了区块链你又是如何的?具体的差别究竟在哪里?具体是去掉了哪个中心,哪个中介?其次进一步要问清楚,你的数据信息是否是分布式存储的,信息是否真正加密存储并形成了可追溯的链条以确保无法篡改。
如果没有办法回答上面的问题,那么很可能完全谈不上区块链。包括我们看到的网信办第二批区块链信息备案的产品或项目也同样存在这个问题。为啥原来的云平台,应用平台,供应链金融平台,商品追溯系统都摇身一变变成了区块链平台,区块链应用平台。
对这个问题,我个人的思考首先要把产品或应用分为两个层面来思考。
其一是你你自己的产品或平台,用到一些区块链底层技术,但是产品平台业务模式,功能属性还是老方式。其二是产品或平台本身就是真正实现了去中心化的一个平台,实现了智能合约和无中介参与交易。
因此我们在拿到一个产品或项目的时候,可以先从上面两个维度来看究竟是属于哪种模式。如果上面两种模式都不是,那么更加谈不上区块链项目,更别提区块链应用。
接下来还是回到主题,谈下追溯,溯源这类应用场景到底和区块链有啥关系。因为没有区块链的时候追溯或溯源类应用早就有了,下面就谈下我自己对溯源类系统应用区块链的理解。
为了把这个讲清楚,我们先定义一个概念,叫流转信息,即任何流程或溯源类系统一定存在两个节点之间的信息流转和传递,比如一个商品从广西发送到广东节点了,那么就会产生这么一条流转信息。
传统做法很简单,即所有的这些流转过程中所有节点产生的流转信息都全部上传到溯源平台进行统一存储和记录,那么溯源平台就能够对该商品流通过程进行溯源和追踪。即平台本身起到了中介或中心化的作用。那么在区块链的思路下来看,不需要有平台来起到这么一个中心化的作用。
比如整个流通过程涉及到50个节点,如果A和B之间产生了一条流转信息,在双方确认之后应该自动化的分发到其它48个节点进行记账和生效,同时这些分发信息应该进行加密存储并形成区块,最终形成链条连接。这些信息最终存储在50个分布式节点上面,而溯源平台没有任何关系,完全是去中心化的。
如果整个溯源应用转变成我上面谈到的方式,基本可以看到是满足区块链应用的整体架构思路的。因此再总结下来说,任何流程或溯源类系统实施区块链,简单来说就是流转信息本身类似一条交易或转账信息一样,实现了类似区块链的分布式存储到各个流转节点,加密区块并形成链接,真正实现去中心化。
如果不符合上面特点,自己暂时很难想出是哪里应用了区块链。