在(zài)
区块链的应用中(zhōng),绝大多数人知道(dào)“
比特(tè)币”的概念,但还有一个叫“以太坊”的网络不(bú)得不提(tí)他的创(chuàng)立者(zhě)是(shì)一(yī)位俄罗斯(sī)90后程序员(yuán)维塔(tǎ)利(lì)克,他(tā)用了(le)5年(nián)时间写了一个以太坊,以太(tài)坊当前市值高(gāo)达1000亿美元。那么,为(wéi)什么以太(tài)坊会(huì)成为比特(tè)币之后最(zuì)成功的
区块链应用呢?这里的(de)关键词便(biàn)是“智能合约”。如果说与比(bǐ)特币(bì)相比,以太坊最大的优势是什(shí)么,恐怕就是它(tā)除了发行以太币,还允许布置(zhì)“智能合约”。据说(shuō)当年,维塔(tǎ)利克想到“智(zhì)能合约”的概念后曾去(qù)找过比特币的核心开发人员(yuán),但被拒绝了,于(yú)是因此有了后来(lái)他自己的创业。
我在实验当中布署过智能(néng)合约。在以太坊中布署智(zhì)能合约的叫solidity,其实,除了布(bù)署智能合约(yuē),很少有人会用到这个语言。无(wú)论如何(hé),正是因为智能合(hé)约(yuē)才(cái)真正赋予了“区块链”无限的遐想空间,到下你能在网上看到几乎所有区块(kuài)链应用的文(wén)章,几乎都离不开“智能合(hé)约”这个关(guān)键(jiàn)词。
2.“智能合约(yuē)”的深入解(jiě)析(xī)
智能合约让区块链有了更加广泛(fàn)的应用。在比特币的区块链中,没(méi)有(yǒu)智(zhì)能合约,除(chú)了转(zhuǎn)帐几乎无所作为。以太坊增加了“智能(néng)合约(yuē)”这个概(gài)念,这让区块链(liàn)有了无限的想像空间(jiān)。我在(zài)前面的文章(zhāng)中专门介(jiè)绍过“智能合(hé)约”。有朋友曾问及过(guò)我,当(dāng)下的(de)电子支付(fù)算是智能合约吗?比如我们去商店买东西用(yòng)手机自动支(zhī)付,这(zhè)算(suàn)是智能(néng)合约吗?显(xiǎn)然,人们习惯将自动(dòng)支付等同于(yú)智能合约,这是一个常(cháng)识错(cuò)误。另(lìng)一个常识错误(wù)就是(shì)人们将“
人工智(zhì)能(néng)”理(lǐ)解为“智能合约”,这同样是两个(gè)不同范畴的概念。
事实上,智能合约的关键在于“自动执行”,即协议一旦达成,各方只能遵守(shǒu)协议,否则协议会自动执行。我(wǒ)们能想到的(de)自动执行例子(zǐ)就是(shì)房地产(chǎn)按揭(jiē)贷(dài)款(kuǎn),届期银行会自动(dòng)扣款,这算是最接(jiē)近“智能合约”的例子(zǐ)。区块链(liàn)中的(de)智(zhì)能合约会与
数字货币紧密联系在一起(qǐ),这(zhè)也让智能合约的“自动执行”真正成(chéng)为可能(néng),届期该还款的时候,数字货币会自动(dòng)转移到指定(dìng)帐户。智能合约(yuē)一旦达成,自(zì)动(dòng)执行是任何人都阻止不了的。尼克·萨博(Nick Szabo)是智能(néng)合约的提出者(zhě),他不仅是一位法学家,还是一(yī)位计算机密码专(zhuān)家。在区块链中布署智(zhì)能合约,这让区块链有了无限的想像空(kōng)间,现(xiàn)实中很多需要,比(bǐ)如捐赠、交易、登记、担保等等,这一切都可以在区块(kuài)链中设立智能合约(yuē),一个直观的认识就是:智能合约的执(zhí)行成本会大幅降低。
3.区块(kuài)链中“智能合约”的天然弊端
我(wǒ)在区块链中切(qiē)实布署了智能合约,所(suǒ)谓布署(shǔ)智(zhì)能(néng)合约(yuē)的过程,即是将(jiāng)计算机代码布(bù)署在区块链当中,届时区块会将代(dài)码同步到(dào)每一个结点当中,每一个结点(diǎn)的用户都(dōu)可以(yǐ)参与这个(gè)智能(néng)合(hé)约(yuē)。但是,在(zài)实验当中布署智(zhì)能合(hé)约我面临的一(yī)个最大问题就是,智能合约(代码和数据量)不能太大。要(yào)知道,由于区块链是(shì)一个分布(bù)式(shì)帐本,所有的智能合约的代码和数据(jù),并(bìng)不是存储(chǔ)在一个大的中(zhōng)心服务器上的,而是分步(bù)在每一(yī)个终端电脑(nǎo)上的。
在我在实验时(shí)所使用的mac笔记本电脑便是一个具体的终端,事实(shí)上一个(gè)笔记本(běn)电(diàn)脑(nǎo)的全部硬盘(pán)加一(yī)起只有几(jǐ)百个(gè)G,一般而言(yán),去掉人们在(zài)学(xué)习工作中(zhōng)的资(zī)料已经占据的(de)部分,能够供区块链(liàn)同步数据的空间(jiān)至(zhì)多有几十或上百个G,这也就(jiù)决(jué)定了分布式应用时的计算机(jī)代码及数据不能太(tài)大,像(xiàng)当下很多稍微(wēi)大(dà)一(yī)点的项目,一个项目就要几百(bǎi)个G或者几千个G,而区块链上所有项目也至(zhì)多只能有(yǒu)几(jǐ)十(shí)个G,这就要(yào)求应用到(dào)
区(qū)块链项目的代码(mǎ)及数据要非常小才行。当然,随着技术的发(fā)展,每(měi)一台电脑(区块链终(zhōng)端(duān))的硬盘(pán)空间(jiān)会逐步增加,但无论如何,与中(zhōng)心服(fú)务器相比,它的容量仍然(rán)很(hěn)小小的,简言式,区(qū)块链的“分步(bù)式”,也就决(jué)定了代码,以及项目数据库,要很小(xiǎo)很小才行。
在(zài)智能(néng)合约的布置中(zhōng),以(yǐ)太坊还引(yǐn)用了一个“gas”的(de)概念,比(bǐ)如布置一(yī)个智能合约,需要消耗21000gas或者33500gas,至于消耗多(duō)少(shǎo)gas,完全取决于这个合(hé)约的大小,而这(zhè)里gas又是(shì)和以太币(ETH)之间进(jìn)行换算的,所(suǒ)以(yǐ),在区块链上(shàng)布置智能合约是要(yào)钱的,合约代码越大,花钱越多。当然,有人说如果不再乎花费多少(shǎo)钱,就是要布置(zhì)一个超(chāo)大(dà)的项目在区块链中,事实(shí)上(shàng),即便是你花得起这个钱,这一想(xiǎng)法依(yī)然是不可行的,因为区块链会将这(zhè)些一个项目的计算机(jī)代码(mǎ)全部同步给每一个终端,试想,我作为一个用户我的电脑硬盘这样一个项目的(de)数据都存储不(bú)了,更不要说同步所有区块链数据了,那(nà)么,如此的智能合(hé)约,用户根本就用(yòng)不了。
版权申明(míng):本内容(róng)来自于互联网(wǎng),属第三方汇集推荐平台。本(běn)文的版权归(guī)原作者所有(yǒu),文(wén)章言论不代表链门户的观点,链门户(hù)不承担任何法律责任。如有侵权请联系(xì)QQ:3341927519进(jìn)行反馈。