郭慧茹 贺珊 谢冬 刘晓硕 赵宁 【摘 要】大数据时代背景下,网络爬虫、人肉搜索等手段的问世,将人们的生活置于各种显微镜下,个人隐私信息保护就显得尤为重要。区块链技术凭借无需中介参与,过程高度透明,数据高度安全等优势成为了数据保护领域关键技术之一。本文介绍了区块链核心问题:拜占庭将军问题及其解决方案,通过拜占庭问题解析区块链共识机制保护信息安全并将区块链技术应用到日常生活,从而加强对个人信息的保护。 【关键词】区块链;Distributed Consensus;工作量证明机制 一、引言 2017年9月美国著名信贷机构equifax公开披露,该公司网站在5月中旬至7月间遭到黑客攻击,直接导致1.43亿美国人的信息数据被披露。身份保护是当今数字化世界中的一个必须面对的问题。网络爬虫、人肉搜索等手段的问世,将人们的生活置于各种显微镜下。如何保护个人隐私成为公众最为关注的话题之一。 二、拜占庭问题 (一)问题描述 拜占庭问题是来为描述分布式系统共识问题的一个著名故事。 拜占庭帝国想派了10名士兵攻击一个强大的敌人。这个敌人虽不比拜占庭帝国强,但也足以抵挡拜占庭五支正规军的同时进攻。除非至少有六支军队同时进攻,否则他们单独进攻都没有获胜的机会。他们分散在敌国各地,依靠通信兵之间的通信来协商攻击意图和攻击时间。如果一个或几个部队自己同意一起进攻,但实际的过程是背叛,那么他们都可能失败。这就是拜占庭的普遍问题。在这种情况下,拜占庭将军能找到一个分布式协议,通过远程谈判达成协议,赢得战争吗? (二)问题分析 在拜占庭问题上,最重要的是使将军们能够在不可信的环境中与叛徒建立对作战计划的共识。然而,达成共识并不容易。如果有叛徒,叛徒可能通过让其他将军接受不一致的信息来迷惑他们,可能欺骗一些将军自己采取进攻行动。 拜占庭问题目标就是忠诚的将军能够达成一致,对这些忠心耿耿的将军来说只要能够达成一致就行。如果万事俱备,客观上每个忠诚的将军只要进攻了就一定能够胜利,却因为叛徒的存在他们都"一致的"没有进攻;反之,条件不利,却因为叛徒的存在所有人都"一致的"进攻了。可以发现,只有"一致性"是不足以解决问题的,还需要"正确性"要求。 (三)问题解决算法 1.签字协议 书面协议是在将军模型中加了个隐含条件:假设10个国家,每个国家都可以派人向各个国家派信,一起约定一个事件。收到信的国家如果同意信内容的话,就可以在原信上签名盖章。将军们能够使用签名技术,签名不可伪造,同时任何人都可以验证签名的可靠性。所有的消息都是有记录的,解决了追根溯源的问题。 签字协议在现实中仍然可能面临各种问题:不信任的系统中,物理距离导致信息传输延迟。真正可信的签名体系难以构造。不可避免签名造假的问题。签名消息记录的保存依旧依附中心化的机构。如果能够依赖中心化可信的机构,也许能通过多方的签名记录整合在一起,更容易地实现10个国家的意见统一,但这是个伪假设,因为前提是这个网络就是互不信任的。在这种异步通信的条件下,要能协商一致是个大问题。 2.区块链技术 互联网的存在,首先降低了信息的流通成本。每个将军配一台电脑,如果10个将军中的几个同时发起消息,势必会造成系统的混乱,造成各说各的攻击时间方案,行动难以一致。为此中本聪开创性的提出了工作量证明机制,一举解决了单点一致性和系统一致性问题。 工作量认证机制是对工作量的认证。在比特币网络中要做的就是全网节点要共同算一道题,谁先算对,谁就能获得发出一条消息的权利,并且系统还会给算对的节点额外的奖励;然后全网节点在这条信息之后开始计算新的数学题。它加入的成本就是"工作量"即节点必须完成一个计算工作才能向各城邦传播消息。当某个节点发出统一进攻的消息后,各个节点收到发起者的消息必须签名盖章,确认各自的身份。 引用现代加密技术为这个信息签名,这种加密技术能够确认身份,确保消息传送的私密性,签名不可伪造、篡改。非对称加密算法的加密和解密使用不同的两个密钥.即:"公开密钥"(公钥)和"私有密钥"(私钥).如果消息使用公钥加密,那么需要该公钥对应的私钥才能解密;同样,如果消息使用私钥加密,那么需要该私钥对应的公钥才能解密.非对称加密的作用是:保护消息内容,并且让消息接收方确定发送方的身份.由此,一个不信任的分布式网络变成了一个可信的网络。 基于互联网的区块链技术,克服了口头协议和签字协议的种种缺点,使用公平的工作量证明机制,完美的解决拜占庭将军问题。 三、区块链的发展 (一)市场相关 ShoCard是一家在區块链之上开发身份管理平台的创业公司。用户可以通过该公司提供的App创建数字身份,所有的数据都是加密后本地存储,哈希后存储在区块链上。第三方机构也需要使用该公司的App来通过区块链验证用户的身份。 Blockstack一个开源项目,提供分布式的DNS,分布式的PKI,以及身份管理。Blockstack提供一个分布式的平台,用户对自己的身份和数据拥有绝对的控制权,而开发者在这之上可以开发分布式App,本地运行,调用用户提供的API。 Certcoin是MIT的学生开发的基于Namecoin的开源项目,是一个分散式的认证系统。 (二)未来信息保护案例 情景一:在登录时,只需要扫描一下来自你的app的银行网页上的二维码即可。然后,会向app推送一个通知,要求提供指纹验证,自动登录。 情景二:如果因为账户问题需要呼叫银行客服。通知将被发送到您的应用程序,同时与银行运营商通话:通知将要求一个指纹来验证你是谁。指纹验证之后,银行就会确定本人。 情景三:使用APP上传他们的所有文件。这些文件然后会在区块链上进行密封和加密,任何人都可以使用公共密钥来验证它们的真实性。 四、总结 身份保护服务业将在未来十年内出现巨大的变化。墨水签名很容易伪造,中心化密钥服务器非常危险,双因素授权服务往往是不可靠和不便捷的。区块链技术并非能够解决一切问题,像Shocard, Solidx,和Civic 这样的公司处于这种创新的前沿,而这种创新可能会为整个行业带来颠覆性变化。 理论上,区块链是不能改变的,它承担关键的基础设施角色。区块链只存在于数字世界,且不能保证用户的物理身份,这也是给企业带来了验证,链接还有导航的负担。 这些问题再次加强了强大的私人基础设施的需求。一个完整的控制,在缺乏法律先例的情况下,还涉及到基于区块链身份生态系统的实体对象就不得不接受风险,不确定性,和无限责任。 【参考文献】 [1] Marshall Pease和Robert Shostak《在存在缺陷的情况下达成协议》 计算机协会杂志 27,2 (1980年4月) [2]J S. Moore《程序验证:可靠硬件和软件的方法》美国核学会交易35(1980年11月),252-253 [3] Michael Fische《拜占庭将军和交易提交协议》1982年4月 [4]Michael Melliar-Smith《拜占庭时钟同步》第三届ACM分布式计算原理研讨会论文集(1984年8月),68-74