中国领先的IT技术网站
|
|

1.5 区块链的技术意义

《白话区块链》第1章初识区块链,本章我们将从区块链的原理及分类、技术组成、技术特点等出发来初步介绍区块链的概念,并通过分析比特币的结构让大家对区块链有一个感性的认识。比特币作为区块链技术的第一个应用,它的原理设计影响深远。本节为大家介绍区块链的技术意义。

作者:蒋勇/文延/嘉文来源:机械工业出版社|2017-11-24 13:57

开发者大赛路演 | 12月16日,技术创新,北京不见不散


1.5 区块链的技术意义

要了解区块链的技术意义,我们只要来整理一下区块链系统的特点就行了,我们来一一说明一下吧。

1.数据不可篡改性

为什么数据不可篡改呢?首先区块链系统不是一个中心化的软件设施,比如说比特币,如果是一个单机软件,或者说是被某一个人某一家机构控制的,那肯定是谈不上数据不可篡改的,至少在技术上是不能保证的,而比特币是一个P2P的对等网络结构软件,没有服务器,数据是每个节点各自存储一份,自己最多把自己节点上的数据改掉,然而只是这样的话是得不到整个网络的承认的,无法被其他节点验证通过,修改后的数据也就无法被打包到区块中了(51%攻击什么的暂且不提,这是另外一个话题了)。不但如此,如果一个数据被打包进区块后,后续又连续确认了多个区块,比如数据是被打包进5号区块的,现在整个区块链账本的区块高度是10号,那么想要更改掉当时的数据的话就更难了,因为这个时候不单单是要改掉5号区块的数据,后续的区块都要变动,因为区块之间是通过区块哈希连接起来的,更改了某个区块的数据后,后续的区块就都要更改了,因此想要篡改的难度就更大了。有这个特点,在很多领域内就很有意义了,比如说金融行业的业务数据、公众政务数据、审计数据等,这些行业的数据都是有严格防篡改要求的。

2.分布式存储

对于一个软件系统,一个需要保存数据的软件系统,最担心的是什么?毫无疑问是数据丢失。传统的软件设计架构,再怎么考虑数据备份或者数据库集群等,也总是不能很好地保证数据的安全,要么就是需要运营者投入大量数据备份设备或者数据库集群设施等,无论如何也不是一个廉价简约的方案。在区块链系统中,每个运行的节点都拥有一份完整的数据副本,这样的设计不但使得数据存储避免了单故障点的问题,还可以让每个节点能够独立地验证和检索数据,大大增加了整个系统的可靠性,节点之间的数据副本还可以互相保持同步,并使用类似梅克尔树这样的技术结构保证数据的完整性和一致性。这种分布式的结构很适合用在那些面向公众的服务型软件设施上,避免集中而昂贵的专用服务器配备,也具备相当良好的数据安全性。

3.匿名性

我们在使用传统的服务软件时,通常都是需要注册一个用户名,绑定手机号、邮箱什么的,为了加强用户识别的准确性,还会要求进行实名认证、视频认证之类,然而在区块链系统中,目前几乎所有的区块链产品都是使用所谓的地址来标识用户的,仅此而已,不再需要提供其他任何能标识出用户身份的信息,地址通常是通过公开密钥算法生成的公钥转换而来的,这通常就是一串如乱码一般的字符串,因此,虽然比特币、以太坊等这些公链系统的数据是完全公开透明的,可我们却并不能知道背后的操作者是谁,不但如此,每个使用者还可以创建任意数量的地址,只要你愿意,可以每一次都使用不同的地址来进行转账等各种操作,也可以将自己的资产分散在众多的地址上,这就实现了一种用户身份的匿名性。那么,匿名性有什么用途呢?我们知道,在很多场合,如转账支付,比如收款、创建链上资产等,这些都是比较隐私的行为,匿名性在很大程度上可以满足这些隐私安全的需求,不但是对个人,对于企业这样的商业环境,也是有同样的需求的。

4.价值传递

这大概是区块链系统中最重要的一个特性了,所谓价值,就是泛指各种资产,比如货币资产、信用资产、版权资产以及各种实物资产(如黄金等),所有这些资产在本质上其实都是一种信用或者说信任。比如,货币,我们之所以愿意通过劳动来获取货币,是因为相信使用这些货币可以交换到需要的商品,这种信任是由政府担保的,也因为有这种信任的担保,出现了各种本身不具备太多价值但是却附带有信用价值的资产形式,比如纸币、支票、汇票等;还有版权,一首歌曲、一幅画、一本书等都有版权,版权也是一种资产,是具有价值的,这个价值从何而来,版权的背后是创作者的劳动投入,这个就是价值,国家通过法律保护这种价值,因此就能够在市场上流转传递了。在这些价值资产的转移过程中,都需要一个重要的条件,那就是信用的保证。我们需要政府、银行、担保公司等这些第三方的机构来提供信用保证,只有在这些信用保证的前提下,我们才能完成各种交易。即便是互联网发展起来后,虽然可以通过互联网方便传输各种数据(图片、视频、音乐等),但是这些数据的价值仍然需要这些第三方来保证,互联网本身并不具备价值保护的机制,而如果要在全世界范围内进行交易那就更麻烦了,涉及不同的法律,不同的价值认定规则,不同的支付方式等,那就得需要更多的机构来提供交易的保证,代价昂贵且相当麻烦。区块链能改变这种情况吗?

我们先看比特币这个例子,比特币是一种数字资产,它是由比特币软件组成的网络来维护的,在这个网络中,不需要其他的第三方,自己可以根据规则发行比特币,并且能确保发行的比特币是具有价值的(工作量证明),而这种价值的认定是通过网络中所有的节点来自动进行验证的,节点之间达成共识就算是认可了,整个过程都是自成一个体系来运行的,人们在转账交易比特币的时候,价值就发生了传递,而如果将其他的资产比如股票、合同、版权、债权等锚定比特币,那么其他的资产也就能方便地进行传递转移了。我们可以发现,区块链系统是可以自己创造信任机制的,在这样一个无需第三方的信任环境中,可以大大简化各种资产交易的过程,降低交易成本,并且由于区块链系统是一个分布式的系统,节点可以遍布全球,那就可以实现无边界的价值传递了。

5.自动网络共识

日常生活中,我们有很多事情需要双方或者多方达成共识,比如签订一份买卖合同,买入一笔债权,担保一份交易或者购房按期还贷、众筹资金管理等,在传统的模式中,这些需求是如何提供服务的呢?比如签订合同,那就需要双方签名,必要时还需要律师审阅,公证处公证;比如担保交易,除了签名外还需要提供资产余额证明;比如购房还贷,需要有收入证明同时也需要还贷者签名;再比如众筹的资金管理,就更复杂了,需要记录每个参与者的资金项,还需要跟踪众筹资金的流向。凡此种种,这些事情在达成共识的过程中,都需要做各种确认。

这种共识可以通过网络来自动地进行吗?如果可以,那该省多少事啊。我们还是来看比特币的例子,比特币从发行到转账交易,都是由网络中的节点自动进行身份认证和一系列的检查的,检查通过后就达成了网络共识,一笔交易就算是确定了,各个不同的节点之间达成共识的过程不再需要我们去签名,去按指纹或者去打一份什么证明了,因为每个节点都遵守一份共同的约定规则,只要一项交易符合所有的约定规则就能被确认,每个节点都确认,大家就一致认同了。那么,除了比特币这种转账交易可以自动达成共识外,其他的事务也可以吗?当然是可以的,上述提到的各种商业或者金融活动,都可以通过区块链上的智能合约来实现。区块链系统中的各个节点独立地验证智能合约,共同达成共识,如果能将这种机制应用到商业、金融、政务等领域,那将提高多少效率啊。

6.可编程合约

可编程合约,也就是智能合约的意思,以比特币为例,如果用一种更加技术的称呼来描述比特币的话,可以叫作可编程加密数字货币,这个可编程是什么意思呢?在比特币系统中,并不是像银行账户一样,将金额存储在某个账户下就表明一笔资产是某个账户拥有的,而是使用了一种脚本程序,通过脚本程序解锁(解锁脚本)和锁定(锁定脚本)一笔资产,简单地说,就是让资产具备更强的编程可控能力,拥有密钥的用户可以提交自己的签名信息让脚本来验证身份,以证明自己对资产的所有权,并且可以通过程序设定对资产的管理方式,比如设定一笔资产需要多个人共同签名才能被转移或者需要达到某个条件的时候才能被使用等,这种可配置、可控制的思想就是可编程合约的思想。比特币展示了这种新颖的思路,在后续的发展中,以太坊扩展了这种思路,使可编程合约进一步发扬光大,不但支持加密数字货币,还支持更复杂的金融与商业合约编程,比如众筹、担保等。这种合约使用脚本语言进行开发,部署到区块链后就很难更改,也就是所谓的代码即法律。区块链系统具有数据的不可篡改性、价值传递能力,加上可编程合约,就能完全地支持商业环境下的各种合约需求,无论合约中有哪些条条框框,写在纸上不如写在代码中,部署在区块链上,公正透明而且能够刚性执行,更主要的是,这样的合约可以覆盖全世界,因为脚本编写的合约是不分国界的。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

网管第一课——计算机网络原理

本书是《网管第一课》系列图书中的第一本,是专门针对高校和培训机构编写的,其主要特点是内容细而精、针对性强。书中内容全是经过精心挑选...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动