区块链安全技术指南.html.pdf

上传人:紫竹语嫣 文档编号:5518681 上传时间:2020-05-28 格式:PDF 页数:131 大小:15.03MB
返回 下载 相关 举报
区块链安全技术指南.html.pdf_第1页
第1页 / 共131页
区块链安全技术指南.html.pdf_第2页
第2页 / 共131页
区块链安全技术指南.html.pdf_第3页
第3页 / 共131页
区块链安全技术指南.html.pdf_第4页
第4页 / 共131页
区块链安全技术指南.html.pdf_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《区块链安全技术指南.html.pdf》由会员分享,可在线阅读,更多相关《区块链安全技术指南.html.pdf(131页珍藏版)》请在三一文库上搜索。

1、作者简介 黄连金 硅谷Dynamic Fintech Group管理合伙人、联合国旗下世界区块链组织(WBO)首席技术官、美国ACM Practitioner Board委员、美国分布式商业应用公司CEO和创始人、中国电子学会 区块链专家委员、中国人大特聘研究员与讲师、美国CISSP专家、CyberVein总顾问,多个成功区块链项目技术顾问。曾就职于美国CGI公司18年,任CGI安全技术总监、CGI云安全主管和首席安全架构 师等职务,创建了CGI联邦身份管理和网络安全能力中心。在CGI工作时,曾经为美国联邦政府、金融机构和公用事业公司提供金融、人工智能、区块链、安全等方面的专家咨询。曾多次在国

2、内外大型区 块链峰会担任嘉宾、评委、培训专家。 吴思进 33复杂美创始人及CEO,浙大本科硕士毕业,金融数据专家,精通量化交易及区块链,主导多家世界500强区块链项目落地。2014年申请区块链发明专利,2项已授权,目前累计申请专利 50多项,全球区块链专利排名前十,主要区块链项目有供应链金融、供应链管理、积分、钱包、交易所。 曹锋 PCHAIN发起人,中物联区块链协会首席科学家。中国早期区块链国际专利发明人,ChinaLedger共同发起人,2016年完成全球区块链资产收益权转让暨中国区块链金融真实交易。曾担任 IBM全球下一代人机大战中国区负责人、互联网金融首席科学家、专利评审委员会联合主席

3、;3次获得IBM全球杰出技术成就奖,发表22篇国际顶级论文,30余项美国专利,并担任多个ACM IEEE顶级国 际会议论坛主席。 季宙栋 Onchain分布科技首席战略官,本体联合创始人,(工信部)中国区块链技术与产业发展论坛副秘书长,中国电子学会区块链专委会委员,ISO/IEC TC307中国代表团成员,参与本体论、 身份和隐私保护等标准组。作为区块链行业的资深专家,参与了工信部区块链白皮书及相关标准编制工作。 马臣云 北京信任度科技CEO、信息安全专家、产品管理专家,电子认证与签名行业15年从业经验。主要方向是密码学、区块链、身份认证、电子签名。曾获得省部级科技进步二等奖(国家密码 局)、

4、首都五一劳动奖章、全国五一劳动奖章等,是电子签章技术、基于人脸识别的身份认证安全技术、互联网金融个人借贷电子合同安全技术等标准的起草人。著有精通PKI网络安全认证技术与编程 实现。网络ID:非著名信息安全砖家。 达摩 BOX.LA项目发起人,原唯链COO,参与了众多知名区块链项目的早期投资。 李恩典 美国分布式商业应用公司董事与中国区总裁、深圳市微风智联科技有限公司董事长、区块链软件和金融行业应用研发专家。15年以上金融安全研发经验,在区块链存储、大数据平台、物联 网平台和金融系统核心等领域均有领先的技术成果和丰富的产品技术实战经验,并拥有近10项相关领域发明专利。 徐浩铭 CyberVein

5、数脉链项目技术负责人,负责区块链平台架构和搭建。曾就职于欧洲微软研发中心,负责Office项目开发。毕业于英国剑桥大学,主要研究方向为机器学习在生物信息学领域的应 用;曾在美国卡内基-梅隆大学访学,主要研究方向为机器视觉在无人驾驶中的应用;曾在美国杜克大学访学,研究领域为深度学习在生物医学工程中的应用。在SCI和EI检索杂志上发表多篇文章。 翁俊杰 IBM 10余年开发及解决方案经验,第一批Fabric应用开发者,NEO核心开发者之一,Onchain DNA联盟链的架构设计与核心开发人员,Ontology(本体)区块链开发团队负责人。在票 据、供应链、积分、征信、数据交易、共享金融等多个领域有

6、区块链应用经验。 序一 多边界的区块链安全防守 2018年是区块链技术(或称分布式账本技术)诞生的第十个年头,人们对它所寄予的厚望正与日俱增。很多人认为区块链技术不仅会对现有的产品、服务、操作系统、商业模式、最佳实践,乃至各 行各业带来巨大冲击,甚至可能带来经济运行以及社会组织和治理的大变革。这是因为区块链技术促进了加密技术等方面的科技进步,实现了低成本和实时条件下的超强处理能力,同时为金融服务、医 疗保健、物流,以及环境保护等产业的可持续发展提供了无限可能。但更重要的是,区块链技术建立在去中心化共识、开源、透明和社区参与这些原则之上。这些基本原则才是这一技术具有革新性潜能 的根本所在。1 包

7、括联合国和世界银行集团(世行)在内的多边组织已经意识到区块链技术将会对各发展机构及其工作产生深远的影响。这是因为区块链技术能够帮助发展机构减轻对传统银行及其他中介机构的依 赖,从而大大降低交易成本;确保援助资金直接转给援助对象,保证专款专用,使整个环节更加透明。鉴于此,世行于2017年6月建立了区块链实验室,专注研究区块链领域的创新技术,以求更好地服 务世行的发展项目。 虽然区块链技术拥有巨大的潜力,但它目前仍面临很多挑战。对于这样一个自动化、去中心化和不断扩展的系统来说,安全性是不容回避的问题。区块链技术在安全性方面面临的挑战包括三方面。 首先,虽然区块链技术能够为交易提供高度的完整性(in

8、tegrity)和透明度(transparency),但是系统设计方面仍亟待加强,才能保证区块链基础设施和平台的机密性(confidentiality)和弹性 (resiliency)。其次,不论是共识机制还是“智能合约”,区块链技术都需要依靠开发各种应用软件来实现。因此,软件开发安全方面的最佳实践仍应继续遵守。最后,区块链技术需要相应的生态系统 来为实践提供完整解决方案。这个生态系统可能会运用包括物联网(IoT)、人工智能和云计算在内的其他新技术。这意味着,所有这些构成区块链生态系统的技术本身的安全问题也需一并考量。 我在世行区块链实验室举办的一次活动中结识了黄连金先生。黄先生是那次活动的特

9、约嘉宾,也是本书的第一作者。当时黄先生在华为技术有限公司担任首席区块链专家,他也是中国区块链安全领 域的领军人物。从他那里我了解到,虽然区块链技术还在发展阶段,但在中国已经有一批安全专家开始合作编写一本关于区块链安全问题的著作。这让我惊喜不已,因为一直以来,人们总在创新技术产 生之后才亡羊补牢,考虑安全问题。我相信,这本强调安全先行的著作,对确保未来区块链解决方案的可靠性和实用性大有裨益。 本书对区块链技术潜在风险的分析可谓详尽、完备:不仅包括区块链技术本身带来的风险(比如加密技术、身份管理技术、共识技术,以及“智能合约”技术可能涉及的风险),还包括区块链应用 方面的风险(例如激励机制、数据安

10、全和网络安全等方面可能面临的风险)。书中不但有对区块链技术各种安全机制的深度解剖,而且有区块链应用遭受攻击的案例分析。这样理论与实际结合,有助于 读者学以致用,将对潜在风险的预期和评估置于现实背景之下。 为本书作序,我备感欣慰。据我所知,本书是全球为数不多关注区块链安全问题的专著。借着这则序言,我期待能够让更多的人在区块链及其他革命性技术创新的初期就开始考虑安全问题的重要 性。愿更多的研发人员、商业人士以及政策制定者都关注安全问题。我们会因此而更有信心应对未来技术应用(Technology Adoption)过程中的各种挑战。 林儒明 世界银行集团首席信息安全官、区块链实验室负责人 1 英国政

11、府首席科学顾问报告:分布式账本技术:超越“区块”和“链”(Distributed Ledger Technology: Beyond Block Chain)。 序二 区块链安全观之我见 区块链安全观可以从两方面来讨论。技术方面的安全观是本书的主题,遑遑高论,各位看官自可体会;我想从区块链经济模式的安全观方面,谈一些自己的学习体会,以就教于各位作者和读者。 从经济模式来看区块链,我把它分为4个层次。 最底层是区块链数字身份体系。数字身份包括了身份ID、社交关系、职业声誉、生活状态等,远比一串身份证号码要更全面、更传神。 第二层是密码学账户体系。基于非对称加密算法的分布式账本,非许可、无须KYC

12、,支持点对点交易,靠算法保证交易安全可靠,坏人无法作恶。 第三层是区块链数字货币体系。公有区块链靠算法发行数字货币的一个最主要的目的是为自组织建立一种去中心化的经济激励机制。 第四层是商业应用体系。有了前3层,任何分布式商业应用项目就有了生存的基础和无限的发展空间。 区块链技术层面的安全,都是为其经济模式的安全运行服务的。无论是保证数据一致性的哈希函数,还是保护隐私的零知识证明;不管是维护账户安全的椭圆曲线加密算法,还是保护数据主权的多 方安全计算;直至协调区块链治理的各种共识算法在分布式、去中心、自组织的区块链世界里,信任关系和安全机制的建立,完全依赖一整套成体系的数学和密码学算法来保证安全

13、、可靠。 传统金融业界有一句名言:无硬件,不安全。其实这句话也完全适用于区块链经济模式。硬件安全不仅仅涉及数字货币“热钱包”“冷钱包”层面的事情,它还可能涉及区块链上金融交易的报文传 输等方面。 本书是一本从技术角度讨论区块链安全的著作。在区块链“高烧”发热,热到有可能大热倒灶的今天,一群业界同仁愿意埋头沉心,专注区块链的安全问题,实在是难能可贵! 作为一名非技术背景的区块链信徒,阅读这样一本洋溢着精深技术见解的区块链安全著作,仍然从中学到很多,悟到更多。诚所谓见仁见智,乐山乐水是也!故不论“币圈”“链圈”,无论专业背 景,特推荐之,必有收获焉! 肖风 中国万向控股有限公司副董事长、万向区块链

14、实验室董事长兼总经理 序三 安全是区块链发展和应用的基石 2008年,中本聪的论文“比特币:一种点对点的电子现金系统”一经发表,犹如“忽如一夜春风来,千树万树梨花开”。历经十年的迅猛发展,区块链已成为近年来最具革命性的新兴技术之一,并 广泛应用于各种社会场景之中。任何事物取得如此之重要地位,必定有其独特魅力。 区块链的魅力在于,它可以利用自律解决社会中靠他律才能解决的问题;区块链的魅力在于,它使参与者都有知情权,信息对等,脱离了只有少数人掌握信息的不平等状态;区块链的魅力在于,它 能够做到在现实社会中我们始终倡导和追求的诚信,而不需要人们的长期认知才能达到(其模式自身就存在诚信,不可抵赖);区

15、块链的魅力在于,它需要大多数伙伴的认同,使人们能够为了一个共同 的目标而努力;区块链的魅力在于,它使事物脱离了一成不变的程式化发展趋势,而迎来“百般红紫斗芳菲”的各式发展。其实,区块链的这些魅力并不是其刻意而为之,而是其自身特性决定的。因为 独特,所以灿烂。 区块链的这些特殊魅力吸引了社会各界的广泛关注,但是能否长久保鲜而不受摧残也成为我们担心的关键点。区块链的自律,使职能机构失去控制权;区块链的信息共享,使隐私更易暴露;区块链 的不可篡改,使可能的错误变成“真实”而存在;区块链的共识,使大多数伙伴的观点无论正确与否都变得“正确”;区块链各具特色的发展模式,使漏洞出现的可能性提高,容易导致应用

16、的浩劫。因 此,区块链要真正快速发展和广泛应用,就要不断提高其自身安全性。 黄连金先生作为区块链资深高端专家,经过长年研究积淀,在区块链安全研究成果较少的情况下,他能够领先其他学者研究产出第一批专门的区块链安全著作,可谓独具慧眼。仅从这一点,足以看 出他是具有长远眼光和思想前瞻性的专家。有幸提前拜读他的区块链安全研究成果,使我全面地认识到区块链安全的重要性,对区块链安全有了合理的分类认知,也从中了解到未来区块链安全研究的热 点,学到一些有关区块链安全的有效研究手段。阅读时,我能感受到本书行文流畅;在学习到较新的有价值的研究成果的同时,体会到阅读的快乐,创新的热情。为本书写序,备感荣幸。希望更多

17、的人 了解区块链,在未来的区块链模式中夯实区块链安全的基石,从而使区块链及其应用更加坚不可摧,更具魅力。 祝烈煌 北京理工大学计算机学院副院长、教授 前言 为什么要写这本书 这本书的初衷是希望给区块链项目提供一些安全方面的指导来改变目前区块链项目匆匆上线,安全系数不高,安全问题层出不穷的现状,也希望正在开发或将来需要开发的区块链项目在安全方面给 予足够的重视。我们认为安全问题会是区块链项目落地的主要绊脚石。一个不注意安全的区块链项目,成功系数不会很高。区块链有很好的安全属性,比如数据不可篡改、数据不会丢失、可利用一些加 密技术对数据进行加密等。但是从许多与区块链有关的安全事件可以看出,区块链的

18、安全属性不能保证区块链项目百分之百安全。本书尽量从多个不同的方面,比较系统地对区块链的安全进行分析,并 且对区块链项目落地所需要考虑的因素,提供一些建议。 本书特色 本书是为数不多系统性地阐述区块链安全的书。 本书的主要特色是以深入浅出的形式讲解区块链的安全,便于读者更好地理解为什么区块链安全是一个重要的课题,以及如何解决某些区块链的安全问题。 读者对象 本书的读者对象包括: 区块链的开发者 区块链安全的架构师 区块链项目的主要技术负责人 其他对区块链安全感兴趣的人 如何阅读本书 在阅读过程中,读者可以根据工作需要将某些章节多读几遍。因为章节与章节之间的依赖性不强,完全可以根据工作需要抽出重点

19、来读。 第1章详解区块链的安全属性,主要从保密性、数据完整性、可用性、物理安全性4个方面对区块链的安全属性进行详解。在分析过程中,本章穿插了一些实例,使得内容讲解更为直观、易懂。本章 所介绍的内容,可以使读者对区块链的安全属性有更深层次的了解,对做好区块链的安全工作具有非常重要的参考价值。 由于区块链的安全性分析极具抽象性,所以第2章特意挑选了一些主流数字货币(包括比特币、以太币和Zcash),对其安全属性进行分析。通过本章的学习,读者可以了解主流数字货币的代码、密 码学算法以及“钱包”等,进一步加深对区块链相关安全技术的认识。 第3章为应用与智能合约层的安全控制。本章主要从Web或者移动客户

20、端应用程序、智能合约,以及身份与访问控制3个方面对安全问题进行分析。在当前信息技术快速发展的背景下,移动设备已经 成为很多人上网的主要工具。为此,本章从一开始就对Web或者移动客户端应用程序的安全性进行了分析,让读者对相关的危险因素有所了解。在智能合约的安全方面,主要从智能合约的概念、安全编 码、漏洞、开源工具等几个方面进行了分析,为读者在开发相关内容方面提供了重要的参考。在本章的最后,从多个方面对区块链的身份管理与访问控制进行了分析。通过对这部分内容的学习,读者可 以了解在开发区块链的过程中,如何高效、安全地做好身份管理与访问控制等工作。 第4章为激励层安全机制设计。本章主要从激励的产生和分

21、配以及激励层安全两方面进行了分析。首先,分别借助比特币、以太币的激励模式对激励的产生和分配进行了分析,可以让读者对区块链激 励层的存在有较为直观的认识。在此基础上,本章又从激励模式的安全隐患、安全事件、法律风险以及安全措施等方面,对激励层安全进行了分析,让读者了解安全对激励层的重要性,以及如何设计才 能有效避免区块链激励层安全事件的发生。 第5章为网络层安全与控制。网络层是区块链的重要组成部分,能否做好安全与控制直接影响区块链的价值。本章主要从P2P加密、客户端与节点通信加密、防御DDoS攻击3个方面进行了分析。通过 对本章的学习,读者可以对网络层安全与控制的相关内容有全面的了解。这对开发过程

22、中提高区块链的安全性具有重要指导作用。 第6章为数据层与共识安全。数据层是区块链设计的基础部分,是影响区块链能否正常运行的关键。本章主要从区块链数据加密技术、数据传输、区块链交易签名、共识攻击、区块链安全性考虑5个 方面进行分析。通过本章的学习,读者可以了解关于数据层安全更多的知识。这对于提高区块链的安全,保障区块链的正常运行具有重要的参考价值。 第7章为私钥的安全。本章从私钥的重要性、使用方法、存在的问题等多个方面对私钥的安全进行了全面的分析。通过对本章的学习,读者可以对私钥安全性在区块链技术中的重要性有更深层次的认 识,了解如何使用私钥才能有效避免安全问题的出现以及私钥的更新、找回与吊销等

23、。除此之外,本章还对私钥保护的正确“姿势”、硬件钱包等内容做了分析。有了这些内容的指导,读者可以参考、 拓展关于保障硬件钱包、移动钱包方面的设计思路,提高区块链的安全性。 除了上述内容,本书还包括3个附录。附录A介绍的是区块链安全基础概念、原理与分析方法,可以更好地理解区块链。当制定区块链安全性测试标准时,可以适当地参考、借鉴。附录B主要介绍 DAG的基本概念、原理与主流项目,从中可以了解DAG给区块链安全带来的价值和影响。附录C介绍区块链私钥管理的一种方法,主要用于企业级数字资产的安全。 勘误和支持 本书从不同的角度来阐述区块链安全,抛砖引玉。我们不能说这本书包含了区块链项目落地需要考虑的所

24、有安全因素,因为不可能面面俱到。区块链目前尚处于初级的技术发展阶段,新的安全隐患 和新的安全措施会在发展的过程之中不断涌现。我们希望这本书是“活着”的书,通过不断地修订,尽量把新的内容添加到这本书,也欢迎区块链安全专家在这方面给我们多提一些意见。 本书不是从空中楼阁造出来的,我们参阅了大量网络公开的内容,并且引用了很多区块链安全专家在不同新闻媒体或者网络所刊登的内容以及个别面对面的交流信息。对于被引用的内容或者面对面 交流的信息,我们尽量与各位专家进行了沟通,并且获得了同意,比如NEO创始人、OnChain创始人及CEO达鸿飞,NEO创始人兼核心开发者张铮文,上交所技术有限责任公司架构师朱立,

25、复杂美CTO 王志文,元界CEO顾颖(初夏虎),元界CTO陈浩,公信宝CEO黄敏强,Dfinity CEO丁磊(Tom Ding)等。不过,仍有可能某些内容与网上公开的内容存在类似或雷同之处,在所难免,敬请谅解。如 果在阅读本书的过程中发现有类似的内容,请及时与我们联系,我们会在修订版中增加引用的出处。 致谢 在这里,首先要感谢高婧雅编辑,她从一开始便对本书高度重视,在写作过程中不断鼓励我们。在北京的一次会议上,高编辑和我基本上拟订了这本书的架构和一些基本内容,并且以后又经过几次 优化,才有现在这本书的框架。 非常感谢本书所有的作者,他们在百忙之中抽出时间写了这本书,并且经过多次修改。应该说没

26、有这些作者的贡献,就不会有这本书。 感谢深圳市微风智联科技有限公司的李恩典和梁福彬,他们非常有启发意义的讨论和对我负责写作的内容的多次修改,是我完成写作的最大助力。 非常感谢世界银行集团首席信息安全官、区块链实验室负责人林儒明先生,他不仅为本书做序,还在写作过程中不断鼓励我们,多次提供良好的建议。 中国万向控股有限公司副董事长、万向区块链实验室董事长兼总经理肖风博士对本书的构思和一开始的概念提出了很多宝贵意见,给予我们很大的帮助,同时还为本书作序,在此也表示感谢。 北京理工大学计算机学院副院长、网络与信息安全学科方向责任教授祝烈煌也为本书作序,在这里表示诚挚的感谢。 中国电子技术标准化研究院区

27、块链研究室主任李鸣为本书写了推荐语,在此也表示感谢。 本书一共有9位作者,在著作委托书的联合签名上,我们第一次使用了区块链技术。感谢北京信任度科技有限公司CEO马臣云(也是本书的作者)的大力支持,我们利用该公司的信签电子合同签署平 台非常快捷地完成了多人的电子签名。签署后的文档存储在由第三方CA机构、司法鉴定中心等组建的可信联盟链上。存证验证地址:http:/ evidenceId=0x992c316f99baa714006424b6e86a87826dfd6d4cf4af3dbf9a75e3ebb5af6496。 存证有关信息如下。 存证地址:0x992c316f99baa714006424

28、b6e86a87826dfd6d4cf4af3dbf9a75e3ebb5af6496。 存证时间:2018-03-2507:47:04。 存证内容:fileHash:81e4324b2c842dd05ee977670fba5d6a,fileName:黄连金-吴思进-曹锋-季宙栋-马臣云-尚维斯-李恩典-徐浩铭-翁俊杰委托书.pdf。 黄连金 第1章 详解区块链的安全属性 区块链的本质是一个去中心化的数据库。在运行过程中,区块链将数据信息采用分布式方式记录,并且由所有的参与者共同记录。这些数据信息会被存储在所有的节点之中,而不是像传统数据库一 样,仅仅存在于唯一的中心化机构。因此,在安全性方面,

29、较传统技术实现了质的突破。安全性已经成为信息化社会的主旋律,如果安全问题无法得到有效的解决,那么区块链就无法实现推广。因此, 安全性已经成为制约区块链发展的重要因素。本章将通过安全的4个要素(见图1-1)介绍和分析区块链的安全属性。 第一个要素是保密性(Conf identiality):数据和交易的内容在传输与存储的过程中被加密,从而保护了用户隐私和企业、机构的商业机密、知识产权及其他机密信息。 第二个要素是完整性(Integrity):确保信息在存储、使用、传输过程中不会被非授权用户篡改,同时还要防止授权用户对系统及信息进行不恰当的篡改,保持信息内部、外部表示的一致性。 第三个要素是可用性

30、(Availability):确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。 如图1-1左边所示,传统的信息安全主要涉及保密性、可用性和完整性3个要素。随着物联网(IoT)的发展,这3个要素已经不能完整地代表安全需求了。 图1-1 安全要素的转变 1.1 保密性 保密性(Conf identiality)是指网络信息不会被泄漏给非授权的用户、实体或过程,即信息只能供授权用户使用。信息外露已经成为影响信息化技术发展的重要因素,没有人愿意自己的隐私信息被 他人获取。区块链的发展与信息的保密性紧密联系在一起。从本质上分析,区块链属于分布式账本。与传统的信息

31、技术不同,它通过去中心化、去信任的方式对可靠数据库进行集体维护。 常用的保密技术包括以下几种。 1)物理保密:利用各种物理方法,如限制、隔离、掩蔽、控制等,保护信息不被泄漏。 2)防窃听:使对手侦收不到有用的信息。 3)防辐射:防止有用信息以各种途径辐射出去。 4)信息加密:在密钥的控制下,用加密算法对信息进行加密处理。即使对手得到了加密后的信息,也会因为没有密钥而无法读懂有效信息。 5)授权(Authorization)和验证(Authentication)。常见的授权包含验证与访问控制(Access Control)两个部分。验证是指用户或者业务模块通过一个私密的凭证来确保身份。它可以是一

32、个 密码,可以是一类数字签名(包括证书),也可以使用相对复杂的双向动态授权协议。验证后的访问控制则是将数据权限进行更细粒度的拆分,提供一次性或者短暂性的访问权限。Token作为一个权 证,只能用来访问其对应权限下的数据,可以防止私密数据过量泄漏。而目前一些新的方法中,权证分发本身被改善成了一个数字签名的过程,通过完全的非对称密码系统,让数据提供方原本需要保存 的Token,转变为只需要验证访问请求所携带的数字签名就可以获知权限的Certif icate/Signature。例如,Hyperledger区块链平台就采用这种方式,分别签发注册凭证(Enrollment Certif icate)和

33、交 易凭证(Transaction Certif icate),为不同的业务场景提供不同的数据访问权限。 区块链主要采用地址随机化、信息加密和状态通道的方式来做到信息的保密。 1.1.1 比特币的半匿名性 比特币的出现对虚拟货币领域而言具有划时代的意义。它采取分布式的设计并且将发行权分享给很多的用户,通过特殊的计算方法,可以避免超量发行的尴尬。在设计方面,比特币是以密码箱的设 计原则为基础,对保障流通交易的安全性和保密性具有重要作用。 1.半匿名性与隐私安全 比特币用户的地址是由随机算法产生的,具有一定的保密性。一个用户可以有多个比特币地址,并且地址跟他现实生活中的真实身份没有任何联系,因而具

34、有一定匿名性。不过这一特性实为“半匿 名”,比特币的交易仍可以追本溯源到交易者本身。比特币的交易历史是完全公开的,所有人都可以通过钱包地址在区块链中查询钱包现金的流入与流出,并可向上追溯至这些比特币的终极起源,即从 区块生成后发送到的那个地址。这对个人隐私构成了巨大威胁。 比特币协议为上述问题提供了两种解决方案: 1)所有的比特币交易使用公共密钥,而无须个人身份证明; 2)比特币客户端可以生成无数个公共密钥,以帮助用户防止跟踪。 然而,越来越多的研究表明,这些保护措施是不够的。如果通过一些社会工程学手段,使得某个比特币钱包的物理地址(如IP地址)暴露,再配以大数据分析,那么资金的来龙去脉与关系

35、网将无从 遁形。德国和瑞士学者的一项研究显示,约40%比特币用户的真实身份可被发现,这其中有些用户还使用了官方推荐的隐私保护措施。美国加州大学圣地亚哥分校研究者发表的一篇论文中称,比特币交 易网络对少数大账户的依赖性与日俱增,这使得用户的身份安全性大大降低。日后,通过大宗交易追踪到交易者的真实身份将变得很容易。 从本质上来说,比特币的去匿名化依赖于根本性的洞察。仅仅给定一组关于人的信息和一组关于比特币交易的信息,而不提供任何涉及二者关系的信息,则确定哪个地址属于哪个人确实是非常困难 的。但是,当你知道哪怕一条关联信息1,可能很快就可以确定该用户最喜欢的商家。除了简单地“追踪比特币”,还有两个比

36、特币侦探可以使用的更高级的工具。 2.破解半匿名的方法 (1)闭包 首先,存在一个概念,即闭包。我们来看一个示例。如果地址A在某个闭包里并且存在一个使用来自地址A和地址B的货币作为输入的交易,则地址B也在该闭包里。计算一个地址的闭包时,只需在从 这个地址开始,一直到你停止添加新地址的过程中重复地应用闭包的定义。 这个概念的威力如下:同一个闭包里的所有地址几乎可以肯定都归同一个用户所有。如果一个交易有多个输入地址,则原因几乎总是用户需要把一定数额的钱支付到某个地址里,但是其任何一个地 址里钱的总额都不够,于是钱包软件为了付款不得不从两个甚至更多的地址里取钱。有了这个工具,如果你能证明哪怕一个地址

37、归属于某个具体的人(比如说,如果你是一个从他们那里接受比特币付款 的商人),那么你就很可能发现他们的绝大部分钱包地址。 (2)“零钱地址”启发式算法 在消费时,零钱地址被比特币钱包用来发送额外的钱给交易的收款地址。比如,如果你收到了50比特币,然后花了1比特币,剩余的49比特币就存入一个由你的钱包新生成的零钱地址。之所以不把 那49比特币发回原来的地址,是为了增加隐蔽性。有人已经找到启发式算法来解决怎么才能自动辨别零钱地址和交易的正常收款地址。通过这类启发式算法,研究人员比只使用地址闭包发现了更多的线 索,常常可以追踪交易链长达几百步并最终获得成功。 3.弥补匿名性不足的方法 解决比特币匿名性

38、不足的方法除了利用单个钱包多个地址以外,还有一种是混合服务。比如,在网站blockchain.info和丝绸之路上的服务。混合服务的工作原理如下:用户给混合服务一个接收混合 后的比特币的地址,而混合服务给用户一个发送比特币的地址。全世界成千上万的用户把比特币发送给混合服务商,而服务商在内部进行混合后,除了扣除少量手续费外,其余的比特币如数(不是相同 的比特币)发到每个用户的接收地址上。由于在区块链上找不到用户发送地址和接收地址的关联,所以在理论上只要混合完成相关信息就会被抹掉。但是,这种匿名方式需要提前建立双方的信任。用户 不仅需要信任服务商不会透露自己的两个地址之间的关联,还需要相信服务商不

39、会偷走自己的钱。如果服务商偷了钱,用户将无法证明。 此外,比特币开发者Amir Taaki和Pablo Martin研究出一种新的方法半去中心化来解决比特币的半匿名性问题,其工作原理大致如下。 N个人聚在一起并且同意混合X个比特币,他们中的一个人发送N和X的值以及“房间号码”给一个中间服务商。每个人用匿名网络(比如Tor)给服务商发送一条带有房间号码和接收地址的信息。一 旦N个人都发送进来了他们的接收地址,则服务商会给每个人发送确认信息。每个人都匿名地给服务商发送一条包含房间号和发出地址的信息。服务商在所有人都把X个比特币发过来后,用这些比特币构 造一个交易并向每个接收地址发送X个比特币。然后

40、,服务商把交易发给每个人来签名。每个人都检查交易中向自己的接收地址发送的比特币的数额是否正确,检查完毕后发送给服务商自己的签名。随 后,服务商公开签过名的交易。 如上所说,这个协议没有一点特别的创意。事实上,Taaki和Martin第一次发现这个主意是在一个比特币开发员Gregory Maxwell描述CoinJoin概念的论坛帖子里。然而,神奇的地方在于它的实现 过程,这两个人使用Taaki本人发明的比特币工具箱SX快速实现了交易。这种实现方法的优势在于易于使用。Taaki和Martin专门创造了一个简单的图形用户界面,用户只需输入发送地址、服务商的网址 和接收地址,系统就会自动处理一切。

41、中间商不知道哪个发送地址对应着哪个接收地址(因为人们在不同阶段、不同时间发送他们的信息),也没有机会偷走比特币。如果中间商用自己的接收地址替换了别人的接收地址,没有收到比特 币的人发现后会拒绝签收交易,这将导致协议失效。唯一失败的可能性只在于没有发生的交易。此外,任何人都可以成为交易商而本质上却不需要任何起步费。实际上,完全去中心化的体系可以让N个 人中的一个人在百忙之中充当交易商。 这种机制也许不经意间实现了另一个目标:如果得到广泛的应用,它有很大的可能使得“闭包”概念不能发挥作用。闭包依赖的前提假设是一个交易的所有发送地址都是由一个人签收的,然而交易 的不同发送地址是由不同的人签收的。当然

42、,目前使用的协议可以被轻松地骗过,因为闭包算法可以故意避开各个发送地址来发送金额相等的交易。从理论上说,一个人在同一场交易活动中可以参加多 次,也就是说发出和接收的面额不同(比如说,通过一个地址发出0.03比特币,但通过3个不同接收地址各收取0.01个比特币)。从另一方面看,一般的钱包可以故意使它们的交易看起来像是匿名交易。 比如,一个钱包提供商可以使其钱包总是提供0.01比特币的零钱,因而每笔交易都自然而然地看起来像是经过了混合(混币)。尽管将来会有一些方法可以识破很多这类事情,但是这仍然使闭包的地位 从必杀技降为普通试探性方法。 例如,在2017年7月被破获的BTC-e洗钱案件中,安全专家

43、便是利用比特币的半匿名性的弱点追踪到嫌疑人。 1 某个比特币交易或地址关联到现实世界中的某个具体的人或事件,从那里就有可能“追踪比特币”并且获取许多其他方面的信息。比如说,追踪者可能会发现该用户的老板、最喜欢的商家、顾客和其 他人的比特币地址。 1.1.2 Hyperledger Fabric CA的动态交易证书 超级账本(Hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,其目标是让成员共同合作,共建开放平台,满足多个行业用户的需求,并简化业务流程。 Hyperledger Fabric CA是Fabric的一个重要模块,如图1-2所示。 图1

44、-2 CA在Hyperleder Fabric框架体系架构中的流程图 Fabric CA为网络提供身份管理、隐私、保密和可审计性的服务。在一个不带权限的区块链中,参与者是不需要被授权的,且所有的节点都可以同样地提交交易并把它们汇集到可接受的块中。例如, 它们没有角色的区分。Fabric CA通过公钥基础设施(Public Key Infrastructure,PKI)和去中心化、共识技术使得不带权限的区块链变成带权限的区块链。在Fabric中,用户通过注册来获得长时间的、 可能根据用户类型生成的身份凭证(或称登记证书,Enrollment Certif icates)。在用户使用过程中,这样的

45、证书允许交易证书颁发机构(Transaction Certif icate Authority,TCA)颁发匿名的动态 交易证书。动态交易证书解决了比特币的半匿名问题,因为每一笔不同的交易可以用不同的动态交易证书。实体的登记证书可以用来产生动态交易证书,但是按照密码学原理,从动态交易证书不可能推 断出实体的登记证书,这样用户的数据加密得到了保障。 1.1.3 用零知识证明做数据加密 零知识证明(Zero Knowledge Proof,ZKP)并非新鲜事物,其概念初见于1985年的论文互动证明系统的知识复杂性。ZKP是一种密码学技术,允许两方(证明者和验证者)来证明某个提议是 真实的,而且无须

46、泄漏除了它是真实的之外的任何信息。在密码学货币和区块链中,这通常是指交易信息数据。 有人借用最简单的阿拉伯童话一千零一夜对零知识证明做了通俗、形象的介绍。阿里巴巴掌握着让芝麻开门的咒语。强盗向他拷问打开山洞石门的咒语时,他不想让人听到咒语,于是想了个好 办法。他对强盗说:“你们离我一箭之地,用弓箭指着我。你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门。如果我做不到或逃跑,你们就用弓箭射死我。”强盗们同意了,因为这能 帮助他们搞清楚阿里巴巴到底是否知道咒语这个问题。强盗举起了右手,只见阿里巴巴的嘴动了几下,石门果真打开了。强盗举起了左手,阿里巴巴的嘴动了几下后石门又关上了。强盗还是有

47、点不信, 说不准这是巧合呢。于是不断地换着节奏举右手、举左手,石门跟着他们的节奏开开关关。最后强盗们想,如果还认为这只是巧合,自己未免是个傻瓜,那还是相信阿里巴巴吧。这就是最简单易懂的零 知识证明。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。 根据零知识证明的定义和有关例子,可以得出零知识证明具有以下3条性质。 完备性。如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。 合理性。没有人能够假冒证明方,使这个证明成功。 零知识性。证明过程执行完之后,验证方只获得了“证明方

48、拥有该知识”这条信息,而没有获得关于该知识本身的任何一点信息。 零知识证明及其有关协议的主要优点: 随着零知识证明的使用,安全性不会降级,因为该证明具有零知识性质。 高效性。该过程计算量小,双方交换的信息量少。 安全性依赖于未解决的数学难题,如离散对数、大整数因子分解、平方根等。 许多零知识证明相关的技术避免了直接使用有政府限制的加密算法,这就给相关产品的出口带来了优势。 1.利用零知识证明的Zcash 为了让比特币变得更具隐匿性,Zooko Wilcox发起了Zerocoin项目,并在Zcash协议(即Zerocash)的原开发团队、约翰霍普金斯大学、麻省理工学院、以色列理工学院和特拉维夫大

49、学的各个小 组的共同协作下,逐步提高了原协议(即Zerocoin)的效率和匿名性。“棱镜门”事件的主角爱德华斯诺登曾这样评价该项目:可解决比特币匿名程度不够的问题。 Zerocoin项目的原理:在比特币交易的区块链的主链上再加上一条侧链,这条侧链用于在数字货币交易过程中,当“付费者”的数字货币从钱包拿出的时候就将其拆分成数份,并在全网上重发一 遍。而这些被拆分的数字货币会在到达“收款者”的地址之前组合到一起,从而达到匿名交易的目的。 随着Zerocash技术不断成熟,人们认为是时候开发一种新的数字货币来取代比特币了。于是2016年1月20日Zcash官网宣布:“Zerocash协议”将被开发成一种全新的数字货币,即Zcash。它与比 特币的相同之处在于,Zcash的总量也被设为2100万。Zcash采用PoW分配方式,前4年里,矿工挖矿所得的20%会自动分配给Zcash团队和其投资者,也就是总量的10%。Zcash项目的主要特点,是其 交易会自动隐藏区块链交易的发送方、收款方以及交易的价值,只有掌握正确的密钥(View Key)的人才可访问这些内容。当然,用户可自行选择哪些人可以拥有这种权限。Zcash与比特币相比,更注 重隐私,以及对交易透明的可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1