区块链加持下,你的版权你做主
Posted
图片版权所属:站长之家
数字经济时代是一个科技至上的时代,更是一个版权裸露的时代。
今年 4 月,视觉中国因黑洞及国旗国徽图片导致的版权维权争议,引发了公众对“版权碰瓷”行为的关注。
艾媒咨询数据显示,78.8%的受访企业认为,视觉中国的维权方式属于敲诈,而超过四分之三的受访企业解决版权纠纷耗时在 3 个月以上,且69%的受访企业认为处理“版权碰瓷”纠纷已成为企业的负担。
“版权碰瓷”现象愈演愈烈,对社会秩序已造成严重干扰,侵权企业缺乏社会责任感的行为理应遭到抵制。
版权保护关乎所有原创者的利益。目前,国内版权保护方案并不能有效解决版权纠纷问题。
如何利用先进技术有效解决版权问题,已经成为当下亟需解决的社会问题。
5 月 11 日,深信科创CEO杨子江、清华大学助理教授姜宇、版权区块链联盟秘书长郝汉,在FISCO BCOS开源社区举办的“巡回Meetup2019”活动中,以“区块链版权落地,用技术消除纠纷”为主题,并结合相应的实践案例进行分享。锌链接作为产业区块链第一媒体,对此次活动进行跟踪报道,以下是分享内容,有删减:
区块链代码质量与安全
社会依赖软件技术的发展,但随着软件深入到我们生活的方方面面,软件的质量和安全发展已到达拐点。
IT从业者一致认为软件安全很重要,但广场舞大妈可能对此并不感兴趣。而现在的软件安全已经到2C阶段了,对每个人都至关重要。
在金融软件应用方面,目前主要有两个痛点:
深信科创基于区块链的自动检测系统,能够降低测试成本。可以自动分析智能合约,发现漏洞。尽量不要有误报的前提下,发现真实的错误。
我们在做测试的时候,发现有一些智能合约,地址看着没有问题,但是这个地址是不存在的。所以针对特定的应用领域,要做特定的分析,找到所关心的安全漏洞在什么地方。
如果只是做通用软件,效率非常低,只能找一些通用错误。比如说出零错,出零错对于任何软件可能都是错的,但是问题是,对于版权的应用,它的业务逻辑错误到底在什么地方,这个是没有办法查到的,所以需要找到一些优化的算法。
把智能合约转换成一个流程图,提高效率。当找到很多的漏洞时,哪个是要立刻来修复的,用一个公式来排个序,排序首先就看路径,因为一条路径可能有多个安全漏洞在里面,另外一方面我们比较倾向于短的路径,因为越短的路径错误越好修复。所以我们首先汇报漏洞很严重,并且最短的路径给用户来做修复。
对于智能合约来说,用符号执行的效果还是非常不错。代码量比较小,我们汇报的错误基本上都是真的错误,误报率非常低,但是我们试图用符号做比较大的程序,效果并不是特别好。
所以针对大型程序需要用动态检测,动态检测不是简单地跑一下,用大量优化来尽可能发现更多的错误。这方面不是一个简单的解决方案,没有办法保证整个程序的正确性,本质上还是一种辅助手段,本身代码在做的过程中要规范,技术要过硬,尽量从设计、开发各个方面来减少代码的错误。
现在的工业级代码,平均每千行里面,就有七个错误,软件错误是很难消除的,以致于有人说,软件是人类历史上所创造的最复杂的人造体,所以保证软件的质量和安全性是一个任重而道远的过程。
虚拟机安全
目前区块链用得很广泛,无论是游戏领域,还是金融领域,都有特别多相关的应用,也在我们日常生活里面占据了很重要的位置。正是因为这种应用的普及,导致了交易的安全也引起了很大的关注。
解决交易的安全问题,第一是研发相关的安全评测工具进行智能合约安全检测,第二是除了智能合约之外,我们还应该看到底层的一些这样的基础设施平台,如虚拟机。
底层虚拟机如果存在缺陷、漏洞,就会带来更大的安全问题。所以我们不仅仅要在智能合约层次上保证安全可靠,在底层的虚拟机或者设施层也要想办法去保证安全。
但现在很少有人去做这种虚拟机的测试和验证,去保障它的安全。很大原因是因为,虚拟机的代码量特别大,输入也特殊,传统的解决方案误报率太高。
我们提出虚拟机的加固和测试工作,通过EVM加固的办法,规避智能合约测试找不到的合约漏洞,通过差分测试去对EVM本身进行测试挖掘EVM的漏洞。
虚拟机加固是通过实时监控合约的执行进行实时防护,一旦遇到风险,立刻阻断执行。EVM测试是通过执行结果的差异性进行对比。
举一个简单的例子,假定在某一个场景里有一辆百度的自动驾驶汽车,有一辆华为的自动驾驶汽车,给它同一张左拐的图片,如果华为的车左拐了,而百度的车右拐了,那我们就知道,这两个里面肯定是不一致的。
这时候我再把谷歌的自动驾驶车引入进来,谷歌的也是左拐,那就可以发现,谷歌和华为都是往左拐,百度却是往右拐,这里面可能百度是有错误的。
利用差分测试,检测出bug,是目前最有效的一个技术解决方向。首先,需要在EVM的层次上去做一些插装,获取一些我关注的信息。然后去分析这些信息导向合约的变异和生成,观测有没有违背一些属性,如果违背就停止。
来源:锌链接公众号
此文章 短链接: http://dlj.bz/slN2QR