为何腾讯等巨头纷纷杀入?一文看懂区块链

2018年1月10日10:07:58 5 1,182  

为何腾讯等巨头纷纷杀入?一文看懂区块链

1.区块链定义:

区块链本质上是一个去中心化的分布式账本数据库。其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。

1.1区块链是一个放在非安全环境中的分布式数据库(系统)

这里的要点有两个:(1)分布式,(2)非安全环境。

首先,这是一个分布式的,去中心化的系统。

什么是去中心化?

先来考虑一个中心化集中式处理的过程。你要在某宝上买一部手机,交易流程是:你将钱打给支付宝-支付宝收款后通知卖家发货-卖家发货-你确认收货-支付宝把钱打给卖家。

下图为中心化集中式交易模式

为何腾讯等巨头纷纷杀入?一文看懂区块链
  在这个过程中,虽然你是在和卖家交易,但是这笔交易还牵扯到了除了你和卖家的第三方,即支付宝,你和卖家的交易都是围绕支付宝展开。因此,如果支付宝系统出了问题便会造成这笔交易的失败。并且虽然你只是简单的买了一个手机,但是你和卖家都要向第三方提供多余的信息。

而去中心化的处理方式就要显得简单很多,你只需要和卖家交换钱和手机,然后双方都声称完成了这笔交易,就OK了。

可以看出在某些特定情况下,去中心化的处理方式会更便捷,同时也无须担心自己的与交易无关的信息泄漏。

1.2区块链采用密码学的方法来保证已有数据不可能被篡改

这个部分的两个核心要点是:(1)密码学哈希函数(2)非对称加密。

两个都是密码学的基础概念,网上都有非常清晰的定义:

(密码学)哈希函数:一个函数Y=H(X),有如下性质:1,有X可以很容易算出Y;2,有Y不可能算出X;3,有Y不可能找到另一个X'使得H(X')=Y;4,如果X和X'相差很小,H(X)和H(X')则完全不相关。

这东西主要用于验证信息完整性——在一个信息后面放上这个信息的哈希值,这个值很小,例如256bit,而且计算方便。收到信息之后收信人再算一遍哈希值,对比两者就知道这条信息是否被篡改过了。如果被篡改过,哪怕只有一bit,整个哈希值也会截然不同。而根据哈希函数的性质,没有人能够伪造出另一个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验。

非对称加密:这东西很好理解——对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是啥,然后同一把钥匙解密成原来的消息。

非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题,例如因数分解和离散对数,常用的有RSA,Diffie-Hellman和ECC(椭圆曲线),比特币用的是椭圆曲线。

非对称加密除了和对称加密一样用于信息加密之外,还有另一个用途,就是身份验证。因为通常情况我们假设一对公私钥,公钥是公开的,而私钥只有本人有,于是一个人如果有对应的私钥,我们就可以认定他是本人。其中一个重要的应用就是数字签名——某个消息后面,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。

至于区块链怎么实现的,很简单:

交易(数据)写在区块里。

第一个区块叫创世区块,写啥都行。

从第二个区块开始,每个区块的第一部分有前一区块的哈希值。此外,区块里的每一笔交易(数据),都有发起人的数字签名来保证真实性和合法性。于是,先前区块里的任何数据都不可被篡改,原因见上。

如何保证区块链数据保持一致?

中本聪在里面提到,简单来说,要想控制账本,得要先付出和投资,是得要一定数量以上的(51%攻击)。投资以后,投资所有人面临两个选择:乱搞然后毁掉比特币使投资打水漂,或者加入网络赚钱,并使网络变得更强大。理性人都会选择后者。

如果真有想破坏的人,也不容易做到,因为区块链的过往账本都存在,虚假修改账本很容易被查到。如果要把过往账本全部修改,就需要把整条链的哈希数都算一遍,这样即使拥有网络51%算力也都还是不够的。

如果不幸真的有这种事发生,那么我们还有一个办法补救,就是放弃这个所谓的主链,因为这个攻击者已经不被人信任了,所以从他那里产出的区块也就没有了价值,是不是主链又有什么关系呢,我们可以从所有被他拒绝的孤块组成的链上继续挖矿,类似于etc和eth的关系,而真实的数据全部存放在孤链上,这就是所谓的硬分叉。所以说,数据会被修改,但是真实的数据和虚假的数据会共存在两条链上。

到这为止有人可能会问:为什么要弄个链啊?直接所有数据加个哈希值不就行了?

因为这个数据库并不是静止的啊。

数据库的数据是会增加的,而每次增加的数据,就是一个区块,于是这些生成时间不同的区块,就以这种形式链在一起了。

1.3区块链采用共识算法来对于新增数据达成共识

共识算法的目的,就是让所有节点对于新增区块达成共识,也就是说,所有人都要认可新增的区块。对于有中心的系统,这事很简单,中心说什么大家同意就好了,但是放到去中心化系统里,尤其是当有些节点有恶意的时候,这东西非常复杂,计算机科学里有个相应的问题,叫做“拜占庭将军问题”或者“拜占庭容错”(BFT)。

拜占庭罗马帝国在军事行动中,采取将军投票的策略来决定是进攻还是撤退,也就是说如果多数人决定进攻,就上去干。但是军队中如果有奸细(比如将军已经反水故意乱投票,或者传令官叛变擅自修改军令),那怎么保证最后投票的结果真正反映了忠诚的将军的意愿呢?

拜占庭将军问题反映到信息交换领域中来,可以理解为在一个去中心的系统中,有一些节点是坏掉的,它们可能向外界广播错误的信息或者不广播信息,在这种情况下如何验证数据传输的准确性。

有很多用Lamport给出的那个例子来讲BFT的东西,我在这里换一个角度。

Lamport大神当年提出这个问题的时候在斯坦福研究中心给NASA做项目,他提出这个问题的原因并不是考虑类似比特币的应用场景(整个互联网成千上万个用户),而是考虑特殊背景下的一个简单的系统——

航天飞机的控制系统。

如果有航空背景的同学可能知道,飞机有三套独立的控制系统,为什么呢?因为任何系统都不可能完全不出故障,就算飞机控制系统的故障率已经极低了,还是有飞到一半这东西坏了的可能。于是我们可以弄两套独立的系统,同时坏掉的几率就会大大降低。

可是两套独立的系统还是不足以容下一个系统的错误——一架飞机迎面飞来,两套系统一个说要躲,一个说不躲,那到底是躲还是不躲呢?所以我们需要三台 独立的系统,这样,如果有一个系统有故障了,还有两台能正常工作,能少数服从多数给出正确的结果。学过纠错码的同学对这个应该不陌生,这个系统的输出之间的汉明间距是3,所以可以纠正一位的错误。

然而,对于航天飞机,在冷战的背景下,万一某个系统不是坏掉了,而是被敌人控制了呢?三套系统还够吗?

答案是否定的,因为不同于单纯只是坏掉的节点,恶意节点可以做一些别的事来阻止整个系统达成共识。

这个部分略复杂要讲的话要单开一帖,所以我们只说最简单的情况(无签名同步系统)。

我们管三个系统叫ABC,正常工作流程是三个人每次得出结果就互相告诉一下,然后每个人选多数人同意的结果。这是个没有中央节点的分布式系统,也就是说三人不能聚在一起开个会啥的,仨人只能两两通信。这个时候,假设C有恶意,它的目标是破坏这个系统。于是,假设正确的读数是1,A和B都得出了1这个结果,这个时候C这个小婊砸告诉A说“我的结果是0,B也觉得是0”,同时打个电话跟B说“哎我觉得是0,A也这么说”,于是A和B就懵逼了。假设你是A,你听到了两个不同版本的B的答案,B说自己选了1,C说B选了0,可是A这个时候没法知道B和C谁才是那个骗了自己的小婊砸,因为如果B真的告诉A选了1然后告诉C是0,他听到的结果和现在是一模一样的。

于是结论是,拜占庭容错,也就是需要容下一个恶意系统而非错误系统,需要4个独立系统。

Lamport提出这个问题之后,有无数的算法被提出来,统称BFT(拜占庭容错)算法,其中最有代表性的叫PBFT,然后由于最近区块链的热度,无数针对区块链应用场景优化过的BFT算法也涌现出来,但是一个重要的问题是,所有目前的BFT算法,都只能应用在小型网络里。原因很简单——因为BFT这个问题是设计给类似于航天飞机控制系统这样的场景的,早期的算法考虑的也主要是这种场景。PBFT论文里考虑的就是一个5个节点的系统。就算算上新提出的BFT算法,也最多应用在不超过100个节点的网络里。

这个问题被搁置了很久,直到比特币的诞生——中本聪从某种意义上简化了这个问题,在比特币中,同样是共识问题,中本聪引入了一个重要的假设——奖励,他之所以能这样做的原因是,他考虑的是一个数字货币,也就是说共识这个东西是有价值的。

于是在这样的系统上,他提出了工作证明机制。

所有挖矿,矿工,最长链,分叉等等等等,都可以归结为一句话:

说话是要有代价的,说真话是有好处的,说假话是要扣钱的。

目前两类共识算法的核心区别:

BFT共识模型:恶意节点可以干任何事。

比特币共识模型:模型中有公认的“价值”,每个节点说话都需要一定代价,诚实节点会受到奖励,而恶意节点由于只付出代价而收不到奖励,变相受到了惩罚。

也就是说,BFT共识模型其实涵盖了比特币共识模型的场景,比特币共识其实放宽了BFT共识模型的限制。

2.区块链技术的应用前景:

区块链技术在金融业的典型应用是支付和清算,因为解决了不同主体间的信任问题,基于区块链技术的支付系统呈现出与传统支付系统完全不同的格局。

基于区块链技术产生的数字货币还能赋予货币特定的属性,比如以后专项拨付给农民的钱就不能被其他群体挪用,或者央行下拨用于振兴实体经济的款项就不能投入股市或房地产市场,这些都可以通过技术手段赋予货币属性而达到,大大提高了资金的使用效率。

理论上,区块链可以极大地降低互相信任的成本,这不是基于法律契约的,而是基于算法的,不受个体更改。

2.1区块链在国外的发展情况

业内普遍把比特币视为区块链技术在全球的首个应用,目前越来越多的国家介绍比特币作为支付手段。比特币有望成为既黄金、美元之后的第三个全球性支付手段。

除了支付领域,金融业对于区块链技术在审计、数字资产、信用体系建设等方面也开展了一些探索。如德勤利用区块链技术中信息科追溯、不易篡改的特性,构建了Rubix基础平台,通过与核心客户的sap,oracle等数据库对接,自动获取并记录客户财务信息,防止篡改或伪造财务报表。部分专家也提出,可以将房产等实物资产以电子权证方式储存在区块链上,并借此开展全球金融信用服务等。

由于区块链技术的巨大前景,目前,包括摩根大通、西班牙BBVA、高盛、瑞银、桑坦德银行等一大批国际先进金融机构,或通过自身的创新实验室和产品孵化器,或采用股权投资方式,都已在开展区块链探索实验和技术储备。如花旗银行通过其创新实验室,创新出一种名为“花旗币(citicoin)”的加密货币,现已开发了3条区块链。

西班牙BBVA在2015年1月,通过旗下子公司以股权创投的方式参与了Coinbase融资;7月,BBVA宣布将在区块链技术基础上,建立完全去中心化的金融系统思路。

瑞银集团于2014年在伦敦成立了区块链金融研发实验室,重点探索区块链在支付、电子货币和结算模式等方面的应用前景。

西班牙桑坦德银行在2015年6月,通过金融技术投资基金Inno Ventures进行区块链试验,研究如何将区块链技术应用于传统银行业,目前已发现了20-25种场景,并认为该技术每年可节省200亿美元的国际交易结算成本。

此外,包括澳大利亚联邦银行、澳大利亚西太平洋银行、荷兰银行、荷兰安智银行、拉博银行、星展银行等多家银行,都已开展区块链技术的应用探索。

2.2国内互联网巨头纷纷布局区块链

腾讯

腾讯公司在自主创新的基础上,打造了提供企业级服务的“腾讯区块链”解决方案。基于“开放分享”的理念,腾讯将搭建区块链基础设施,并开放内部能力,与全国企业共享,共同推动可信互联网的发展,打造区块链的共赢生态。腾讯可信区块链旨在为行业伙伴提供企业级区块链基础设施,行业解决方案,以及安全、可靠、灵活的区块链云服务。通过高性能的区块链服务,在实现安全可靠的交易对接的前提下,通过可视化的数据管理手段,有效降低企业运营综合成本,提高运营效率。

为何腾讯等巨头纷纷杀入?一文看懂区块链
  360

安全巨头360的区块链项目位于金融模块,“360金融区块链研究中心”已于日前低调上线。官方消息称,其将在分布式账本、智能合约、非对称加密和授权技术、共识机制等区块链核心技术领域发力,建设“区块链+金融”的新模式。

网易

网易发挥自身的网络游戏研发运营优势在区块链领域已经进行了尝试,上线了一个网页,其地址为bi.163.com,网页上介绍“网易招财猫”是一个区块链宠物猫项目。目前还没有更多的说明,不过应该和国外的CryptoKitties 类似,CryptoKitties 玩家在区块链上购买虚拟的猫,每只猫的毛色、体型、瞳孔随机,小猫们进行繁殖,新出生的猫带有不同的特征。

小米

2017年10月,小米MIUI商业产品部数据组负责人周茂华在一场营销会议上表示,小米公司已经将区块链技术运用到了营销领域:“公司A有自己的用户数据库,小米也有自己数据库,怎么向公司A和小米交集的那部分用户精准投放广告?原来的技术无法解决信任问题,双方不可能向对方公开自己的全部数据库,使用区块链技术之后,这个问题完美解决。”

  • A+
所属分类:IT+

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  5   博主  0

    • 懿古今 3

      最近区块链好像很火,经常看到类似的文章

      • 一艘大轮船 0

        长知识,很通俗易懂!

        • 金选网赚博客 1

          腾讯都是捡现成的

          • 在线看小说 1

            一个朋友干ico的,到现在也没找到个好的模式

            • 趣知识 1

              这玩意在各种投机宗,会逐步走向成熟的