Quantstamp项目分析

Quantstamp是一个基于以太坊网络智能合约的安全审计协议,它的目的是为了解决智能合约的安全、审计的问题。

一 智能合约存在的问题

安全问题:

智能合约就是一段程序,程序出现bug和漏洞是很正常的。事实上也出现了好多因智能合约漏洞而导致损失大量数字货币的例子。这是一个必须处理的问题。

审计问题:

目前验证智能合约需要通过专家来审计,这个过程是昂贵且容易出错的。随着区块链的普及,后续智能合约的数量必将指数级增长,智能合约出错所导致的成本也将变得越来越大,这也迫切需要有一种能够更好地对智能合约进行审计的方案。

以上两个问题就是Quantstamp打出处理的问题。痛点确实存在,也很迫切,如果安全无法确保,则区块链的资产一切就无从谈起。安全的问题是非常显眼的,这是一个必须解决的问题,对于这个问题的处理肯定不只有Quantstamp这一个方案。我们必须要参考多个实现方案,权衡之后才可以判断哪个最佳。当只有一个选项的时候,我们当然很容易先入为主,产生偏见。

二 Quantstamp解决方案

下面要先看看Quantstamp打算如何利用区块链去解决这个问题。

Quantstamp协议分为两个部分:

1)一个用于检查Solidity 程序的自动、可升级的软件验证系统。
2)一个用于激励人们找到智能合约漏洞的奖赏系统。

更加具体的场景如下:

  • 智能合约的创建者创建了一个合约(创建者必须拥有一定量的QSP币用于奖赏后续对智能合约有贡献的参与者)。
  • 贡献者提交一些关于此智能合约可靠性、安全性的代码(获得一定的QSP币)。
  • 验证者(矿工)提供算力,运行Quantstamp的验证节点(获得一定的QSP币)。
  • bug发现者提交bugs,终止智能合约(获得QSB币)。
  • 合约使用者,使用安全审核过后的结果-合约。
  • 投票者,基于QSP令牌的投票机制是治理的核心。

这个设计很简单:

在利益的驱动下,人们自发地去校验智能合约的安全问题。

三 如何改进智能合约

提升智能合约的基础设施

1. 协议允许终端用户直接提交校验程序

由下而上的校验机制,防止了之前由上而下的单一节点的失误所带来的巨大损失。

2. 激励矿工去运行校验节点

优化智能合约开发者的开发过程

智能合约的开发者将智能合约提交到Quantstamp网络去进行校验,得到私人报告和公开的报告和一份已经校验过的智能合约。通过利益去驱动Quantstamp网络去校验智能合约,通过成本去提高开发者的代码质量。


优化智能合约开发者的开发过程

四 相关的技术

下面稍微看看Quantstamp用到的一些技术。
主要包括前沿的校验算法+区块链技术。

校验协议(Validation​ ​Protocol)

校验协议是审计证明(proof-of-audit)的一部分,运行在校验节点中。这里描述了一个囚徒困境的问题。

如果一个黑客发现了bug,他究竟是选择通过Quantstamp去接受赏金,还是等待未来发动一次攻击呢?

攻击者想要通过攻击安全漏洞获得收益,他必须假定没有其他验证者不会发现相同的错误。由于未协调验证者的数量很大,所以其他验证者很可能会发现错误,并为了获得奖励而报告并修正错误。

安全校验引擎(Security​ ​Audit​ ​Engine)

从输入输出去看待Quantstamp协议:

输入:奖励+未校验的智能合约
输出:报告+校验过的智能合约+奖励

安全校验引擎(Security​ ​Audit​ ​Engine)

整体架构一览(Architectural​ ​View)

包括三个部分:

  1. 校验过后的智能合约
  2. Quantstamp网络(QN)
  3. Quantstamp报告
整体架构一览

谍报技术(Tradecraft)

包括了计算机辅助推理工具(SAT solvers和SMT solvers)、模型检查(Model-checking)、静态程序分析(Static​ ​program​ ​analysis)、Symbolic​ ​execution​ ​and​ ​Concolic​ ​Testing(主要作用就是找程序的bug)

增量发版和订阅模式(Incremental​ ​releases​ ​and​ ​the​ ​subscription​ ​model)

这个没什么好说的,普通的软件现在都是增量发版的。

Bug发现者(Bug​ ​Finders)

激励、奖赏开发者去对代码进行审查,找到智能合约的bug。开发者是对整个智能合约最熟悉的一群人,Quantstamp协议也必须调动这部分人的积极性。这里有一个问题:开发者会不会因为个人利益,故意制造一些bug,然后后面通过提交bug来获得二次收益?这个顾虑应该没有,因为最终为这些bug付款的就是开发者所在的公司/组织,这个公司/组织会根据Quantstamp去分析这个bug最终归属在哪个开发者。

安全揭露策略(Security​ ​Disclosure​ ​Strategy)

为了避免攻击者以安全报告、安全校验库作为线索去发现智能合约的安全漏洞,Quantstamp必须确保安全报告的加密性,要在安全库公布之前让智能合约的漏洞得到修复。

分布式并行SAT(Distributed​ ​and​ ​Parallel​ ​SAT)

以太坊/Solidity的一些共有的脆弱点( Common​ ​vulnerabilities​ ​for​ ​Ethereum/Solidity)

五 融资计划

融资计划

六 团队分析

团队成员除了一堆博士教授头衔,很难看出什么东西。整体的印象还是比较靠谱。

康奈尔大学的Richard Ma博士
Vajih Montaghami博士
美国滑铁卢博士候选人
顾问:
Vijay Ganesh博士,UF Waterloo助理教授Evan Cheng,Facebook工程总监
Dr. Derek Rayside,P. Eng。,副教授

总结

智能合约的安全、审计问题确实存在,而且随着区块链的普遍应用,智能合约的数量也将指数递增。Quantstamp提供了一种分布协作、自下而上的处理机制,即在利益的驱动下,人们自发地去校验、审计智能合约。技术上没有什么创新的地方,主要是使用已有的技术进行组合使用,也就是说技术上的风险不大,所以做出来是没有问题的。

特别强调,人们往往会担心这样的问题:验证者发现bug之后,会不会选择不接受赏金,并利用安全漏洞获得更大的收益?
根据囚徒困境原理,发现问题的校验者会选择修正错误尽快获得奖励。因为协同、勾结所有知道这个漏洞的人不去修正错误这个任务的成本是非常大的,是不可能完成的任务。

整个Quantstamp项目是逻辑自洽的,是可以自圆其说的。

我现在只是从白皮书对Quantstamp进行了分析,分析的肯定不全面。后面还需要从更多的维度去分析项目,并关注项目的进度。

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

推荐阅读更多精彩内容