杨镇:从大数据与 AI 技术发展来看,跨链技术必要且必然
虽然比特币白皮书中并没有明确给出「区块链(Blockchain)」这个现在已经风靡世界的术语,但它的确是在事实上定义了「区块链」技术的第一个成功的区块链应用系统。这个项目所实现的就是一个可以无需依赖任何第三方而完成的、安全的电子现金归属权转移系统。 在此我必须再安利一下我们入门区块链的必读资料《精通比特币(Mastering Bitcoin)》。尤其是对有技术基础的朋友来说,这本书你一定要读懂、读透。相信我,你一定不会失望! 以太坊是想解决什么问题 让我们依然先来看看以太坊项目的白皮书标题:下一代的智能合约和去中心化应用程序平台(A Next-Generation Smart Contract and Decentralized Application Platform) 。这同样已经明确定义了以太坊的设计目标。但这个定义中引入了两个重要的术语——智能合约(Smart Contract)和去中心化应用程序(Decentralized Application)。下面就让我引用我自己开发的图文音频课程《工程师眼中的比特币和以太坊》中的部分内容来分别解释一下这两个术语。因为它们对我后续想进行的讨论非常重要。 智能合约(Smart Contract)这个词最初是由一位美国的计算机科学博士尼克萨博(Nick Szabo)在他 1997 年发表的一篇论文中提出来的。智能合约指的是一种基于计算机技术实现的,可以免除人工干预而自动执行、自动校验、自动基于外部指令给出回应的具有交互性或者互操作性的合约;其本质是一种计算机程序。这个概念本身相对比较抽象,所以尼克萨博本人在后来的一些访谈中曾经用自动取款机或者自动售货机来作为智能合约的物理实例;它们就是基于某些公开的、众所周知的规则,能够根据用户的指令和实际业务数据的状态给出可预期的回应的这样一种应用程序。 ...... 当然,其实这个过程并不「智能」,从某种意义讲,也并不是「合约」。所以这个词从其诞生开始就有一些争议,尤其是它会给一些不明所以的用户某种程度的误解。从本质来看,所谓「智能合约」实际上只是一种可以基于某种状态数据自动给出回应的应用程序而已。不过出于历史原因,「智能合约」的叫法还是被业内接受并延用了下来。 ...... 目前的绝大多数 Web 应用,其用户数据都是保存在由某个公司、组织或者个人控制的「服务器」或者「服务器组」之中的,这些应用中的绝大部分业务计算,也是由这些服务器或者服务器组来提供的;所以这种模式,可以认为是一种「中心化(centralized)」的模式。 那么「去中心化应用程序(Decentralized Application)」,也就是将数据保存到类似于「点对点的时间戳服务器(即区块链)」这样的,并不是由中心化的公司或组织控制的服务中,并且由这样的「去中心化」服务来提供具体的业务数据计算能力的一种应用程序。「去中心化应用程序」也可以简单地理解为是基于智能合约进行状态追踪和计算的一种应用程序。 与比特币实现的可以不依赖于任何第三方就能安全完成的电子现金交易类似,智能合约和去中心化应用程序也是基于「区块链」的,也就是说它们同样是可以在不引入任何第三方的情况下就能安全完成的、可以自动执行的、可定制的计算机程序。与电子现金交易相比,智能合约显然给了我们更大的想象空间,提供了更多的可能性;而去中心化应用程序,也被认为是有巨大潜力的技术方向。 这里我不想过多讨论去中心化应用程序目前的窘境,相信大家也已经看过了很多这方面的资料或者分析文章。任何生态的构建都是需要时间和一些特定的、革命性的条件的,所以我们大可静观其变,不应该过度吹捧或者过早唱衰。 我想有心的读者可能已经注意到了我在小标题用词上的区别:「比特币解决了什么问题」和「以太坊是想解决什么问题」这其中表达的意思显然是不同的。 比特币系统作为世界上第一个点对点的电子现金系统,已经稳定运行了超过 10 年,其价值也得到了全球化的认同,所以我们可以认为它已经解决了「如何构建一个全球化的去中心化经济系统」的问题。 而对于以太坊来说,虽然它是世界上第一个成功的公共智能合约平台,但从技术上讲,它其实只是个「实验性」的项目。从以太坊项目中暴露出来的公共智能合约基础服务层面的主要问题,比如处理性能问题、合约升级问题(合约漏洞)、存储爆炸问题、随机数问题、与外部世界的交互问题等等,至今仍然没有被很好地解决。虽然以太坊拥有世界上最大的开发者技术社区,有最活跃的生态,其 2.0 版本也已经进入日程,但实际结果如何,目前还未可知。从这个角度讲,我认为以太坊想解决的问题,也就是「如何提供一个全球化的、安全的公共智能合约平台」这个问题,其实还没有真正得到解决;也许,我是说也许,它的方向就是错的。 业内有很多人提出过这样的疑问:是不是应该把所有用户(合约)的数据、所有合约的计算都放在一起(一个链或者一个系统中)呢?计算机软硬件发展史中屡试不爽的分层思想能否在区块链领域里发挥作用呢? 跨链又是要解决什么问题 所谓「跨链(cross chain)」的提法,最早大概是在 2015 到 2016 年间被提出来的,从 2017 年才开始被越来越多的业内人士所讨论。我本人最初听到这个术语的时候也是不明所以,不知道这个「跨链」到底是要跨什么东西。只是要解决不同链上的资产如何交易的问题么?这已经通过各种中心化、去中心化交易所解决了啊,为什么还要提跨链呢? 直到最近我听到 Gavin Wood 博士谈论的关于区块链未来发展方向的一些观点的时候,结合我先前对跨链技术的了解,我才恍然大悟:其实「跨链」技术要解决的就是如何灵活地支持区块链的分层扩展问题 。理解了这一点,我们就应该可以想到,其实「跨链」技术才是前两年以太坊高速发展中所暴露出来的、区块链系统的最大挑战——「扩容」问题的终极解决方案。 如果我们将以太坊 2.0 的技术方案与目前的两大「跨链」技术框架 Cosmos、Polkadot 相对比的话,我们就会发现,它们解决的其实都是区块链如何分层扩展的问题。只不过它们选择了不同的技术方向。(因为篇幅原因,我这里就不对这三个项目做进一步的比较说明了。有兴趣的读者可以去参考刘毅老师的《万字长文说透 Polkadot 架构》,其中有详细的解读。) (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |