因为我说话不算话,10岁儿子掌握了区块链精髓 | 孙毅_风闻
科普中国-科普中国官方账号-中国科协科普工作官方微平台2020-12-31 16:12
区块链很简单,就是用共同记账的思想,让人手一本相同的小账本,使得每一个人都不能再赖账,带给我们弱中心化、公开透明的系统。
不要着急给区块链描绘那么伟大的蓝图,只需要找到一到两个场景,扎扎实实地用好这个技术,解决现实问题,就足够有价值了。也许几十年以后我们蓦然回首,区块链就成为了一个改变未来的技术。
2020年12月12日,“我是科学家”年度盛典现场,中国科学院计算技术研究所研究员、博导、区块链实验室主任、中国计算机学会区块链专委会副主任孙毅,带来演讲《人人都爱不耍赖的区块链小本本》。
以下为孙毅演讲实录:
我今天给大家分享的题目叫《人人都爱不耍赖的区块链小本本》。
01 什么是区块链?
就像一千个人心目中,有一千个不同的哈姆雷特一样,一千个人心目中也有一千个不同的区块链。大家都在讲区块链,有时候反而把我们给讲迷糊了。
到底什么是区块链?
我想通过生活中的一个小故事,给大家分享到底什么是区块链。
这是我和我儿子的故事。我儿子10岁,我对他许下承诺,我说你考试得了100分,爸爸给你买心仪的玩具。小家伙很高兴,过两天拿了一张100分的试卷拍在我面前。我看了一下这个试卷,考得特别简单、特别基础,所以我就临时收回了自己的承诺。
当然今天有很多带着孩子的家长们,大家不要学我,教育的时候还是要真诚。
当我收回承诺的时候,我儿子显得特别无辜,但是也特别无助,因为他没有办法证明爸爸曾经许下的承诺。
所以第二次他有了经验。他找来了一个证人,找来了他的妈妈,让爸爸当着妈妈的面再去许诺。过两天小家伙又拿了一张100分的试卷回来,这时候我和我的爱人共同查阅了试卷,发现这次的试卷更加简单,基本上构不成奖励的理由,所以我们两个人又同时收回了承诺。
小家伙眼泪汪汪地明白了一个刻骨铭心的道理——单点记账并不可靠,证人是会叛变的。
所以第三次小家伙彻底吸取了教训,他找来了全家人,让爸爸当着全家人的面来许诺,并且他选择了他最信赖的奶奶,让她拍一个小视频,放到全家人的群里。
全家每个人的手机上都保留了一份相同的证据,这其实就用到区块链里面一个非常核心的思想——叫做共同记账。
共同记账机制有什么好处?
第三次,我再也没有办法收回自己的承诺,因为我一旦收回自己的承诺,我会被整个家族所唾弃。所以区块链很简单,就是用共同记账的思想,让人手一本相同的小账本,使得每一个人都不能再赖账,这就是区块链的精髓。
如何理解区块链?区块链其实就是特殊的软件数据结构,是一个账本技术。
我喜欢把它比喻成日常生活中的小本子,这个小本子有两个重要的要素,区块链上也有两个重要的要素。
第一个要素,小本子有一页一页的纸,每一个页的纸上清楚记录着,每一笔收入和每一笔支出。在区块链上,有一个关键的数据结构叫做“区块”,区块就是区块链账本里面一页一页的纸。
在区块里包含的也是一笔一笔的交易记录,但是区块链的交易范围更加广阔。它可以是这样一笔一笔的经济上的往来支出,也可以是两个公司之间的商业合同,还可以是一个知识产权的转移,甚至可以是爸爸对儿子的一句承诺。
凡是愿意被多方见证、被多方认证的信息,都可以成为区块链上的交易,记录在区块链账本中。
而且区块链在计算时,用了一个非常特殊的技术——叫做“数字签名”,用数字技术、公私钥加密,使得信息不可伪造,也不可抵赖。别人伪造不了我的签名,我也不能不承认我曾经签署过的东西。
再来看区块链第二个关键的数据结构——“哈希链”,它对应着账本中的一条线。一个本子没有这条线的话,就是一页一页杂乱无序的纸张,没有前后的顺序。但是有了这条线,就把一个杂乱无序的东西,穿成了一个前后有序的账本。
区块链上用了哈希链的技术,也会把区块链的账本穿起来。
传统小本子怎么记账?写完第一页写第二页,写完第二页写第三页,都写完了以后,如果想把第一页的一个数字改了,从一改成二很好改。
但区块链不这么记账。区块链是先写第一页,写完了以后拍一张照片,把它贴到第二页的右上角,然后开始写第二页,第二页再写完,再拍一张照片贴到第三页的右上角。
这样一本记完了以后很难改。想把第一页的数字从一改成二,需要重新拍照片,拍完照片以后,第二页的内容就变了。因为第二页的照片要重新更新,第二页也得重新拍照片。所以在传统记账方法下,改动可能只是改一点,而用了区块链记账,一旦改动就需要改一本。
所以区块链的数据不可删除、不可篡改。
02 压下葫芦浮起瓢?区块链需要协同优化
区块链作为一个年轻的技术,在发展的过程中一定会遇到各种各样的问题,比如技术、人才、成本、监管等等。
这些年来,我和我的团队在区块链的技术层面做了一些研究工作,今天很荣幸能跟大家分享几个故事。
第一个事例是做区块链性能优化的故事。相比传统的中心化账本,区块链现在的性能还是有比较大差距。这当然是因为区块链作为一个分布式账本,它的性能比较复杂,会受多重因素影响。就像一个木桶一样,木桶里面每一个板都至关重要,决定木桶容量的,永远是它最低的那块板。
我们做区块链性能优化时,会出现压下葫芦浮起瓢的情况。我清楚的记得我们曾经做了一套方法,来优化区块链上的计算,优化完了以后,在实验室上布了一个环境,测出来非常漂亮的结果。我们非常地高兴,就拿到现实的网络中去做,结果一测我们傻了眼,效果非常地差。
后来我们去探索背后的原因,发现是因为区块链上的性能由多种因素相互制约。在实验室环境里优化了计算,但付出了网络传输的代价。因为实验室环境网络状况很好,这个代价不是那么显眼,但是到了真正的互联网上,会发现把计算优化了,但是传输变得恶化。
怎么样解决这个工作?必须要协同优化。
我们提了三个层面的协同:第一个在区块链的内部,强调计算、传输存储、协同优化;第二个也强调区块链不能只有软件,一些特殊的计算,尤其跟性能相关的,采用软硬一体化设计的方法;第三点,把区块链的系统跟传统的中心化系统有效地协同起来,大家分工合作。
03 打破信息孤岛——区块链互联互通
我要分享的第二个研究工作是区块链的互联互通的工作。
区块链未来怎么发展我们不确定,但区块链有一个非常好的参照物——互联网。因为区块链在现在遇到的问题,其实很多都是互联网曾经遇到的问题。
我来自中科院计算所。中科院计算所历史上,做了很多我们很引以自豪的工作。比如说我们是中国第一台计算机的制造者,也是中国第一个CPU的制造者。
但是有一个工作我们相对宣传得比较少,其实我们也是中国早期互联网的主导者和参与者。我们当年用了世界银行的资助,把清华、北大和中科院三个节点连起来,形成了中国互联网的雏形,而且这些工作就是我们网络实验室的老前辈做的。
我特别愿意跟他们去请教。他们跟我说:你想想二三十年前互联网有什么问题?
一开始建了很多局域网,能解决跟同一个单位、同一个组织的人传递信息的问题。但是发展到一定时候,还想跟别的单位的人传递信息,怎么办?
那就要研究局域网和局域网之间的互联互通,于是有了互联网把局域网连起来。
区块链现在也是一样,一条一条的区块链都已经建好了。单条区块链能跟同一个联盟、同一个组织、同一个社区的人,传递价值、传递信任。但是未来一定有跟其他联盟的人传递价值、传递信任的需求。
这时候我们就要去研究区块链和区块链之间,怎么样互联互通。
我们团队曾经用区块链做了一个,我们自认为非常好的应用,希望能解决传统供应链金融里一个非常难的问题。
什么是传统的供应链金融?
传统的行业里,有一个核心企业,比如说华为。那么有一家公司给华为出主板,这就是华为的一级供应商;还有一家公司给这个主板出一块芯片,他就是华为的二级供应商;还有公司给芯片出电路设计,那么就是华为的三级供应商。
传统的行业里,按照供需关系形成了一个供应的链条,叫做供应链。核心企业在银行有背书,银行愿意把钱借给核心企业,因为银行信任华为。但是银行并不能因为信任华为,就信任给华为服务的这些小微企业,因为他没有办法证明这些小微企业值得被信任。
有了区块链技术,怎么解决这个问题?
我们让所有的这些节点,银行、华为,所有这个供应链上的环节共同进来,组成一条单一的区块链系统。这个区块链系统共同记账,记两两之间的供求合同、应收账款、产品的仓单信息。
我们把这些签名过的数据多方保存下来,银行就可以一目了然:原来这些小微企业是在给我信任的华为服务,所以我可以把对核心企业的信任,拆分成更小的粒度,沿着供应链向下传递。解决传统供应链金融里,信任难拆分、难传递的问题。
我们当时做完这个以后,非常地高兴,拿到市场上跟合作伙伴推广,但是一盆凉水浇下来。
市场上很多用户跟我们说,这里有一个非常理想化的情景:你要求我们所有的节点都加到同一个区块链上,但是我们实际环境中,有些节点就不能加到同一个区块链上。这中间有商业竞争的考虑,有政策的限制,甚至有的供应商本身也是一个核心企业,人家自己也有链,为什么要合到一条链上?
所以我们痛定思痛,研究怎样用跨链的技术来解决。企业还保持原来单独的区块链,我们用跨链技术来使得他们的信任,能从一条区块链传递到另一条去。我们提出了一些架构和方法,应该说还是认赢得了客户的认可。
04 疫情下的区块链应用
回到今天的主题——“2020,这一年”。
2020年,新冠疫情给我们的工作方式、生活方式,带来了很多前所未有的改变。比如说,传统的面对面地交流,在现在不得不远程借助于网络。而我们在远程沟通时,会发现相互信任变得更加困难,因为缺乏信任,效率更加低下。
有了区块链技术, 就再也不需要相信任何人了,只需要信任一项技术。让这个技术在一个互不信任的环境中,带给我们弱中心化、公开透明的系统。
疫情期间其实有很多好的应用,都用到了区块链的技术,比如说捐赠物品的信息保存。区块链技术可以让每一份捐赠都变得更公开、更透明、更真实、更可靠。
很多人会问我:你觉得区块链会是一个改变未来的技术吗?
我认为,即使区块链是一个改变未来的技术,当前阶段也不需要如此看待它。因为很多改变未来的技术,最开始也不是瞄着改变未来的目标去设计。
比如,区块链的大表哥互联网,最早期只能传文字,传个图片都费劲。到后面发展了十几年,出现了门户网站,大家觉得互联网最好的应用出现了。但是到今天,当互联网真正进入到衣食住行的方方面面时,没有人再会说它最初的应用。
所以对区块链也一样,不要着急给它描绘那么伟大的蓝图,只需要找到一到两个场景,扎扎实实地用好这个技术,解决现实问题,就足够有价值了。
因为我们相信好的模式一定是可复制的,一个点成功,多个点就能成功,最终就会形成全方位的成功。用这种眼光去看待区块链,也许几十年以后我们蓦然回首,区块链就成为了一个改变未来的技术。
所以来自各行各业的朋友,我希望大家都能勇敢地伸出你们的双臂,共同来拥抱这项充满希望的新技术——区块链。
谢谢大家。