4月20-22日,区块链LongHash东京黑客马拉松(LongHash Tokyo Hackathon)在日本东京举行,参赛选手来自全球12个国家和地区,共计137名区块链相关专业人士。选手以2-5人/小组的方式组成32支队伍,针对当前区块链领域的热点问题展开讨论。大赛围绕「去中心化」和「安全」两大主题,确立了「去中心化交易平台」、「区块链 人工智能」、「区块链 物联网」三个开发比赛目标。
经过48个小时的连续工作,北京大学信息安全实验室刘超、李安然、陈继业三位同学组成的团队在陈钟教授的带领下,成功晋级到第二阶段六支队伍的公开演示环节。最终小组成员凭借深刻的问题理解、完善的方案设计,以及展示阶段出色的临场表现,获得大赛唯一一个一等奖。
近日,区块链大本营(以下简称「大本营」)采访了这个获奖的团队,请他们谈谈获奖的台前幕后、参赛的心得、各自对于区块链学习的历程,以及对于区块链技术方面的思考。
结缘区块链
大本营:听说这次比赛「信息安全实验室」的6名同学都报名参加了,请谈谈你们参赛的原因和经过。
陈钟:我们是在微信公众号上得知这次比赛的。对于黑客马拉松这种比赛形式并不陌生,早在2015年上海国际黑客马拉松时我们就参加过,还拿到过优胜奖。去年我去美国参加Consensus 2017大会也有黑客马拉松环节。这次决定参赛有两个原因,第一,我们现在有更多的同学在区块链这个方向上做研究;第二,大赛官方承诺如果进入前十可以报销路费,而且日本也不远,所以就在报名快要截止的时候决定参赛了。
大本营:请介绍一下这次获奖团队的成员。
陈钟:获奖团队的三位成员均来自北京大学信息学院信息安全实验室,其中博士生、研究生和本科生各一名,分别为刘超、李安然和陈继业。三位成员对区块链及相关领域各自有半年到2年不等的研究实践经验,目前也均在我和关志副研究员领导的团队中从事区块链相关技术的研究工作。
大本营:涉足区块链出于哪些契机?
刘超:我第一次接触到区块链是在2015年末的时候,当时也是准备参加一个区块链黑客马拉松比赛,所以就在实验室关志老师的指导下短时间内阅读了几篇比特币和区块链的综述论文,算是对比特币和区块链的工作机制有了初步的认识。阅读过程当中,比特币在系统上的一些精妙设计给我留下了很深的印象,这可能也是后来我真正开始系统性了解和研究区块链的原因之一。
李安然:我接触区块链更多的是由于实验室的原因,在研究生选择方向的时候加入了区块链研究小组,之后对区块链技术不断的学习和深入。
陈继业:我第一次接触到区块链技术是在信息安全概论课。在此门课我对区块链技术有了初步的了解。由于感觉区块链技术非常有意思,从此我就开始深入研究此领域。至今,我接触区块链技术有半年多了。
LongHash获奖背后
大本营:请介绍一下你们在这次大赛中的作品。
刘超:我们的题目来自比赛的三个主题之一,即在Cybex加密货币交易平台上实现一个原子交换协议。原子交换是指在不需要可信第三方(比如支付宝)的前提下,实现不同加密货币之间的安全交换。比如说Alice持有比特币,Bob持有莱特币,他们都想交换获得对方持有的货币;如果在Alice和Bob之外不存在一个可信的第三方作为中介,这就需要提供一种协议来帮助他们完成这个交换。
在准备方案之前,我们首先对现有的原子交换协议进行了调研,也包括Cybex目前实现的协议,总结出不同方案的要点,这些要点在后面的方案设计时也得到充分体现。我们发现,对于同时支持CLTV(CheckLockTimeVerify)功能的加密货币,比如比特币和莱特币之间,已经存在很好的原子交换协议。而如果交易一方不具有CLTV功能,就需要用到其他的方法。对于后一种情况,Cybex现在实现的协议中有用到Cut and Choose技术进行密钥信息证明,这个过程需要较大数据量的交互和信息交换。
我们的想法是在协议中去掉Cut and Choose这一过程,改用一些轻量级的操作。我们发现,在Cybex上加入一个支持分支操作的时间锁机制就可以满足这一要求。在实现上,我们基于Cybex平台原有的Vesting Balance功能,为其增加了一个带有密钥的赎回机制,并使其满足分支结构。我们最后的方案示意图如下。
大本营:在设计和开发这一作品的时候,你遇到过哪些技术挑战?
刘超:在设计方案的过程中,最大的困难可能是需要对原子交换现有的协议进行深入调研,了解每种协议中每个步骤的意义所在,从中提取出每种协议的关键点。我们团队在比赛过程中花了很多时间去调研和思考,不仅需要考虑到协议在实施过程中的简易程度,还要考虑到交换双方所使用数字货币自身的情况。在开发过程中我们巧妙地利用了Cybex自身的特性,大大减少了开发的工作量,但是由于大量的时间被用在方案的设计上,最后只是在Cybex上简单实现了我们的方案,没有足够的时间来验证代码的正确性。
大本营:⼤赛中还有哪些其他参赛者的作品令你印象深刻?
刘超:我记得比赛里面有很多小组选择了比特币地址可视化和数据挖掘相关的题目,印象最深的是来自卡耐基梅隆大学的一个小组(本次大赛的第二名),他们的演示做得非常好,幻灯片很专业,三位同学的演讲也很有吸引力,并且我自己对比特币区块链上的数据挖掘也很感兴趣。
下图为卡内基梅隆大学团队针对比特币交易可视化的相关研究结果,其中红色结点为交易所地址,绿色结点为普通用户地址。
李安然:我记得有一个做地址分类的项目,他们使用人工智能的方法去对地址相关的信息进行分析,并且在展示的时候使用很多可视化的工具来演示,看起来特别的炫酷。
陈继业:给我留下了深刻印象的作品是CMU大学小组做的地址分类项目。他们通过人工智能技术把地址进行分类。他们最终以三维模型来展示结果,效果不错,做的演讲也非常好。总之,本人感觉他们做得非常不错。
大本营:除了原子交换,⽬前你还关注区块链的哪些领域?最关注的⼈⼜是谁?
刘超:我最关注的是区块链智能合约相关问题,包括智能合约的编写、测试、验证、执行、优化等,最关注的人是以太坊创始人Vitalik Buterin和Gavin Wood。
李安然:比较关注区块链领域共识算法这一块,比较关注的人的话可能是Vitalik Buterin吧。
陈继业:目前我最关注的区块链领域是大规模私钥的管理算法和用户隐私保护。比较关注的人是Bitcoin Core开发者Gregory Maxwell。
大本营:这次⽐赛中你的最⼤收获和遗憾分别是什么?
刘超:最大的收获是通过比赛了解到很多其他团队对区块链相关技术的实践和思考,自己也对之前不是很熟悉的原子交换问题有了较为深入的认识,同时还发现了小组同学们在压力下原来能够爆发出那么大能量。最大的遗憾是没有能够多认识几个朋友,并借这个机会同来自世界各地的区块链人才更多交流。
李安然:本次比赛最大的收获应该是对原子交换有了一个全面的认识,同时也比赛过程中遇到了很多区块链领域的大牛,和他们沟通提升了自己对区块链认识。最大的遗憾可能是虽然我们设计出了完善的方案,但是在设计上花掉的时间太多了,最后剩下的时间只够实现代码,没办法去验证我们实现的正确性,有点不够完整,这应该是我们此次比赛的最大遗憾吧。
陈继业:通过此比赛,我感觉自己学到了很多新认识,对原子交换有了深入的了解以及认识到了很多区块链优秀人才。最大的遗憾是由于比赛时间限制导致没有太多时间可以和其他参赛者多交流,交朋友。
大本营:通常你是通过哪些渠道/资源⾃我学习?
刘超:我们主要是通过阅读学术论文、项目文档以及GitHub源代码的方式来学习和了解区块链技术。开源代码方面,主要有:比特币、以太坊、Hyperleger Fabric。另外也会通过实验室小组内的讨论来深化大家对相关问题的认识。
大本营:整个东京之旅中,哪些事物给你们留下了深刻的印象?
刘超:比赛的组织工作进行得非常好,第一天晚上会有专门的工作人员带我们回到临时的住处,还有主办方提供的胶囊旅馆也很好、很特别。另外我发现东京的街头给人一种井井有条的感觉,节奏很快但不会觉得乱,有一种很有秩序的感觉。
李安然:当地的人们都很热情,记得在刚到东京的时候,第一次坐地铁不太会使用他们的购票系统,旁边的阿姨很主动地过来教我们买票。
陈继业:海胆刺身太好吃了!
北大与区块链教育
大本营:北京大学是什么时候开始关注区块链这一方向的?
陈钟:北大可能是高校里面,研究生研究区块链选题最早的高校之一了,在2011~2014年间,就有一些研究生做这方面的选题。再往前推,早在1996年David Chaum(传奇密码学家)的数字现金技术(DigiCash)刚出来的时候,我们的实验室就对其整个的底层网络算法,到它的整个设计模式进行了研究。
大本营:目前,北大对于区块链是否有系统教学?
陈钟:这个学期,我们正式开了一门区块链的课程,在软微学院(软件与微电子学院)。这一安排只面向研究生,主要跟产业发展结合的较紧密。在本科生这边,我现在所在的计算机系在今年的算法设计与分析课程里,加了区块链的小班进行研讨性教学。15个小班中有两个小班大约27人选择了区块链专题,所有学生研读5篇论文,最后做一个project。此外,今年秋季,我们还会跟千人计划的一位教授,合开一门本科生的学分课程,叫做「区块链理论与技术」。
大本营:这些课程包含哪些内容?
陈钟:软微学院的课程因为是面向软件技术和金融信息工作方向的学生,所以会包含数字货币,及其在金融场景中的应用。也会请一些知名区块链公司的从业者开设讲座。
本科生的课程围绕算法设计和分析,刚才提到所有学生会研读5篇论文,其中2篇是关于算法和计算复杂性理论的,剩下3篇的内容是关于比特币、以太坊、零只是证明的代表性论文。最后做一个project,这个project可以看成是一个完整的系统,包含一些算法、分布式体系的研究、开发和最后的评价。最后,学生还要完成一篇技术报告。
总体来看,本科学生的课程有48个学时,学生可以系统地从理论基础、技术特征、相关问题的研讨几个维度展开学习。
大本营:目前区块链领域还有哪些问题需要解决,哪些方向值得关注?
陈钟:总体而言,区块链从技术上还是有很长的路要走,无论现在的比特币还是以太坊,尽管它们迈出了关键的一步,但从整个应用场景上来看的话,还只是一小步。如果站在一个全球计算技术的发展和信息化发展的角度,运用区块链的技术完成一个信息社会快速发展的目标来看,它还有很长的一段路要走。
举个例子,智能合约完成了一个「无须干预」的理想目标,这是一个美好的目标。但实际上把它真正实现到真实的应用场景,哪怕只是金融领域的应用场景中,目前也还有很多难题没有很好地去解决。这也是为什么我们也保持着跟国际上的一些知名高校的合作。因为高校在介入的时候,不光是去做应用、做发币、做交易,更多的还是针对应用场景中的难题去突破和解决。
刘超:我认为目前区块链技术最主要的问题有两个:一个是性能;另一个是安全性。性能的话提到最多的就是TPS和扩展性不足。安全性上可以表现为很多方面,包括软件漏洞、网络攻击等等,隐私也是最近比较热点的问题之一。拿我比较熟悉的以太坊平台来说,这两年有关智能合约安全漏洞导致的攻击事件层出不穷,每一次的后果都很严重,动辄数千万美元的损失。除了智能合约以外,针对结点客户端的攻击也时有发生,同样造成了重大的损失。另外,还有一点我想补充的就是,以太坊平台的DApp或智能合约在设计开发和安全性验证上还存在工具有限、完成度不高的问题,这也在一定程度上造成相关安全事件频出的问题。