伯克利区块链课程:替代密码验证,比特币应用数字签名的进化之路

简介: 数字签名的诞生和区块链的最终问世,真正使得一个理想的去中心化交易网络成为了现实。但比特币还远远谈不上真正的价储藏和交换媒介,区块链世界的潜力尚待挖掘。

作为一个在高校间运行的研究加密技术和区块链的学术组织,伯克利区块链着眼于区块链技术生态领域的探讨,和在社区内部的普及教育,促进创新的讨论和进展,通过分析具体案例、模型构建和整合解决方案来帮助各公司从区块链技术中受益。据雷锋网AI金融评论了解,该组织成员包括近四十家专业从事区块链咨询和开发业务的机构,将伯克利社区等学界与更广泛的区块链技术生态系统连接起来。本文聚焦在数字签名在加密技术逐渐完善的基础上,一步步取代传统的账户密码的身份识别手段,并讲解其在比特币区块链网络中的具体应用机制。

9


这是加州大学伯克利分校 CS 294–144课程:区块链、加密经济学,在技术、商业和法律的未来前瞻。

比特币是区块链技术最早落地的应用案例。它的定义起源于Github上的比特币源代码。所以要想深入了解区块链技术,我们首先需要去搞懂比特币的区块链网络是如何运作的。

在今天,关于比特币的未来走向,区块链行业内外有着许多争论。它到底是数字黄金(价值储藏)还是一种全新的支付手段(交换媒介)?让我们从创始人对它最原始的明文定义--比特币白皮书中去找答案:

“一种纯点对点版本的电子现金将允许一方在线上直接发起支付,而无需经过任何金融机构。”

----《比特币:一种点对点电子现金系统》,by中本聪(Satoshi Nakamoto)

该如何完成中本聪提出的这一电子现金系统的设想?教授Dawn Song向我们详细讲述了其中运转的每个零件部分。

只存在于理想世界“零”的版本

一个完美的信任世界。在这里,用户可以直接向他人发送电子现金用以支付。这将使得整个交易流程简单便捷,因为没有中间商和验证流程的存在。但问题在于,在这个透明的世界里,隐私性和安全性将无从谈起,并且在防欺诈上也将无能为力。

在现实世界中,如果有人给了你一张一美元的钞票,对于本人而言知道自己持有这张钞票,而旁人却无从得知。但在线上,这样将有可能导致一个非常重大的隐患:双花问题(Double-Spending Problem)。在文件极易被复制和再造的前提下,如果我直接向你发送一张数字钞票,你将没有任何办法分辨得出来,我给的是原始真正的钞票,还是只是一个副本。

如果我们生活在一个完美的信任世界,我们无须担心上述双花问题。但在现实世界里,诈骗的风险一直存在,这使得我们必须寻找其他方法,来逐步完善线上支付。

中心化账本的1.0版本

对于大部分的用户,他们在进行线上商务活动时会选择一个可信第三方,来追踪资金的归属。用户通过了基于密码验证的身份核验环节后登录到一个中心化的网站,而这个中心化的网站可以对每一笔交易进行检查,以确保每个买家在交易中都钱花出去了,并且是他们真正所有可支配的资金,并保证每一个卖家都收到了账款。这一切都是通过中心化的账本来实现的。

通过这个系统,用户能够确实能够体验到简单便捷和快速的交易性能,这个可信第三方也有能力修复错误和取消交易。但是,它亦暴露出了不少问题:极其低下的安全性(用户密码有被盗的风险)、该中心化第三方的不公正性风险(该第三方会作弊或在裁定交易分歧时判决不公平),以及在隐私性保护上没有任何针对措施(没有任何一样事务是完全匿名的)。

这种类型的系统有一个很好的例子:Venmo。Venmo能够对经过它的中心化账本发送或接收的每笔支付进行追踪。具体到每一笔支付中,它会从买家的账户中扣除钱款,并将这笔钱存入卖家的账户。但如果你是Venmo的用户,你首先得相信Venmo能将公平准确地处理每笔交易。

2.0版本:数字签名的诞生替代密码验证

在2.0版本中,用户开始使用数字签名以进行身份核验,来取代输入用户名和密码的验证方式。

使用密码登录的验证方式的确显现出了很大的便利性,但与此同时它存在着重大的安全漏洞,在安全性上很脆弱。中心化第三方实体需要花大量精力对这套验证系统进行维护管理,然而它依然极易遭到攻击。在过去数年里,公司被黑客入侵的事件屡见不鲜,产生了许多受害者。

由此,出现了一种替代密码验证的全新身份核验手段:数字签名。

当你在现实世界中签下你的名字,其唯一性使得别人都知道这个签名代表着你本人,当这个签名与一份特定文档绑定在一起时,例如签署在文末,这就意味着这个签名不能够被用以表示你本人同意另一份文件。

10


比如教皇,至今仍使用如图上的这种戒指图章来签署文件(更常见于几个世纪以前)。通过将这枚戒指压印在蜡中,图像才能最终成形。而这个图像,在理论上,是被公众熟知所认为专属于教皇的签名(因为没有其他人拥有这枚戒指)。

现在,我们假定有个叫Emily的人需要设置一个数字签名,她将首先需要生成一个公钥(Public Key,以下图中简称PK)和一个秘密的私钥(Secret Key,以下图中简称SK)。公钥就类似于教皇戒指的印记,而私钥只有Emily自己知道,就如同是教皇的这枚戒指,只教皇一个人控制支配并从来不与其他人共享。

当Emily需要发送一段信息时,她将要将她的私钥和这段信息一同输入,通过应用到数学转换后,生成了Emily在这段信息上加注的数字签名。然后,当你接收到这段信息后,你就可以通过这个签名以及公钥,来检验这段信息是否真的是Emily用她的私钥所签署过的,来辨别真伪。

11_jpeg

为什么我们需要数字签名?出于更高安全性的考虑。当你使用私钥进行加密后,一个中心化的第三方实体或黑客将无法伪造或篡改你的交易(除非他们设法取得了你的私钥)。由于用户的私钥不是保存在这个中心化实体的服务器上,黑客在入侵这些服务器后,也无法偷得用户的信息。也正因为如此,数字签名还有了隐私性的保障。和以往要向中心化的第三方实体提交个人信息不同,用户可以通过提供类似笔名的公钥来进行身份验证。

但无论如何,值得注意的是,用户没有办法把他们的私钥单单存储在脑海当中,如同此前他们凭记忆保存他们的用户名和密码一样。启用私钥后,对于个人而言,用户还需自行对他们的私钥进行管理。

而对于那些中心化的第三方实体来说,它们同样需要在服务器上对公钥进行管理。因此,因为公钥与用户的个人身份存在着一定的联系,隐私性有被泄露的风险。最后,中心化的第三方实体依然有办法实现作弊和发起任何不公平的行为,因为它们仍然掌管着这个交易所必需的中心化账本。它们能够随意拒绝或不执行用户的交易,甚至能撤回篡改交易。

3.0版本:引入区块链加数字签名的批次交易

在这个版本中,用户依然可以在每笔交易中签署添加数字签名。用户依然需要对自己想私钥进行保管,而公钥依然存储在中心化的第三方实体那里。并且,这些实体依然管理着账本。

但有所不同的是,这些中心化的第三方实体每十分钟就需要将数字签名应用到成批次(加上以往批次)的交易当中,这些就被称作是“区块”(Blocks)。

一个区块就是一批次交易加上数字签名的集合。而整个链条则包括了一段时间内的所有交易。这就是为什么它被称作为“区块链”的原因。

相对2.0版本来说,这是一个很大的提升和进步,因为第三方实体不再能够罔顾事实删除交易数据,或面对不同的用户提供不同的批次交易。但由于账本仍然是中心化的,中心化的第三方实体依旧可以任意拒绝或发布交易。

在以往我们讨论过,过度信任这样一个中心化的实体会产生什么问题。银行可能会走向倒闭,政府会对贸易活动进行限制,还会冻结资产,甚至会引发恶性的通货膨胀。所以如果公众可以在交易中有所创新,无需信任中心化的第三方实体,这将是一件伟大的事情。

4.0版本:比特币的诞生

在比特币的区块链网络里,用户可以实现真正的隐私性保护(他们的身份对应于密钥),每笔交易在签署数字签名后在区块链上发布进行。最大的区别在于,账本是完全去中心化的。

实现了完全的去中心化,意味着整个社区都在记录维持着纯公共化的账本,由此没有任何一个单独的组织能够对交易进行限制。而在区块链上,对这个公共账本进行记录维持和验证的途径就是挖矿。网络通过制定一名参与者的方式来对区块上的交易进行排序。所有的矿工彼此竞争,都希望成为这一个对交易进行排序的唯一玩家,原因在于这个幸运的胜出者将由于创造了下一个区块而获得了额外比特币的奖励,这些奖励由系统产出(通常来说,每位矿工的奖励为12.5比特币)。

如何具体挖矿:投入算力竞赛的赌博行径

Professor Song 将挖矿形容为“哈希老虎机”。一个哈希函数通过特定的输入后,应用于函数转换后生成一个单独的随机的输出结果。谁最快找到这个正确的输出结果,就得到创造下一个区块的权力,也就赢得了这笔奖励。从这点来看,挖矿的确是碰运气的事,就像买彩票一样。

12_jpeg


值得注意的是,哈希函数有几个重要的性质:
  • 抗原像性(Pre-image resistance):给定一个输入后,从计算机科学的角度来讲很难去确定一个输出。
  • 抗碰撞性(Collision resistance):非常困难实现两个不同的输入得到同样的输出。
  • 确定性(Deterministic):给定输入的输出总是同样的结果。
  • 看起来随机。
  • 隐藏有关输入的信息。
    所以,矿工们的挖矿机器计算哈希函数的速度越快,成为第一个挖得下一个区块的可能性就越高。这就是工作量证明(proof of work )系统。无论是谁,只要投入了最多的算力都将被赋予挖掘下一个区块的权力,和得到系统奖励的比特币。而挖掘出来新的区块包含了上一个区块的哈希值和交易信息,以及被称为“nonce”的随机数(胜者的中奖彩票券:一串提供理想哈希值的数字,赋予了矿工创造下一个区块的权力)。

13

当矿工们同时找到一个区块时,会发生什么?

14
(如图所示,绿色区块是创世区块。黑色区块链条是被大众所接受的链条,故紫色链条即遭废弃。)


当矿工们同时找到了同一个区块,就会发生分叉现象(Fork)。这种情况经常发生,而更长的链条将会胜出。更长的链条也是承载了最多工作量的链条,紧接着后续的区块就会被添加到这条链上,而另一条链就遭废弃。在废弃区块中被写入的交易在之后将会被添加到胜出的区块链网络中。

在比特币中体现了哪些区块链技术特性?

  • 区块链是严格排序的信息序列。
  • 写入区块的权限是基于区块链网络设定的规则,而读取的权限是全球性的。
  • 没有信息可以被修改(不可篡改性)。
  • 没有中间商。
  • 更加透明化。
  • 理论上,交易效率可以被优化提升,并像传统金融工具一样进行清算和结算。
    Professor Song将区块链形容为具有一致性的分布式公告牌(每个服务器得到的结果一致),同时具有可用性(新出现的交易处理效率更高)。但区块链所蕴含的潜在优点远不止此。分布式系统要实施正常运转非常困难,比特币也还实现低交易费用、高交易效率的性能,也尚未成为一种真正的价值储藏、交换媒介或账户单位。

他最后引用这样一句话作为结束:

在一个分布式系统中,你的电脑可能会因为一个甚至你都没有意识到存在的计算机故障而导致瘫痪。

----Leslie Lamport(图灵奖得主,计算机科学家),1987

原文发布时间为:2018-02-05
本文作者:吴阳煜
本文来源:雷锋网,如需转载请联系原作者。

目录
相关文章
|
7天前
|
供应链 物联网 区块链
新技术趋势与应用:探索区块链、物联网和虚拟现实的未来
【10月更文挑战第37天】本文将探讨新兴技术如区块链、物联网和虚拟现实的发展趋势和应用场景。我们将从这些技术的基本原理出发,分析它们在当前社会中的应用,并预测未来的发展方向。同时,我们还将提供一些代码示例,以帮助读者更好地理解这些技术。
|
8天前
|
供应链 算法 区块链
深入浅出区块链技术:从原理到应用
【10月更文挑战第21天】 本文旨在为读者提供一个关于区块链技术的全面概述,包括其工作原理、关键技术特点以及在现实世界中的应用案例。通过本文,您将能够理解区块链如何在不依赖中心化机构的情况下确保数据的安全性和不可篡改性,并探讨这项技术如何被应用于金融、供应链管理等多个领域,以提高效率和透明度。
19 1
|
11天前
|
供应链 安全 中间件
深度探索区块链技术在供应链管理中的应用与挑战###
本文聚焦于区块链技术在现代供应链管理中的创新应用及其面临的挑战。通过分析区块链的去中心化、透明性和不可篡改性如何重塑供应链结构,提升效率与信任度,本文进一步探讨了实施过程中的技术融合难题、数据隐私保护、标准化缺失及成本控制等关键问题,为相关企业和技术开发者提供策略指导与未来趋势洞察。 ###
|
11天前
|
供应链 区块链
探索区块链技术在供应链管理中的应用与挑战
本文深入探讨了区块链技术在现代供应链管理中的创新应用及其面临的挑战。通过分析区块链的去中心化特性、不可篡改性以及透明度,阐述了如何利用这一技术优化供应链流程,提高数据共享的安全性与效率。同时,文章也指出了实施过程中的技术难题、成本考量及法规限制等挑战,为读者提供了对区块链技术在供应链领域应用前景的全面认识。
|
10天前
|
供应链 物联网 区块链
未来已来:探索区块链、物联网与虚拟现实技术的融合趋势与实践应用
【10月更文挑战第34天】随着科技的迅猛发展,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正逐步渗透到我们的生活中,不仅改变着我们的生活方式,还在重塑全球的经济结构。本文将深入探讨这些技术的发展现状、相互之间的融合趋势以及在实际应用中的创新场景。我们将通过具体案例分析,揭示这些技术如何共同作用,推动社会向更加智能、互联的方向发展。
26 3
|
12天前
|
供应链 区块链
深入探索区块链技术在供应链管理中的应用
本文通过分析区块链的基本概念、技术特性及其在供应链管理中的创新应用,探讨了区块链技术如何提高供应链的透明度、效率和安全性。文章首先介绍了区块链的定义及工作原理,随后详细阐述了区块链在供应链中的具体应用场景,包括数据共享、货物追踪、合同执行等方面。最后,文章讨论了区块链技术面临的挑战和未来发展趋势,为供应链管理领域提供了新的视角和技术解决方案。
|
12天前
|
供应链 分布式数据库 区块链
深度探索:区块链技术在供应链管理中的应用与优化####
【10月更文挑战第29天】 本文深入剖析了区块链技术如何革新供应链管理,通过构建去中心化的信任机制,显著提升透明度、效率及安全性。我们将探讨区块链在追踪产品来源、简化交易流程、增强数据安全等方面的具体应用实例,并分析其面临的挑战与未来发展趋势,为相关领域提供有价值的参考与启示。 ####
32 2
|
14天前
|
供应链 安全 物联网
深入浅出:区块链技术及其应用
【10月更文挑战第29天】 本文旨在为读者提供一个关于区块链技术的全面介绍,包括其基本原理、发展历程以及在多个领域的实际应用。通过本文,您将能够理解区块链不仅仅是一种技术,更是一种可能改变未来社会运作方式的理念。我们将探讨区块链如何从加密货币的基础扩展到供应链管理、智能合约、身份验证等众多领域,并分析它面临的挑战与机遇。
32 2
|
13天前
|
存储 供应链 安全
深入探讨区块链技术在数据安全中的应用
本文旨在探讨区块链技术在数据安全领域的应用,分析其如何通过去中心化的特性增强数据的安全性和透明度。文章首先介绍区块链的基本原理,然后详细阐述其在防止数据篡改、提高交易安全性以及实现数据共享方面的优势。最后,文章讨论了当前区块链技术面临的挑战和未来的发展趋势。
|
16天前
|
供应链 区块链
探索区块链技术在供应链管理中的应用
【10月更文挑战第28天】 本文深入探讨了区块链技术如何革新传统的供应链管理系统,通过提供一个去中心化、透明且不可篡改的数据记录平台,来增强整个供应链的透明度和效率。文章首先介绍了区块链技术的基本原理及其核心特性,随后分析了当前供应链管理面临的主要挑战,并详细讨论了区块链技术在解决这些问题中的潜在作用。通过具体案例分析,本文展示了区块链技术在实际供应链管理中的应用效果,包括提高数据透明度、降低运营成本、增强供应链各环节之间的信任等方面。最后,文章还探讨了实施区块链解决方案时可能遇到的技术与非技术障碍,并对未来区块链技术在供应链领域的发展趋势进行了展望。
52 2