比特币-正确认识比特币区块链-下一场变更我爱编程

怎么样的技术才能称为区块链技术

2018-02-24  本文已影响29人  尐明哥Terryone

近两年来,区块链技术非常热门。无论是互联网企业还是传统企业,都有组织技术团队进行区块链实验,也有非常多的创业团队以区块链为创业方向,探索区块链在各行业领域的应用,并不断优化创新区块链。由区块链带来的ICO(Initial Coin Offering,又称代币众筹)投资热浪更是席卷全球,2017年下半年的融资总额已经超过全球早期风险资本同期投资总额。ICO的热浪受到了全球很多国家政府的密切关注,这种与常规投资截然不同的方式,让很多人看不懂,也让很多团队从中混水摸鱼,欺诈频现。其中,不乏打着区块链的旗号,利用绝大多数人不了解区块链技术的机会,通过发行毫无价值的代币进行融资的非法集资。更有甚者,与传销等非法组织勾结,进行虚假宣传,在市场上翻云覆雨,大肆炒作,让许多投资者血本无归。

关于什么是区块链技术?区块链技术能给我们带来什么?这些问题,已有很多文章、视频予以介绍。但因为该技术综合型强,专业性高,无论是业内人士还是普通投资者仍旧知之甚少,而在虚假宣传、名人效应的带动下,大量的资金流向了与区块链无关的领域。这种情况,无论对区块链行业还是对金融领域都会造成极其不利的影响。

要辨别什么是真区块链,什么是伪区块链,首先我们需要明确区块链能真正解决什么问题。

区块链行业内有句话,就目前来讲,除了比特币和以太坊之外,尚未找到第三个成熟的区块链应用案例。这是一个残酷的事实,它给区块链的从业者带来了一个必须要思考的问题,就是:什么场景才是区块链能真正能发挥作用的。

之所以这个问题如此重要,是因为在科学技术高速发展的当下,各种新技术层出不穷,仅仅在互联网行业,每天就有多种解决方案被公布。区块链如果不能在应用层面找到自身独具优势的领域,将必然面临其他解决方案的竞争。

用一句话来说区块链能解决问题的话,那就是:区块链能解决竞争主体之间达成数据层面的一致性。

所谓的竞争主体,就是指那些互不信任,但是又不得不合作的主体。主体既有维护自己利益的动机,又有不信任其他主体的心态。而且,各主体之间没有一个主体有能力出面“主持公道”,让其他的听他安排。哪里存在难以调和的竞争主体矛盾,那里就是发挥区块链特长的领域。

以比特币为例,它解决了不同人拥有的交易账本数据如何确保一致的问题,解决方案是POW(工作量证明机制);

再例如Fabric联盟链,他解决的是企业组织上下游之间的数据一致性问题,解决方案是拜占庭容错算法,也就是至少1/3节点的一致性。一个常用的案例就是水果的进出口贸易。从农民到出口商再到货运公司以及进口商和商场,实现约定若干个决定最终价格的条件,比如当到岸时的气温高于25度,且到岸日期超过约定日期,则价格打8折。如果没有区块链,各方很容易因为折扣所导致的利益冲突而扯皮不止,但是通过区块链的智能合约,就能够在这些主体之间事先就未来可能的风险进行约定,同时当某种条件达成时,合约自动执行。没有任何一方能够抵赖。

同样的,以太坊等智能合约区块链解决的是全球范围内的合约执行问题。比如有一个简单的博弈类智能合约约定:如果特朗普当上总统,则赌希拉里当总统的人将输掉下注,而赢的人将平均分配所有赢得的资金。这种看似简单的博弈如果没有以太坊这类区块链,将不可能实现,因为谁都不知道究竟有多少人参与了,又有多少人不会在大选结果出来后会抵赖。

因此,到这里,我们很明确了一点,区块链能有用武之地的地方,必须存在不同主体,这些主体之间有信任危机,同时这种信任危机如果通过中心化方案解决,并不能最优。

而如果已经有现成的解决方案,而且解决方案能让各方都满意的话,区块链并不适合。

比如,现在国内的数字支付领域,支付宝和微信两家独大,并且这两家能提供信任的,快捷的交易转账,全民满意,如果一定要用区块链来解决支付问题,至少在现在的中国,并不可行。

相反,区块链在金融系统内部,却受到了极大的关注。什么原因呢?因为金融系统是一个和企业、存户、投资人密切相关的行业,处于社会产业链的枢纽位置。他们面临最大的挑战就是如何应对不同来源数据的真实性和一致性。为了确保数据真实性和一致性,银行每天得早早的结束营业,进行大量的对账工作。证券交易机构也只能每天交易6个多小时,余下时间用来做清结算工作。而同样承载了大规模交易的数字货币交易所,却能轻松应对24x7的全年无休交易。

明确了区块链的用武之地后,我们进一步来看真正的区块链需要具备什么特点。

如果从技术角度来说,区块链有加密、数据不可更改、分布式以及共识等特点,但是从应用角度来看,区块链的特点在于以下三点。这三个特点决定了区块链和其他分布式网络的不同,也是区分真假区块链的关键。

一、节点分布化

所谓的节点,就是服务器或电脑终端。区块链必须分布在不同的物理主机上(开发阶段,可以通过容器或虚拟服务器技术在一台电脑上实现)。

如果只是一个节点,就成了普通的中心化服务器。

对于采用拜占庭容错算法的区块链,至少需要4个节点。而POW和POS算法的节点则普遍较多,因为有些区块链一个客户端钱包就是一个节点。也有一些联盟链将节点的功能区分,比如分成共识节点、记账节点等等。

分布化的节点是区块链的根本性特征。

区块链的本质是分布式计算机系统,之所以要分布,是因为链上的各方互不信任。分布后,每个节点上都拥有一套完整的账本备份。从而避免了互相猜忌和不信任,为进一步解决信任的问题提供了基础。

当然,分布式存储与计算并不是区块链的专利,绝大多数互联网企业和金融企业都会采用分布式计算。最流行的分布式计算就是云计算/云存储。但是,我们可以说区块链是分布式的,但不能说分布式就是区块链,因为区块链还有以下两个特点。

二、内容一致化

区块链的分布式的目的并不是让每个节点各司其职,各自拥有一套独立的账本。恰恰相反,区块链的目的是通过向各个节点公开账本,从而达到所有账本信息最终的一致性。

这种分而合之的过程就是“共识”。分是为了寻求信任,和是为了寻求统一。

通过这个特点,可以非常容易的分辨出真假区块链。

以最近大热IPFS(InterPlanetaryFile System星际文件传输系统)为例,IPFS是采用分布式计算进行文件传输与存储的网络。使用非常方便,比如笔者在本机上写好的代码,要上传到服务器,传统方式有git和ftp,但是使用ipfs将更为方便和快捷。但是IPFS是区块链吗?NO。因为IPFS并没有在每个节点上都保存所有文件的拷贝,事实上,这种情况也是不可能实现的。仔细阅读IPFS官网,发现官网上也并没有将IPFS和区块链划等号,官网上说:IPFS and the Blockchain are a perfect match! 即IPFS和区块链是一个极其棒的搭档。

但为什么我们往往会把IPFS这类项目等同于区块链呢?

因为:

1、这类项目通过以太坊等区块链进行众筹,所以我们把项目本身也误解当成了区块链。

2、这类项目采用了分布式技术,但是并不具有“内容一致性”要求,但是很多人看到了分布式技术,就想当然的和区块链画了等号。

所以,要分辨一个项目是不是区块链,“内容是否一致”是个非常重要的判断指标。

当然,笔者也不否认随着技术的发展,也许未来有一天,区块链的应用会突破账本一致性场景,应用于更广泛领域。到那时候,区块链也许会有另外的内涵。

三、数据区块化

从区块链(blockchain)的名字可知,“区块”是其最重要的特点。什么是“区块”?

通俗讲,区块就是把数据一批一批的打包,经过打包后的数据,通过加密方式与之前打包的数据块链在一起。这种方式与传统数据库最大的区别在于,传统数据库记录的是一条一条记录,而区块链记录的是一批一批打包后的数据。

区块连成一长串后最大的好处在于数据的唯一性,也就是上面的“内容一致性”。并且通过这种方式形成的数据链无法更改。

以比特币为例,如果要改变其中一个区块中的数据,则需要将之后所有区块的印戳(Nonce)重写,而每写一次的过程,就是一次挖矿和算力竞争过程,成本和时间将使这种尝试变得根本不可能。

关于这点,可以参考之前笔者的一篇文章《第一讲- 通过做实验来理解什么是区块链》

同样的,通过查看数据是否区块化,也可以容易的区分真假区块链。

举一个例子,腾讯的Q币是一个广泛使用的代币。但是,他的代币数据是以传统数据库方式管理的,当然就不是区块链了。类似的项目,现在很多,分辨的简单方式,就是看项目本身是否有区块链浏览器。可以通过查看coinmarketcap.com这类网站上的区块链浏览器链接,来查询该项目是否是数据区块化。

当前,区块链行业的发展,呈现以下两个趋势:

1- 向深度发展 - 修路和造路

区块链技术发展至今,已经经历了第一代纯粹记账功能的比特币,正在经历以智能合约为代表的第二代区块链。但是,随着区块链的普及和运用范围的扩大,面临着两大挑战。一个是确认速度慢,需要扩容;一个是安全问题日益严峻。

比特币犹如乡间小道,以太坊犹如柏油路,但是用户量的增加,在上面跑的交通工具和行人日益增多,原有的道路已经远远不够,于是各种优化方案以及革新方案被技术高手提出并实践。这类项目的主要任务是“修路”或者“造路”。

比特币的闪电网络,以太坊的雷电网络,以太坊的分片技术,基于Tendermind的COSMOS,ConsenSys等等,都是“修路工”和“造路工”中的佼佼者。

这类项目无疑是区块链,但是这类区块链的投资风险很大,因为最终胜者可能就是一两家。

2- 向广度发展 - 造车

除了以上搞“基建”之外,另外有大量的与场景结合的区块链解决方案。这类应用的核心目的是BaaS(即Blockchain as a Service 区块链即服务)。

这类的初创企业数量非常庞大,有区块链技术团队找到一个场景后实施的,也有传统企业根据自身实际引入区块链技术来改进现有业务环境的。

这类项目中,可以大致分成两类:

第一类:的确在使用区块链技术的真区块链项目。

第二类:使用区块链的概念进行融资活动的假区块链项目。

事实上,第二类项目更多。

如何区别假的区块链呢?方法就是上文介绍的三点:节点是不是分布的?内容是不是一致的?数据是不是区块化的?

需要说明的是,假的区块链项目并非是欺骗性项目。比如上文提到的IPFS,是一个很有价值的项目,而且已经上线运行。但是严格来说,并不是区块链项目,只是使用了代币方式融资。而有些白皮书看来符合上面三个判断标准的真的区块链项目却可能会因为团队方面的原因,变成集资诈骗项目。

所以,我们不光要警惕那些以区块链的名义融资,但本质上不是区块链的项目,也要防止那些初心就是诈骗的真的区块链项目。

我们具体分析一下比较主流或者流行的四个项目,看看他们是不是区块链技术实现的。

首先,来看下一个很老的虚拟币,瑞波币(XRP)。

瑞波币(XRP)是Ripple网络的基础货币,它可以在整个Ripple网络中自由、快速地流通,发行总量为1000亿,没有挖矿,数量随着交易的增多而逐渐减少,瑞波币的运营公司为Ripple Labs(其前身为OpenCoin)。

在Ripple网络中除了通用的XRP外,其他货币如人民币(CNY)、美元(USD)等法币不能跨网关提现的。也就是,A网关的人民币只能在A网关充值或提现,如果想在B网关提现,则必须通过XRP作为中介,转化为B网关的CNY才可以到B网关提现。由此,瑞波币成为了一种重要的货币兑换工具。Ripple网络通过全球各个网关上瑞波币与法币的兑换接口以及各网关间瑞波币的极速流动,让不同法币之间的兑换变得非常便捷。

(上图是USD和CNY在Ripple网络上的汇率变化)

在瑞波币(XRP)之前,Ripple协议已经存在多年,Ripple协议是一个通用的网络支付协议。任何人都可以方便的利用该协议建立全球性的数字资产管理系统或者快捷支付系统,比如后来的数字货币Stella就是建立在ripple协议基础上。而目前,Ripple协议已经成为很多金融机构和银行的清结算协议,因为Ripple的高效性和可靠性是现有银行的结算系统所不具有的。

Ripple 网络本质上是一个共享的数据库,或称为公共账本。数据库中有记录着账号和结余的总账,任何人都可以阅读这些总账,也可以读取 Ripple 网络中的所有交易活动记录。网络中的计算机通过一个各方都遵守的,名为“共识”(consensus)的机制修改总账。

Ripple网络采用了可信任的共识节点机制,而不是像比特币那样通过PoW的挖矿来确定记账权。这种达成共识的机制使得Ripple网络可以在进行迅速、安全而分布化的交易结算,一般情况下,Ripple网络可以在1秒中之内达到共识,其效率比比特币、以太坊要高出几百倍。

因为Ripple网络上的共识节点都是经过认证的网关,之间并不存在类似于比特币一样的竞争关系,因此,XRP的发行机制也与比特币大相径庭。XRP总量固定,并随着交易的增多而减少。网关之间只需要负责核实账本数据是否统一,而不需要通过算力竞争或者持有比例获取记账权以及记账奖励。这点是Ripple和其他虚拟币最大的区别。

那么Ripple网络是不是区块链呢?

首先,来看Ripple网络是否是多节点?答案是:是。Ripple网络上最典型的节点就是网关。

其次,来看Ripple网络上的账本是否一致?答案是:当然是的。

再次,来看Ripple网络是否是通过区块的方式保存数据的?答案是否定的。Ripple网络并没有采用区块方式保存账本,他并没有一个区块链查询工具,没有区块打包数据(但是有一个基于XRP账号的查询工具)。不过,数据在Ripple网络上各个可信任节点之间的传递效率要比区块链的方式高得多,这也是Ripple协议能被主流金融机构看中并采用的主要原因。

因为没有满足区块链的三个标准,所以,Ripple网络(或者说Ripple协议)并不是区块链。而瑞波币(XRP)只是运行在Ripple网络上的一个代币。

其次,来看看前几个月ICO火爆的IPFS(InterPlanetary File System星际文件系统)。

IPFS是一个点对点的文件在线存储系统,功能类似于百度网盘,但与百度网盘不同的是,IPFS采用了分布式存储,即文件并不是存储在一组中心化的服务器上,也没有一个中心化的组织去管理。IPFS网络类似于之前的BT网络,但更结合了git,sfs等技术。

IPFS与BT相比优势明显,当遇到资源很少的BT文件,下载速度将非常慢。但是在IPFS网络上就不会有这个问题。另外,在IPFS网络上,每个文件是基于文件内容的,也就是不同人上传相同的文件,将产生相同的“指纹”,系统会有一套机制,将这些指纹相同的冗余文件删除。这样,就会节约大量网络资源,并提高网络运行效率。据统计,全球网站中有86%的内容是重复的。比如,每个基于jquery作为前台开发框架的网站,都会在服务器上保存有这个框架所有代码。全球有成千上万的网站拥有这些一模一样的文件,这是对网络资源及其严重的浪费。而通过IPFS系统架设网站,就可以完全避免这种浪费。

使用IPFS非常容易,只要在官网上下载软件,然后就可以使用 ipfs add 上传文件,使用 ipfs get 下载文件。同时,IPFS还提供了大量的API,可以方便地和网站等应用结合。甚至有人已经把整个复杂的网站通过IPFS系统架设,而不需要租用任何服务器。通过这种方式架设的网站,类似于zeronet,不但速度极快,而且不用担心因服务器故障而导致网站关闭,更可以避免某些国家有关部门的网络管制。

(上图将vcredict_x64.exe文件上传到了IPFS,因为该文件是windows标准文件,网上已经存在了相同的文件,所以上传速度极快,0秒左右即完成)

(上图下载该文件,因为相同原因,0秒即完成了下载,而如果使用http协议,下载2.26M的文件,至少需要10秒钟时间)

那么,IPFS是不是区块链呢?

首先,来看IPFS系统是不是需要多节点?答案是:是。IPFS是一个典型的分布式计算系统。

其次,来看IPFS系统上是否拥有一个统一的账本?答案是:否。IPFS是一个文件分享系统,并不需要一个统一的账本,也不需要在不同节点上让这个文件系统都一模一样。IPFS只需要让用户在离他最近的节点获取到文件的全部或者一部分。

再次,来看IPFS系统是否通过区块链方式保存数据?答案是:是。IPFS使用了区块链的技术,把文件以区块链的方式存储。

但是,以为并没有满足区块链的三个标准,所以,IPFS仍旧不能算作是区块链。

再次,来看看过去一周涨幅超过200%的IOTA。

IOTA是Tangle(缠绕)的一个应用(或者称是给予Tangle的一个代币)。与区块链是一根“链”不同,Tangle是一个网状结构(定向非循环图DAG),可以形象的称为“区块网”。

作为Tangle网络的一种应用方向,IOTA主要面向物联网应用,尤其是微支付领域。他最大的特点在于:

1- 无需交易手续费

2- 发行总量固定,无需挖矿。类似于Ripple。

那么,IOTA(或者说Tangle)是不是区块链呢?

首先,来看IOTA是不是多节点呢?答案是:是。

其次,来看IOTA是否拥有一个完整并且统一的账本?答案是:是。

再次,来看IOTA是否通过区块和链的方式保存数据?答案是:否。

在Tangle上,不存在区块,因此也没有区块大小的限制,更没有记账权竞争。因此,可以像Ripple网络一样,以非常高的效率进行交易。同时,也不会出现比特币、以太坊等区块链的网络堵塞问题。

因此,如果严格按照区块链的三大标准来看,IOTA不是区块链,因为他连区块都不具备。

最后,来看看最近在国内大热并且饱受争议的迅雷玩客云。

玩客云是迅雷传统业务的一种延伸。迅雷一直以来都是通过利用所有用户的带宽资源和存储资源来为用户下载加速。但是,在网络基础设施越来越先进,网速越来越快的大环境下,网民对迅雷这类网络加速器的需求越来越低。现在的网民很难体验以前龟速网络环境下迅雷能带来的优越体验。

两年前,迅雷推出了“赚钱宝”,志在鼓励用户分享其闲置带宽以及存储资源。

这次,迅雷更是通过玩客云以及玩客币(据悉玩客币已经更名为链克)来激励用户分享。

那么,玩客云是不是区块链呢?

首先,来看玩客云是不是多节点?答案是:是。

其次,来看玩客云是否拥有一个完整统一的数据?答案是:否。玩客云只是一个分享经济模式:通过分享电脑和网络闲置资源赚钱。各个用户之间并不存在共同关心的数据库。

再次,玩客云有没有通过区块来保存数据?答案是:否。既然没有需要保存的数据库,就根本谈不上通过区块链来保存数据了。

因此,如同迅雷官方所说,玩客云“不是区块链”。

但是,不可否认,迅雷在炒作玩客云这件事上,做得还是风风火火的。资本市场对其“区块链化”的反应相当的激烈:股价涨了5-6倍。

综上所述,这些表面看来都是区块链的项目,如果严格按照区块链标准来看,没有一个是真正的区块链。事实上,这类项目还有很多,那些通过ICO融资,或者已经在数字货币市场上拥有很高市值的项目,也许并不是真正的区块链。

上一篇下一篇

猜你喜欢

热点阅读