EOS智能合约开发系列(19): 合约应当开源

前面几篇文章,我们谈的都是技术问题;这篇文章,我想谈谈我对dapps中智能合约开源的观点和立场问题。

为什么智能合约应当开源

任何代码都可能存在猫腻,注意我没有用漏洞这个词;这个猫腻也可能是漏洞,也可能是合约开发者本身想从用户的账号上得到些什么。

我们知道合约的执行,是由用户或者其他合约发送action消息而启动的。用户在发送action消息的时候,会用某个许可对该交易进行签名;于是合约的对应的action handler也就是在用户的某个许可下进行的。不管这个许可是什么、有什么权限,如果这个许可下面有什么可以利用的猫腻,合约就可能因此而损害用户的利益。就以上面的狼人杀案例来说,用户很可能一不小心就把自己的某个权限比较大的许可授权给了合约。

再举个具体的例子吧。比如目前EOSBet这类游戏,如何判断输赢,概率的计算是否真如官网说的是公平的呢?如果没有把合约代码开源,谁也无法肯定,说不定人家表面上说概率是49%,私下里却把概率调到48%呢,这种微小的差距,用户是很难感知的。

那么这类游戏如果不开源,就和采不采用区块链没有太大关系,采用区块链就只是噱头了;虽然你能看到你的下注记录,但却无法知道每局游戏中,你是怎么赢、怎么输的,因此也就无法判断官方有没有作恶。

开源还需源码验证功能

开源就够了吗?

还不够,因为项目方很有可能公开的是一套代码,而实际使用的是改了参数的另一套代码。EOS有个功能挺好,它可以给每个编译后的代码都生成了一个hash,如果源码有一点点改动,导致编译后结果发生变化,那么这个hash值也会发生变化。也就是说,我们可以通过hash值有没有变化,来判断项目方开源的和实际使用的代码是否是同一个套。

荆凯大神有篇文章,提到了eospark提供源码验证功能。这对于社区来说,是个很好的功能。eospark正是利用上面介绍的原理,看检测项目方提供的源码是否与官方部署的合约一致。如果不一致,eospark会给出警告提示:

Screen Shot 2018-08-31 at 07.59.29.png

希望能有更多的站点提供这种源码验证功能,也希望项目方都能把合约源码公开出来,接受社区的监督。

合约开发者的准则

作为合约的开发者来说,我们应该坚持不作恶的原则,并敢于把代码开源出来。;这样,一方面,用户也会比较放心使用我们的服务;另一方面,我们自己也能问心无愧。

简介:不羁,一名程序员;专研EOS技术,玩转EOS智能合约开发。
微信公众号:know_it_well
知识星球地址:https://t.zsxq.com/QvbuzFM

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,693评论 2 59
  • 回老家住了五日,奶奶的厨房便没闲着,叮叮咚咚,呲呲作响,一道道佳肴弥漫的香气,伴随着蝉鸣和夏日暖意,让人生出...
    不寻不问阅读 269评论 0 2
  • 此为王烁老师在 Yela 大学游学期间写的《极简谈判课》系列文章的总结整理,主要的课程来自 Yela 大学博弈论专...
    二郎会阅读 1,007评论 0 3
  • 想说的有千千万万,最终说出口的却只是“今天天气真好啊”。
    默沉沉阅读 480评论 0 0
  • 曾经的忙忙碌碌,走路都是大步流星,为的就是能够压榨出更多时间陪你。 有人说,如果你想讨厌一首歌,把它设置成闹钟铃声...
    琪虎难下阅读 105评论 0 1