您当前的位置: > 币圈交易所 >

以太坊能成为支撑千万个应用的基础链吗-数字货币货币的知识

发布时间:2020-10-22 01:11

以太坊能成为支撑千万个应用的基础链吗,比特币是单一目的的区块链,设计紧凑却考虑周全,可以说接近完美 。其中少许留了一点空地,原意是留点做评论或者留言的,中本聪本人就在第一块中留下一句话来说明比特币链启动的时间。头脑灵活的人就把这块地拿来做颜色币(colored coin)等等。但毕竟活动空间不大,做不了太多的事情。

portant;'>       以太坊(Ethereum)应运而生,号称是可以写万能的智能合约的区块链平台。 一时间巨额资金涌进,无数人开始在以太坊的基础上开发各种应用(包括所 谓 DApp,也就是分布式应用),还有更极端的所谓分布式自治系(DAO)。

       大家都在以太坊一个链上做应用,是个什么概念?就像是微软推出一个系统叫做 Windows,然后全世界人民写程序都运行在同一台电脑上的同一个 Windows 系统。这样一个系统能支持那么多人那么多应用吗?根本不可能。 看看身边的情况,大家各自使用自己的电脑或手机,需要通讯的时候通通讯, 需要协同的时候协同一下,需要购物的时候去一下购物网站。其余时间各自干各自的事。若是互联网试图以一台全世界共享巨型机的模式,是不可能发展起来的。以太坊背道而驰,不知是真的不懂还是故意忽悠。作为发币的平台,以太坊歪打正着很成功 。做别的有没有戏,还待观察。

       跟随着以太坊的智能合约被很多人满嘴跑火车的另外一个词就是图灵完整 (Turing Complete),好像这是个什么伟大的功能。其实若要真的想做智能合约,图灵完整又是一个背道而驰的思路。为什么这么讲?设计过计算机程序设计语言的人都知道,一个程序语言的限制越少,功能越强,程序员越容易出错。譬如, 大家常用的 C 语言就是这样一个例子。它功能强,是因为它出身是系统级的语言,做操作系统用的,需要这么强大的灵活性。但是作为写应用程序的需求来说,可以说到处是陷阱。后来推出的 Java 语言,增加了很多限制,譬如 type safety 和 garbage collection,把很多程序员容易掉陷阱的地方都回避开了,因此成为企业级应用的首选语言。

        回到区块链的智能合约这个问题。要想安全可靠地写合约,合约语言必须进 一步缩减功能,加入很多约束。跟律师打过交道的都知道,合同一般分类有范本的,律师从来不愿意从头起草,而是在范本的基础上写合约。这就是因为范本提供了很多约束条件,经历过时间的考验和不断的更新,不容易犯错误。律师的范本就类似高级程序语言设计中的 type 和 pattern。前段时间以太坊上的 DAO 出现被攻击的事件,就是因为合约代码中的错误。所以说,对于写智能合约的程序语言来说,少反而是多。另外,真正要设计一个智能合约的语言,恐怕从一开始就要考虑如何结合形式验证(formal verification) 技术来证明每个合约的正确性,把可证明性(verifiability 或 provability)设计到语言的结构内。