作者 | Oasis Labs

译者 | Guoxi

出品 | 区块链大本营(Blockchain_camp)

作为一种新事物,人们通常对区块链都存在或多或少的误解,其中最具争议的莫过于区块链的安全性。

有些人认为区块链是划时代的创造,通过一系列先进的密码学机制保障了整个系统的安全性;而有些人则认为,区块链只具有化名性而没有匿名性,所以区块链是不安全的。

为什么会产生这种撕裂呢?因为此“安全”非彼“安全”,这些人对区块链安全的定义是不同的,自然得不到统一的结论

那什么才是区块链的安全?区块链又是否安全,让“互联网安全教母”,加州大学伯克利分校计算机系教授 Dawn Song 为你揭开区块链安全的神秘面纱

Dawn Song,加州大学伯克利分校计算机系教授,Oasis Labs创始人兼CEO,被媒体誉为“互联网安全教母”。研究方向包括深度学习、机算机和网络安全、区块链等。

曾获麦克阿瑟奖 (MacArthur Fellowship),古根海姆奖(GuggenheimFellowship),斯隆研究奖 (Alfred P. Sloan Research Fellowship),《麻省理工科技评论》“35岁以下科技创新35人”奖 (TR-35 Award)等;是计算机安全领域中论文被引用次数最多的学者(AMinerAward)。

针对上文人们对于“安全”定义的感官撕裂,作为安全教母,Dawn Song和她的团队不久前发表了一篇博文,力求拨乱反正,让开发者真正了解区块链安全的本质

下面我们就一起跟着Dawn Song教授和她的团队,一起看看她的思考。原文虽然只有短短2000来字,却一语道破了区块链安全面临的尴尬处境

以下为原文。

安全是计算机科学体系中老生常谈的一个话题,尤其在区块链领域中。当一个项目大肆宣传安全性时,它提供了怎样的安全保证呢?换句话说,现有的区块链是否在核心的安全性方面仍存然很欠缺

要回答这些问题,首先我们需要清晰地定义什么是安全性。

在这篇文章中,我们主要讨论以下3个话题

  • 当前区块链的安全性;

  • 为什么说保密性和隐私性是当前区块链最核心但也是最欠缺的属性,以及,

  • 我们该如何来完善区块链。

安全性的经典定义

在安全性的经典定义中,我们假设 Alice 和 Bob 想要共同运行程序 f(x,y)。该程序的输入是保密的:其中 Alice 仅知道 x , Bob 仅知道 y 。

这里的挑战在于 Alice 和 Bob 都希望在不让对方知晓自己输入数据的情况下得到计算的结果。

如果我们有一个想象中的可信第三方( Trusted Third Party,TTP )存在,这个问题就会简单地多,这个可信第三方会同时接收 AliceBob 的输入数据,诚实地执行该程序,并可靠地向双方返回计算结果。

除了这些操作之外,这个可信第三方不会做任何其他事情,特别是,可信第三方不会告诉别人任何有关 xy 的信息。

Alice 和 Bob 在可信第三方(TTP)的帮助下使用保密的输入运行程序 f(x,y)

所以,定义协议安全性的一种方法,就是将其与这个可信第三方进行比较。上述可信第三方定义的安全性具有以下三个关键属性(有时它们被称为 CIA 属性):

  • 保密性( Confidentiality ):Alice 和 Bob 除了各自的输入数据和计算的结果之外,得不到任何有关计算的信息;

  • 诚实性( Integrity ):可信第三方返回的结果是程序 f(x,y) 在给定输入下的正确计算;

  • 可用性( Availability ):Alice 和 Bob 可以随时访问这个可信第三方。

但在现实世界中是否真的存在我们想象中的可信第三方呢?事实上,并不存在

但如果我们做出一些具体的假设,就可以近似得到一些可信第三方。比如说,银行和政府部门的声誉、社会地位以及其他相关因素,让许多人将他们视为可信第三方。

另一方面,智能合约是在不需要信任中心化实体的情况下实现可信第三方的核心手段。但智能合约并不是万能的,在有些情况下,智能合约面对某些情况也无能无力

智能合约的短板

当人们谈论比特币和以太坊的安全性时,实际上他们只是在谈论区块链的诚实性( integrity  )和可用性( availability ),而不是保密性( confidentiality  )和隐私性( privacy )。

比如说,以太坊拥有一个由数千个节点组成的区块链网络,每个节点都独立维护着以太坊区块链的完整备份。当你通过以太坊网络上的某一账户执行智能合约时,在智能合约被记录在区块链中之前,它的执行将被所有挖矿节点验证。

因此,如果大多数的哈希算力都由遵守以太坊协议的诚实节点掌控,那么你智能合约的运行结果将会是正确的,这种正确计算实现了区块链的诚实性。

以太坊网络还提供了一些可用性保证:与中心化实体(多台服务器可能位于同一个数据中心中)不同,以太坊网络的“服务器”去中心化地分布在世界各地。因此,虽然说某些节点可能会因为某些突发情况宕机,但所有节点同时宕机的情况不太可能发生。

但以太坊和许多其他区块链项目缺乏的都是保密性和隐私性

人们通常都对区块链存在一个错误的认识,就是说因为参与到区块链网络中不需要提供姓名和身份证号,所以它是隐私的。不幸的是,这是一种极具误导性甚至是危险性的谬论

仅仅因为人们使用假名并不意味着他们在区块链上的活动是不可见的。实际上,由于交易活动中的每一个数据(例如在以太坊上:交易双方的地址,交易金额,燃料价格等信息)都被记录在公共账本之上并向所有人公开,因此有一些方法可以用来推断出用户的隐私信息(就比如说,使用交易网络结构来检索明文交易信息)。

此外,随着越来越多复杂的去中心化应用程序的上线,用户的数据逐渐成为信用评分,保险业务和身份管理等去中心化应用的重要推动力,而在以太坊上,智能合约的输入数据需要被保存在区块链上并向所有人公开,因为只有这样所有节点才可以执行交易的验证。

在过去的几年中,许多加密货币项目试图通过使用诸如零知识证明之类的密码学技术来解决区块链上数据保密性不足的问题。但其中许多项目都聚焦于简单的支付交易,而不是像机器学习和数据分析这类更为复杂的应用

数据隐私性如何实现?

上文中提到的保密性是实现数据隐私性的重要先决条件,但需要指出的一点是保密性通常不足以实现数据的隐私性。

具体而言,保密性侧重于保护在计算过程中不泄漏敏感信息,它保证除了计算的输出之外,计算过程中不会泄露任何内容。但是它并没有解决计算输出中存在的潜在数据泄漏

换句话说,即使有完全保密的计算过程,攻击者仍可能会从其输出中复原出有关敏感输入的信息。

再回到上文中提到的 Alice 和 Bob 的例子,保密性意味着 Alice 和 Bob 只能得到计算的结果 f(x,y) ,而攻击者什么都得不到。除此之外,数据的隐私性还要求,不能从计算结果 f(x,y) 中复原出 x 和/或 y 。

一个简单的反例是 f(x,y)= x + y ,其中 Alice (知道她的输入 x )可以在给定结果 x + y 的情况下立即推算出 Bob 的输入 y 。举一个我们最近和Google一起研究的例子,机器学习模型可能会泄漏出训练数据中的敏感信息。我们将那些不会通过计算结果泄漏出输入数据的计算称为隐私性的计算例如,差分隐私( Differential Privacy ,  DP )是实现隐私性计算的一种方法

那么区块链上的数据隐私性该如何实现呢?一个想法是,在区块链上构建一个隐私第一的云计算平台。为了实现数据的隐私性,开发者可以在云计算平台的每一层都建立了隐私保护措施,在计算层中启用了保密性措施保护智能合约的执行,以防止在计算过程中泄漏任何敏感信息,并在应用层中实现了隐私保护的数据分析和机器学习,包括差分隐私,以防止在计算输出中泄露敏感的输入信息。

关于这一点,Oasis Labs专门设计了一种新的区块链架构,以实现具有高可扩展性的去中心化信任。

关于此架构,营长会在团队下一次更新时,一并奉献给大家。

 — END —

扫码报名 | 免费技术公开课

技术架构 | 应用架构 | 安全 | 隐私

推荐阅读:

  • 波多野结衣“币圈地震”后,区块链成人产业正肆意生长,还说“技术无罪”?

  • 虎口夺食! 打破Facebook谷歌垄断, MIT大神和他的区块链数据库传奇! |人物志

  • 30岁的万维网活不长了! 蒂姆·伯纳斯·李要借去中心化亲手杀死它, 你再也不用担心...

  • 第一批 90 后程序媛已爆发焦虑症 | 程序员有话说

  • 再见,中国移动 3G!

  • 杨超越第一,Python第二

  • 以安全之名:2019年DevSecOps社区调研白皮书解读

  • 那些简历造假拿 Offer 的程序员,后来都怎样了?

点击“阅读原文”,打开 APP 获取更多干货哟!

好文!点「好看」哟~

麦克阿瑟奖得主Dawn Song:区块链能保密和保护隐私?图样图森破!相关推荐

  1. 数字货币,公共账本,智能合约?全是伪命题!曾改变乔布斯的图灵奖得主,谈区块链的真正价值...

    Butler Lampson对分布式计算环境,个人计算发明与实现贡献卓著,包括:工作站.计算机网络.操作系统.程序语言.显示技术.安全.文档排版等. --图灵奖委员会,1992年 鲜有人能同Butle ...

  2. [灌水]《老兵不死》——麦克阿瑟的告别演讲

    [灌水]<老兵不死>--麦克阿瑟的告别演讲 信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 麦克阿瑟简介:       道格拉斯·麦克阿瑟(Douglas MacA ...

  3. 老兵不死(麦克阿瑟的告别演讲)

    麦克阿瑟简介:          道格拉斯·麦克阿瑟(Douglas MacArthur),美国陆军五星上将.出生于阿肯色州小石城的军人世家.1899年中学毕业后考入西点军校,1903年以名列第一的优 ...

  4. 责任,荣誉,国家(道格拉斯·麦克阿瑟82岁时的西点告别演说)

      As I was leaving the hotel this morning, a doorman asked me, "Where are you bound for, Genera ...

  5. 老兵不死——麦克 阿瑟

    今天早晨,当我走出旅馆时,看门人问道:"将军,您上哪去?"一听说我要去西点,他说:"那是个好地方,您从前去过吗?" 这样的荣誉是没有人不深受感动的.长期以来,我 ...

  6. 父亲的祈祷文—— 美国五星上将,麦克阿瑟将军

    你必须怀抱梦想 在挫折的时候,能够自励又能励人. 你必须足够勇敢. 在害怕的时候,能够自持又能持人. 你必须足够坚强. 在脆弱的时候,能够自助又能助人. 做一个胜不骄,败不馁的人. 能坐而言,又能起而 ...

  7. 麦腾支付:跨境支付与区块链支付的发展前景分析

    首先我们要了解跨境支付领域的现状,据<2018年中国跨境电商市场数据监测报告>显示,2018年上半年中国跨境电商交易规模为4.5万亿元,同比增长25%,出口占比达到77.1%.说明中国企业 ...

  8. 麦克阿瑟天才奖得主解码计算机视觉“原罪”:AI 如何认识人类世界

    日前,一系列令人着迷的图像显示了计算机在被输入西方文学.哲学和历史作品中的图像和符号后,能够"看到"的东西,这些内容简直太令人熟悉--原来,人工智能里有卡拉瓦乔,有维米尔.有弗朗西 ...

  9. 16位诺奖天才们关注区块链:7位投身具体项目 14位来自诺贝尔经济学奖

    文丨互链脉搏·金走车 未经授权,不得转载! 10月14日,2019年诺贝尔奖最终谜底揭晓,诺贝尔经济学奖由阿比吉特·班纳吉(Abhijit Banerjee ).艾丝特·杜芙若(Esther Dufl ...

  10. 区块链 — 默克尔树

    文章目录 默克尔树 生成过程 应用场景 在区块链中的应用 默克尔树 默克尔树(又叫哈希树)是一种典型的二叉树结构,有一个根节点.一组中间节点和一组叶节点组成.默克尔树最早由 Merkle Ralf 在 ...

最新文章

  1. SpringBoot(十五)_springboot实现预览pdf
  2. 开关磁阻电机调速控制的仿真研究
  3. 输变电设备物联网节点设备无线组网协议_SmartModule物联网智能测控组件
  4. python编码操作技巧总结
  5. 【读书笔记0102】Beginning linux programming-3rd
  6. 【Shell教程】一----什么是Shell
  7. 【文件包含、宏、条件编译】(学习笔记21--预处理命令)
  8. idea中未被识别的maven项目,如何手动添加
  9. Linux系统安装pgp教程,在Linux系统下安装pgpcommandline
  10. 11.uniapp的环境搭建
  11. win7升级win10激活指南——查看预装Win7/8/8.1电脑内置系统激活密钥(OEM Key)方法
  12. 数据挖掘之数据处理——SVM神经网络的数据分类预测-意大利葡萄酒种类识别
  13. 留人间多少爱,迎浮世千重变;和有情人,做快乐事, 别问是劫是缘
  14. vue+Element表单验证+数字英文密码和手机号验证(详细)
  15. 如何用KiCad进行电路仿真
  16. 点对点加密文件传输工具Filegogo
  17. 类各种成员的访问权限 及 友员类和友员函数
  18. 法硕(非法学)进入红圈所究竟有多难?
  19. 软件测试工程师必备的27个基础技能【快来看看有没有遗忘的】
  20. Ta来了,Ta来了,Spark基础能力测试题Ta来了!

热门文章

  1. 指针万用表使用欧姆档测量电容器时偏转
  2. 通信常识:波特率、数据传输速率与带宽的相互关系
  3. 计算机wifi共享怎么设置,笔者教你win7如何设置wifi共享
  4. 市盈率相对盈利增长比率PEG
  5. 第11章 UART串口通信 练习题
  6. 什么是小托福考试?适合什么学生报考?
  7. 语法长难句-----状语与状语从句
  8. c语言常用英语单词大全,c语言常用的英文单词-英文辞职信常用语言
  9. vue 里面的slot属性
  10. PayPal接口查询账户各币种余额