LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 区块链到底是什么鬼?

区块链到底是什么鬼?

2019-11-21 Tony老刘 来源:区块链网络

?“?想知道区块链究竟是怎么一回事?它能为我们解决什么问题?区块链的未来发展趋势如何?且看下文从一位工程师的视角为你细细道来。”

区块链是什么?

LlUiLJLKo4giNZVcUzay4D1dtb2HKy3YKJMZcxvW.jpeg

世上本无区块链,自从有了比特币,才有了区块链。区块链的概念是从比特币中提炼而来,因此想知道什么是区块链,就必须了解比特币的运行机制,这对理解区块链非常重要:

构造区块:矿工从交易内存池获取一定数量的交易,同时构造一笔特殊的发给自己地址的一定数量比特币的交易(称为 coinbase 交易,用作挖矿奖励),进行排序,然后构造出一个区块。区块由包含元数据的区块头和交易列表组成,每一个区块头包含了前一个区块头的哈希值,以及由所有交易的哈希值层层计算得到的“梅克尔树”的根(merkle root):

寻找随机数:构造出区块以后,矿工用穷举的方式,反复尝试寻找一个随机数,使得对包含该随机数的区块头进行 SHA256 哈希函数计算(一种把任意数据压缩成固定长度的比较短的数值的方法)得出的值能够满足网络的难度要求,比如哈希值的十六进制表示中前十位必须为零。如果不满足,改变随机数,继续尝试;

广播及验证:区块哈希值计算出来以后,矿工把区块广播给其他节点,其他节点验证其区块头哈希是否确实有效(满足难度要求),以及区块中包含的交易是否有效。如果验证通过,把区块追加到自己维护的最长链中,然后继续开挖下一个区块;

获得奖励:成功计算出区块哈希值并得到其他节点认可的矿工会收到一定数量的比特币以及区块中包含的交易手续费奖励,奖励就是通过 coinbase 交易实现。这个过程就像现实中的矿工开采金矿一样,所以被形象地称为挖矿。

是不是觉得原来区块链这么简单啊!确实,原理并不复杂,但具体实现时需要考虑很多情况,比如双重花费、区块重组、分叉等问题,这些以后有机会再展开说。

可以看出来,区块链之所以称为区块链,正是因为后一个区块头总是引用前一个区块头的哈希值,环环相扣,从而形成一个可以向前无限追溯的链式结构,这就是区块链名称的由来。

挖矿的过程也就是所有节点对交易和账本达成共识的过程。所有节点都维护着同样一份账本,因此区块链是一种分布式记账技术。

区块链的特点

点对点交易

比特币是一个点对点的现金系统,在比特币的网络里,无需类似银行的中心化的角色即可完成交易,这与我们日常的现金交易必须通过银行或者微信、支付宝进行不同。假如张三想发送一个比特币给李四,那么他只需通过钱包软件构造一笔金额为一个比特币的交易,附上一定的手续费,然后用自己的私钥签名该交易,再把签名及交易数据发送给任意节点即可。矿工会负责检验交易是否合法。这个过程是完全点对点、无需经过任何第三方的。

保护隐私

虽然比特币账本公开可访问,交易对所有人完全可见,但是一般来说第三者无法知晓交易双方的身份。因为交易双方仅仅通过地址来标识对方(严格来说比特币的实现中只有公钥而没有地址这个概念,地址是对公钥进行 Base58 编码而得到,通过对地址进行解码可以获得公钥)。如果保持良好的使用习惯,地址使用过一次即不再使用,那么理论上可以很好地保护交易双方的隐私,没人知道交易的双方到底是谁。

不可篡改

我们经常听说,区块链是不可篡改的。而我们日常使用的数据库里的数据是很容易篡改的。那么区块链是怎么做到的呢?

关键在于区块头里的梅克尔根:

矿工构造区块时,会对交易进行排序,每个交易都计算出一个哈希值,然后把两个哈希值合并再计算出一个哈希值(当交易个数为奇数时,则复制最后一个交易凑成偶数个再计算)。这样逐层计算哈希值,最终会得到一个根哈希值,这个值就叫 Merkle Root,梅克尔根会写进区块头。

正是因为有了这个梅克尔根,才有了区块链不可篡改的特性。试想一下,如果有人想替换一笔已经入账的交易,那么该笔交易的哈希值就会发生变化,从而导致梅克尔根发生变化,该交易所在区块头的哈希值也就发生了变化。前面我们讲过,后一个区块的区块头里记录着前一个区块头的哈希值,一旦前一个区块头哈希发生变化,后一个区块头就指向了一个不存在的区块了,于是区块链就此断裂,账本被破坏了。

要想达到既要修改交易、又要使得区块链保持完整的目的,只有一个办法,那就是把后续的区块全都重新计算,理论上需要超过全网 51% 的算力才有可能实现,这就是所谓的 51% 算力攻击。这是不现实的,首先要获得这么大的算力绝非易事,其次即便攻击成功,由此付出的代价将远远大于可能获得的好处,只要简单算笔账,就不会有人傻到真去这么干。

比特币的交易本身是无法篡改的。比特币采用椭圆曲线数字签名算法(ECDSA),这是一种非对称加密算法。用私钥对交易进行签名,用与之匹配的公钥对签名进行验证。数字签名算法保证了交易是无法篡改且无法抵赖的,一旦交易被修改,则签名验证一定无法通过。这正是比特币及其他数字货币被称为加密货币(Cryptocurrency)的原因。我喜欢用加密货币这个词,因为它表述更为准确。

可追溯

关于比特币的交易,有一个重要的概念 - UTXO (未花费交易输出)。UTXO 使得所有交易具有可追溯性。那么什么是 UTXO 呢?

打个不完全贴切的比方:张三付给李四 100 元现金,李四把钱放在钱包里,这 100 元现金就是一笔 UTXO 。现在李四想用 30 元一杯咖啡,于是他掏出这 100 元付给咖啡厅收银员王五,王五给李四找零 70 元。我们说一笔 100 元的 UTXO 被花掉了,产生了两笔新的 UTXO :一笔 30 元的 UTXO 支付给了咖啡厅,一笔 70 元的 UTXO 作为找零给了张三。

可以看出,UTXO 只能被整体消耗掉产生新的 UTXO,而不能部分消耗,也就是说不能拆分。其次,新产生的 UTXO 与被消耗的 UTXO 内部存在关联,关联关系记录在交易中:后者是交易的输入,前者是交易的输出。正因为此,比特币中每一笔交易都是可以追溯的。交易可以层层追溯,直到最初的矿工挖矿交易(也就是 coinbase,所有比特币都来自于挖矿产生的 coinbase 交易)。UTXO 的设计很巧妙,它与现金系统既有相似之处,又有很大不同,相似之处在于都不可拆分,而不同之处在于,现金无法追溯,而 UTXO 可以无限追溯,且无法篡改。

可信任

比特币是一个点对点的分布式账本,每一个节点都维护一份一模一样的账本(也就是区块链),在这个网络中,人们自由地交易,矿工忠实地为人们记账并获得奖励。人们无需相互信任,因为网络保证了交易是合法的、不会被“双花”的(Double Spend,也就是重复花费,指的是一笔 UTXO 被重复支付,这是不能接受的。以后我们会详细讲“双花”)、也是无法篡改的。比特币可以自由地在网络中转移,同样的,基于比特币的各种数字资产或通证也可以自由的流通,而不需要通过任何中介。

而在互联网的世界里,缺少信任机制,所以必须依靠类似支付宝这种中心化的机构,在买家与卖家之间充当一个双方都可信赖的第三方。可信任的第三方随处可见,如银行、房产中介、公证机构等等,预计在未来,绝大多数中介机构都将消失或者改变存在的形态。

可编程

比特币是一种可编程货币,它的脚本功能很强大,只可惜后来的开发团队 Bitcoin Core 由于不懂而删除了一些操作码导致脚本功能有所受限(BSV 会在 2020 年创世升级中将其尽可能恢复这些操作码,但是一些改变无法逆转因此无法做到 100% 恢复)。绝大多数区块链都是可编程的,例如以太坊智能合约可以以接近高级语言的方式编程。因此,你可以给加密货币或者通证(或者说 Token、代币)赋予一定的意义,让它代表某一类物品或者资产,制定一系列的规则,让合约按照规则自动执行。可以想象,一个分布式的、无需第三方介入即可使得人们互相信任并可以在其上进行价值交换和编程的网络会给整个社会带来多大的效率提升?

区块链的分类

区块链一般分为三类:公有链、联盟链、私有链。

公有链:顾名思义,是对公众开放的区块链,谁都可以接入网络成为节点,账本数据随时可访问。现在绝大多数区块链都是属于公有链,比如比特币、以太坊、比特币现金、EOS、BSV 等等。

联盟链:又叫许可链,不对公众开放,需要经过授权才能接入和访问,一般是一些企业为了提高行业协作效率而联合起来运行。IBM 主导开发的超级账本就是一种联盟链技术。最著名的联盟链当属 Facebook 主导的 Libra 了,虽然还没正式发布,但已经在全球范围内引起了巨大反响和讨论。Libra 如果得以发布,按照其路线图,几年以后会从联盟链演化为公有链。除了 Libra,还有微众银行发起的金链盟,实际上就是金融领域的联盟链。中国央行呼之欲出的数字人民币,应该也会基于联盟链来发行。

私有链:就是完全私有化的区块链,可以理解为企业内部私有的数据库。私有链比较奇葩,与区块链的理念有些格格不入。既然私有,那就没必要用区块链技术,直接用数据库就好了啊,区块链带来的好处在私有链上荡然无存。用区块链,就应该是公开的或者部分公开的。完全私有的区块链是没有存在的必要的。

未来哪种区块链会占主导地位呢?

公有链和联盟链各有优劣。公有链更加开放,且有着比联盟链更加广泛的共识基础,而联盟链相对封闭但却有政府和企业的大力支持。两者都有其适合的应用场景。短期看两者会并存,长期看可能只剩下一种形态的区块链。我认为公有链会最终胜出。

区块链能干什么?

不可篡改、可追溯、点对点交易、可信任、可编程等这些特点非常有实用价值。点对点交易和可信任可以减少中心化的成本,提高效率。不可篡改的特性使得数据可以永久存证无法修改。可编程则使传统资产的数字化得以实现。

区块链可能会是一项革命性的技术,对我们的社会经济生活各方面进行重塑,包括货币、经济、金融、保险、政治、贸易、互联网等等,会影响到每一个人未来的日常生活。主要体现在以下方面:

加密货币:没有比特币,就没有区块链。区块链的出现与兴起都离不开加密货币的推动。区块链目前为止最有价值的应用就是比特币,加密货币与金融领域一直是区块链的热点所在。估计在相当长一段时期内,加密货币仍然是区块链的最大应用场景。加密货币预计会对当前以国家主权信用背书的法币造成比较大的冲击。

金融:区块链会革新供应链金融、清算结算、银行票据等领域,金融是区块链最为重要的应用场景之一。

保险业:以后的保险很可能都是基于区块链和智能合约的,合约的执行将自动完成,无需人工介入,完全杜绝违约事件的发生。

跨境转账:基于区块链和数字货币的跨境转账有着当前 SWIFT 转账无可比拟的优势,转账速度快、手续费低廉。在很多欠发达国家和地区进行跨国转账十分不易,加密货币的出现给他们带来了极大的便利。

国际贸易:区块链可以简化国际贸易纷繁复杂的环节中单据的流转和通关的过程。同时加密货币的使用也可以使得贸易双方的结算更为方便。

资产数字化:资产数字化也称为资产通证化。区块链使得资产通证化变得异常简单。比特币不仅可以作为货币,也可以赋予它其他含义。比特币的最小单位是聪,一个比特币等于一亿聪,我们可以用一聪表示一张优惠券、一张电影票、一股股票、一件艺术品等等,用户可以像交易比特币一样交易它们,实现价值的转移。采用以太坊实现资产数字化非常容易,通过发行 ERC20 / ERC721 的通证即可实现。

智能合约:区块链的出现使得智能合约具有了一个再合适不过的载体,现在应用最多的智能合约平台非以太坊莫属(但以太坊智能合约存在很大问题)。简单来说,智能合约就是把规则代码化后写入区块链,当既定条件满足时,规则自动触发执行。智能合约的应用场景十分广阔,包括保险、金融、电子商务等等众多领域都可能会大量采用,大大降低社会成本。

证券化通证:本质上属于资产通证化。可以预期不久的将来,股票将会通证化,股票的交易等同于现在的比特币交易,股票交易所等同于现在的数字货币交易所。股票的交易会变得非常简单,不受时间和地域的限制。

物联网:随着 5G 和 IPv6 的普及,物联网正在逐渐爆发,物联网+区块链可能会使得设备更加自动化和智能化。想象一下,如果 Airbnb 给每个出租房间配备一把搭载了区块链芯片的智能门锁,房客只需通过安装在手机里的的钱包软件支付一定数量的数字货币,门锁即会自动打开,过程无需人工干预。

电子存证:区块链的不可篡改的特性使得其可以作为一个电子存证数据库,数据一旦写入就无人能够更改,任何的徇私舞弊、弄虚作假等都会无处遁形。

商品溯源:在商品流通的各个环节把数据写入到区块链,区块链上的每一笔交易都可以追溯,因此可以实现商品的全程可追溯。为了杜绝人工弄虚作假,可以借助物联网技术来避免人工干预,实现商品源头数据的自动上链。

还有很多应用场景,不一一列举。

区块链的未来

当前落地的真正有实用价值的区块链应用其实并不多见,这与区块链基础设施建设落后有很大关系,区块链技术离大规模应用还有很长的路要走。

2019 年 10 月底,中国领导人组织学习区块链,意味着中国政府已经充分认识到了区块链潜在的巨大价值,并积极把区块链的发展和应用提高到国家高度。有了政府的大力支持,区块链和数字货币在中国可能迎来飞跃发展。预计在未来的几年里,区块链尤其联盟链会有比较多的应用落地,区块链可能会在数字货币之外的领域真正开始崭露头角并发挥其巨大威力。

中国央行可能很快就会发行基于区块链技术的数字货币 DCEP ,极有可能成为世界上第一个发行数字货币的央行。个人猜测,对于已陷入监管困境的 Libra 来说,这可能是一次机会,美国政府为了应对来自中国的挑战,可能会放松对 Libra 的监管要求。其他大国必然也会跟进,效仿中国推出本国的区块链发展计划,以及发行本国的数字货币。

道路是崎岖的,前途是光明的,相信随着技术的逐步发展完善,以及世界各国对区块链重视程度的提高,区块链的春天已经不远了。

—-

编译者/作者:Tony老刘

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...