数据库没有杀死应用服务器,区块链也无法接管一切_区块链:IGG

本文来自:橙皮书,作者:橙皮书,星球日报经授权转发。

今天早上跟arcblock的老冒交流了一个小时,他提到几点我觉得挺有意思的:1.智能合约可以拿来类比数据库里的“存储过程”的发展。数据库的存储过程有两个最成功的用法,一个是validator,一个是trigger。validator是用来保证每个字段的数据在一个合理范围内,比如存员工的工资数据,我设计数据库的时候就提前知道一个员工每个月的工资不会超过100万,那存进去的数字就有0-100万的范围,提前做限制,非法数字就存不进去;trigger是用来在一些条件下触发执行动作的。比如银行的数据库,如果一个客户的银行余额低于0了,那要触发一个通知,告诉银行这个用户要破产了。以前没有触发器,就只能一遍一遍的对数据库进行轮询,现在有了trigger,就可以很轻松的把一些逻辑写进数据库里。这两个东西出来的时候,业界曾一度非常激动,认为这是新一代的数据库,甚至有人认为我们可以不需要应用服务器了,所有的代码都写进数据库就行了。但到了今天事实证明,数据库并没有替代应用服务器,它只是提供了很重要的基础设施,但上面还叠加了很多其他层的中间间。类比区块链的话,智能合约就是存储过程一个很自然的发展。我们在去年也一度以为,以太坊要接管一切,所有的应用都应该跑在以太坊上。但今天大家都知道,智能合约很有用,但大部分应用是在链下的,区块链只是其中一个技术组件。不过这不妨碍区块链的伟大性,就像数据库在今天也是不可替代的地位,只是它的很多市场份额会被应用吃掉。现在的区块链之所以难用,也是因为我们试图让普通用户直接在数据库上通过SQL语句来做操作、做交互。注:所谓的“存储过程”,指的是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数来执行它。存储过程是数据库中的一个重要对象。这个定义,其实真的很像是“智能合约”。2.R3之前搞过一个humanreadable的智能合约,相当于折衷地把智能合约跟当下的法律能快速桥接起来,是个有意思的案例。R3的Corda是一个分布式账本,在2016年它里面提出了一个很有意思的创新,就是在链上部署一个合约,会同时生成两份:一份是机器读懂得懂的机器代码,一份是人类读得懂的法律条款。很多人说,智能合约把规则写到机器上面进行约束,虽然能在链上强制执行转账之类的操作,但是现实世界和法律世界的映射,还是没办法得到保证。法律可以不承认线上的智能合约。R3为了解决这个问题,让智能合约部署的同时生成一份有效的法律合约,就能快速解决这个问题,而不用等到法律逐渐完善、明确出智能合约这块的法律究竟怎么制定。这是一个有趣的尝试,只是不知道现在进展怎么样了。3、计算机在越来越逼真地模拟现实世界,但人类和技术最终会互相适应去发展。从数据库的发展来看,以前所有数据的存储和维护都放在一台计算机上就可以了,后来慢慢发展到分布式的场景,我们假设这些机器都是可信的,用中心去统一调度,再到现在,我们又慢慢退回到,假设这些节点并不可信的情况,实际上越来越贴近现实世界真实的情况。但人类可能也需要跟技术互相适应去发展。这方面我想到了一个例子:人类的协作组织方式其实一直受技术实现方式的限制。过去我们以公司的单位去发展,是因为金融技术只能支撑我们以公司的单位去发展,即使这种组织方式跟传统的家庭、部落相比,已经是一个很大的创新了。现在我们有了新的技术,组织方式也需要新的变化。未来如果AI发展到一定程度,区块链也许会被我们拿来作为一种足够强大的治理工具,保证这些技术不朝着危险的方向发展。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:594ms