哈灵根位于荷兰西北部,夏日气候宜人,白昼漫长。安娜最喜欢和妈妈在海风习习的傍晚,沿海岸线散步,但爸爸却常常缺席。爸爸是程序员,勤奋又忙碌,回到家还为一些开源项目贡献代码。安娜生日当天,爸爸写承诺书答应下周末陪她出去玩,但还是拖延了很久。想让爸爸陪自己出门,那简直是天方夜谭!
这一天,爸爸主动提出陪安娜一起,让她惊讶不已。随即,安娜高兴地和爸妈一起来到海边。落日余晖下,安娜一蹦一跳,突然望见港口那边躺着一头黑漆漆的大家伙。
“看上去是一头搁浅的抹香鲸!”安娜心里咯噔一下,拉上妈妈就跑过去。
她们气喘吁吁跑到港口,那头鲸竟喷出高达十几米的水雾,顺风洒了她们一身,连海鸟都吓得四散而逃。
待鲸喷水结束,安娜才发现那不过是等比例模型,不禁松了一口气。再回头看爸爸,发现他正站在原地朝她们哈哈大笑,安娜恍然大悟:爸爸一定早就知道是怎么回事!
回家路上,不论安娜如何问,爸爸总是笑而不答,最终拗不过,才给了她一张带有标记的地图,笑眯眯地说:“聪明的小安娜,你自己先去一探究竟吧!”
接下来一周,安娜在妈妈的陪伴下寻访地图上的公司,这才弄明白模型的来历:原来,这头喷水抹香鲸模型源于荷兰11Fountains艺术活动,即由11位知名艺术家在荷兰11个城市创作喷泉作品,作为象征社区意识的新文化遗产地标。
放置在哈灵根的喷泉作品是一头鲸。很多年以前,哈灵根这个城镇曾经致力于捕鲸业。虽然今天当地人早已不再捕鲸,但依然常有鲸由于莫名原因在浅水区域搁浅。于是,艺术家和当地人一起创造了这只以假乱真的抹香鲸,放置在哈灵根威廉港的浅水区域。
然而,第一次观测鲸喷水过后,安娜多次在同一时间去海港,却再也没有遇上抹香鲸喷水。当地人告诉她,鲸鱼模型也会在其他时间喷水,还有幸运儿在它喷水时看到了小彩虹。有人猜,鲸鱼内肯定有一个微型计算机,通过随机数算法控制喷水时间。不仅仅是安娜,当地人都对抹香鲸喷水的未解之谜津津乐道。
安娜百思不得其解,坐在模型附近思索很久才回家。打开家门,她发现爸爸正坐在电脑前敲键盘,便上前求教。
听安娜讲完寻访当地公司的经过,爸爸让她坐到身旁,打开一个新网页。屏幕上很快出现一个直播视频窗口,里面竟是此时此刻位于海港的鲸模型!
没等安娜惊呼,爸爸就滑动鼠标滚轮。页面下方,显示出“在Steem上向鲸基金捐赠”的文字,以及1-100STEEM的进度条和附言文本框。只见爸爸一番操作,再拉回直播视频,里面的抹香鲸没过多久就喷出高高的水柱!模型附近正好有个小姑娘,和一周前的安娜一样,惊讶地张大口。
“我知道了!上一次也是爸爸在‘使坏’!”安娜双手叉着腰质问道。
“上次不是我哦!”爸爸乐呵呵回复道,“这是一只结合了区块链技术的抹香鲸模型,除了自身的随机喷水程序,还接受了Steem社区的区块链技术支持,被开发者命名为SteemWhale。不论你来自世界上哪个地方,只要有网络,就可以通过类似智能合约的流程付费STEEM,启动喷水交互装置,坐在家里也能让港口的抹香鲸喷水。”
“爸爸,什么是区块链?什么又是智能合约?这些和抹香鲸模型又有什么关联?”虽然总听爸爸提到这些词,但安娜对它们还是感到疑惑不解。
爸爸挠了挠脑袋,思索许久才开口:“先跟你讲讲智能合约吧!安娜,还记得我给你的生日礼物吗?”
“当然记得!你给我签了承诺书,说要在下个周末陪我出去玩,但后来还是忙忘了!妈妈就从来不会骗我!”安娜佯装生气,但内心也理解爸爸的辛苦。
“这事我很抱歉,真的是忙到忘记。”爸爸一脸歉疚,“大人世界里也有承诺书,类似的东西还有合同、协议书、保证书、订单等等,简单来说,是双方对一件事达成共识、将约定书面化的凭证。虽有书面化凭据,但如何如约执行仍是令人头疼的大问题,比如我就因为工作太忙而推迟了和小安娜的约定,还有人耍赖、拒不履行约定,甚至撕毁凭证。于是,我们社会中有了第三方公证机构,让利益受损方能够通过调解、仲裁和法律途径解决争议,但其中还是存在很多问题,比如人力成本过高、耗时过长、追款失败等。我前面提到的智能合约,简单来说就是将双方的约定代码化,把本来由人见证和执行的部分,交给没有主观色彩、很难失误的程序,从而保证公平、提高效率。”
安娜很快想到最近在新闻里看到的电子合同,觉得两者非常相似,一时间难以区分,只好再次发问。
“哈哈,不愧是我的女儿,知道的真多!”爸爸得意地摸了摸安娜的头,“电子合同也是一种合约。但电子合同本身依然存在伪造、篡改、隐私泄露等问题,如果要避免这些问题,就需要区块链技术啦!现在很多电子合同结合了区块链技术,仔细看,你会发现它们通常标记了一行数字和字母混合的编码,那是链上交易的记录证明,我们将它称为交易哈希。区块链技术具有去中心化、不可纂改、不可伪造等核心特征,正好可以解决电子合同的问题。”
安娜点点头,现在她知道智能合约和区块链很有用,但还是似懂非懂的状态:去中心化是什么意思?
“智能合约的协议规范通常由所有参与者共同确定,执行的记录将同步储存在很多台计算机上。除了最开始的手动支付确认,其他一切都是代码自动执行,没有一个人或中介机构来确认和操作,这就是去中心化。你看到的这个SteemWhale的网页就是一个去中心化程序的前端界面,像这样的应用,我们称它为去中心化应用(DApp)。用户通过像这样可视化的网页,或者直接通过移动端钱包,进行私钥验证,捐赠1~100个“生态货币”[1],即在Steem区块链形成一笔交易记录,捐赠出的STEEM随即转入项目账户,成为现实中鲸鱼模型维护和海洋生态保护的基金;与此同时,港口的抹香鲸模型开始喷射水雾。DApp有类似电子合同的记录证明,我们也可以通过交易哈希来查询任何一笔链上的交易记录。”
爸爸说着,打开另一个网页,上面不仅有交易记录,还有一张记录鲸喷过程的动态图片,标注出爸爸的账户名。
“所有过程永久记录在区块链上,在启动喷雾的同时,这张图片也通过Steem区块链传送到捐赠用户的账户。从此以后,任何人都可以在区块链浏览器查到这笔交易记录,并看到对应的动图,”爸爸补充说。
“爸爸,我还是没明白,为什么智能合约能让约定的内容不可纂改和不可伪造呢?”安娜问。
“你想亲自试试看怎么让抹香鲸喷水吗?”爸爸没直接回答问题,而是把笔记本交给安娜,让她自己操作。
安娜学爸爸点击确认捐赠过后,果然看到直播中的抹香鲸开始喷出水柱,但查看区块链记录时,却发现自己失误捐赠了100STEEM,“那是多少钱?”她忐忑不安地问爸爸。
“很多哦!我好几天的工资。”
“那怎么办?可以申请撤销吗?”安娜有点慌了。
“不行哦!这也是区块链和智能合约的‘坏处’,一旦你输错了数量或者地址,就只能通过备注信息联系接收地址,如果对方看到并答应退还,才可能发起另一笔交易退给你。至于你失误造成的第一笔交易,将永远存在链上,无法改动。”爸爸说,“抹香鲸的收款会用于维护和海洋保护,也算做了善事,别纠结。”
“为什么改不了?”安娜仍不甘心,“爸爸你别骗我!我常听别人说区块链是一种数据库,那就不排除有人能通过改数据库的方法去改动,比如黑客就有可能恶意攻击去改动交易数据啊!”
“不愧是我的女儿,知道的真多!”爸爸这次没直接答复,而是领安娜出门。家门口的大树前,一群蚂蚁正在列队向树的方向行进。
“你看这些蚂蚁,它们通过社会互动和化学气味交换,在我们看不见的地下世界,构成庞大且复杂的社会系统。抹香鲸背后的区块链技术很类似,是通过区块(若干交易数据的集合)与区块之间的验证,构成分布式的点对点网络系统。不同的区块链系统会根据链上应用的方向,演变出各式各样的交流方式,我们将其称为‘共识算法’。根据共识算法提供算力、让区块链网络平稳运行的计算系统就像是个体的蚂蚁,我们将其称为‘节点’,而同步保护所有区块链数据的节点则被称为‘全节点’。在这样的一个系统里,数据库不再像以前那样存在一个服务器上,而是分散在所有的节点上。黑客想要改动数据,首先要掌握51%的算力、占据优势,才能修改这些节点上的数据库。因此,某个区块链认可程度越高,全节点越多,区块链网络的去中心化程度就越高,有了足够多的全节点提供算力和保存数据,黑客想要攻击这种区块链,自然也就越难,这一区块链相对也更加安全。有了认可度高的区块链作为底层技术,智能合约才能更好地运行,为更加美好的未来服务。”
听爸爸一番解释,安娜恍然大悟:原来所谓的不可篡改和不可伪造,其实是“难以篡改”和“难以伪造”的意思,对区块链账本数据分布式储存的全节点的数量会直接影响黑客作恶的难度,当难度达到一定高度时,就可以说不可篡改和不可伪造。
“区块链技术也有多种方案。日常生活中经济行为的模型更加复杂,以此为服务对象的区块链系统不得不有所取舍。比如Steem就牺牲了完全的去中心化,而是选取了21个见证人节点。这样,它处理事件的效率比完全去中心化的比特币网络快上千倍,能承接更高频的应用场景。除此之外,要达到速度和去中心化之间的平衡,还有私有链和联盟链以及分片技术等多个选择可以权衡,有许许多多开发者在尝试各种方向,比如SteemWhale就是我的好朋友Roeland P. Lanparty叔叔负责开发的。你不需要立刻弄懂这些术语,如果有兴趣,我也可以教你……”
这一天,爸爸和安娜说了很多话。除了区块链和智能合约的基本原理,安娜并没有完全听懂其他东西,但她很开心,甚至晚上还做了个梦。
梦里,她变成了一位女工程师,和爸爸一起开发云链系统,让一切通过智能合约记录在链上:
有了云链,慈善项目所有捐款资金直接转入合约内,由合约进行托管,按照规则分批转入受资助者账户。合约代码需要经过专业的安全审计,并向社会公开。任何人通过智能合约捐出的款项都有交易记录可供溯源,只需要交易哈希,就可以通过区块链浏览器查到时间、金额、交易双方等信息,可以保证慈善项目的透明。
游乐园可以通过云链,让游客互动。比如激流勇进的水上项目中,朝玩家喷射的水雾装置,就可以通过云链远程交互,让世界各地任何一个使用网络的人来启动。例如,经过游客同意后,付费者甚至可以将喷雾的相关记录自动发布到社交媒体获取关注,而参与者也能通过智能合约从社交媒体获得对应的流量转化激励。
搭乘飞机不幸延误时,也可以通过云链获得赔偿。由于延误险相关的投保乘客信息和航班实时动态都记录在区块链上,一旦智能合约触发条件成立,赔偿金将自动转至投保人账户内,不需要他们在事后提供繁杂的资料证明,既节省了人力成本,又很难引起纠纷。
甚至连丢垃圾的行为也能触发智能合约。当垃圾被正确地扔进智能分类垃圾桶时,会触发垃圾分类智能合约,一笔小额奖励随即转入垃圾分类者的个人账户。
而在大规模灾害或战争中,云链更是发挥着不可替代的作用。如果某个数据节点被毁,云链的所有其他节点依然保证着用户数据的备份和恢复。当传统的网络交易都已瘫痪的时候,智能合约还在忠实地履行自己的使命……
这一天过后,安娜依然常去海港散步。有时她也会用手机钱包向抹香鲸基金账户捐赠,等待模型喷出水柱,然后像爸爸曾看她的那样,看好奇的游人向模型聚集。不过开始迷上编程的她,会早早回家,享受和爸爸在一起敲击键盘的时光,期盼着智能合约能如抹香鲸般游离海港,在更广阔的世界里徜徉,将梦化为现实。
(注:本文除安娜及其父母为虚构人物,其他都真实存在。)
参考文献:
[1]Andreas M. Antonopoulos,Mastering Bitcoin: Programming the Open Blockchain[M].Sebastopol: O'Reilly Media, 2017.
[2] Daniel Larimer, Ned Scott, Valentine Zavgorodnev, Benjamin Johnson,James Calfee, Michael Vandeberg.Steem白皮书(2014年中文版)
[4]Taylor Pearson,Will Smart Contracts Eat the World? [EB/OL].https://taylorpearson.me/smart-contract-applications,2018-11-07.
[1]Steem生态货币有:STEEM(Steem区块链基本单位的实用型数字货币),SteemPower(直接影响账户投票权重的权益币)和Steem Dollar(稳定币),本文讨论仅涉及1和3。