改变世界的两大算法:加密货币与量子计算机
计算机算法已经从根本上改变了我们的生活方式。信息技术在我们的工作场所中根深蒂固,通信依赖于电子邮件、社交媒体和消息应用程序,休闲时间被视频游戏、流媒体音乐和在线电影占据,推荐算法影响着我们的购买决策,浪漫关系也可能由算法促成。除了这些已经融入生活的技术,还有更多革命性的技术正在科技巨头的时尚开放式办公室、初创公司的临时工作空间以及大学教授破旧的实验室中不断发展。下面,我们将深入探讨两种有可能改变世界的新算法。
加密货币
加密货币是一种仅以计算机网络中的信息形式存在的货币。世界上第一种加密货币比特币,截至2019年,流通的“硬币”已超过1700万枚,总市值达2000亿美元。加密货币似乎注定要扰乱全球金融体系。
起源
加密货币的起源可以追溯到20世纪90年代的密码朋克运动。密码朋克是一群由熟练的密码学家、数学家、程序员和黑客组成的松散团体,他们坚信电子隐私的必要性。通过邮件列表和在线讨论组相互联系,密码朋克们开发了开源软件,用户可以免费使用这些软件来保护自己的数据和通信安全。他们的理念在埃里克·休斯1993年的《密码朋克宣言》中得到了阐述:
- 隐私是电子时代开放社会所必需的。
- 我们不能指望政府、企业或其他大型匿名组织出于仁慈给予我们隐私。
- 开放社会中的隐私需要密码学。
- 密码朋克编写代码,因为我们知道必须有人编写软件来保护隐私,而且只有大家共同努力才能实现隐私保护,所以我们会编写代码并公开,让其他密码朋克可以使用和实践,我们的代码全球免费使用。
密码朋克们将他们的技能投入到一系列开发安全软件的项目中,比如PGP为电子邮件用户实现了RSA加密,Tor允许匿名网络浏览,他们还撰写了关于加密问题的白皮书,就加密技术的出口管制问题对美国政府提起诉讼,甚至偶尔会呼吁公众进行非暴力抵抗以支持他们的目标。同时,密码朋克们也推动了加密货币概念的发展。
优势
在他们看来,加密货币相对于传统货币有三个关键优势:
1.
无中央控制
:没有比特币中央银行,货币由计算机网络管理。任何人都可以加入网络,无需申请表,只需从互联网上下载加密货币软件并运行即可。网络中的所有计算机都是平等的,没有主次之分。
2.
用户匿名
:只要不将加密货币兑换成传统货币,用户就是匿名的。通过公钥密码学保证隐私,任何人都可以成为用户,只需下载一个应用程序,将交易提交到网络即可。
3.
低成本交易
:交易费用低且零销售税,此外,加密货币可以在国际间传输而无需支付货币兑换费用。
然而,尽管密码朋克们是加密货币的早期倡导者,但当时没有人知道如何让加密货币真正发挥作用,因为存在一个难以解决的双重花费问题。
传统的在线货币依赖于一个中央机构来批准交易,中央机构维护着所有交易的账本,通过检查账本,中央机构可以知道每个用户账户中有多少钱。当用户请求交易时,中央机构可以轻松检查他们是否有足够的资金来支付交易。如果有,交易被接受并记录在账本中;如果没有,交易被拒绝。
而设计加密货币的难点在于去除中央机构。理想情况下,由分布式计算机网络维护账本,网络中的每台计算机都有自己的账本副本,但难点在于同步这些账本副本,因为互联网上的通信延迟高度不可预测,计算机可以随时加入或离开网络,这些问题就导致了双重花费问题。
例如,假设爱丽丝的账户中只有1.5个加密货币,她欠鲍勃和查理钱。在绝望中,她向网络发送了两笔交易,一笔将1.5个加密货币转给鲍勃,另一笔将1.5个加密货币转给查理。如果她将这两笔交易发送到网络的不同部分,就有可能一台计算机正好在另一台计算机接受转给查理的交易的同时接受转给鲍勃的交易。如果运气好的话,爱丽丝就会同时支付给双方,从而双重花费她的资金。
比特币的诞生
2008年10月31日,中本聪在一个密码朋克邮件列表上发布的白皮书中宣布了解决双重花费问题的方案,该方案引入了世界上第一种实用的加密货币——比特币。次年1月,中本聪发布了比特币源代码和原始(或创世)比特币区块。
从根本上说,比特币只是计算机网络中保存的字符序列(数字和字母)。比特币之所以有价值,是因为人们相信它有价值,用户期望在未来能够用比特币交换商品和服务。在这一点上,比特币和你口袋里的纸币没有什么不同,纸币本身几乎没有内在价值,其价值源于你期望能够用它交换有价值的东西。
比特币的使用相当简单,用户可以通过应用程序买卖和交换比特币,比特币可以用于从参与的零售商那里购买现实世界的商品,数字经纪人也乐意将比特币兑换成传统的国家控制货币。用户的匿名性通过公钥密码学得到保护,在使用比特币之前,用户会生成一对公钥和私钥,私钥保密,公钥作为用户在比特币网络中的身份标识。
当用户想向另一个用户发送比特币时,会创建一个交易,交易包括交易ID、发送者ID、接收者ID、金额和输入交易的ID。输入交易是发送者之前接收比特币的交易,这些交易必须已经记录在账本中且未被花费过。例如,爱丽丝想给鲍勃发送0.5个比特币,她会引用之前从杰克那里收到0.3个比特币和从吉尔那里收到0.2个比特币的两笔交易,通过在新交易中包含这些先前交易的ID来完成操作。要花费的金额和引用的总金额必须完全匹配,如果有多余的比特币,发送者可能需要将一部分比特币作为找零返还给自己。
发送者的加密密钥用于验证交易,为了实现验证,发送者会在交易中附加一个数字签名,数字签名就相当于纸质支票上的手写签名。数字签名是通过用发送者的私钥加密交易摘要来创建的,通常公钥用于加密,私钥用于解密,但生成签名时过程相反,私钥加密,公钥解密,这意味着任何人都可以检查签名,但只有发送者可以创建它。
当比特币网络中的计算机收到交易时,首先会验证签名的真实性,通过用发送者的公钥解密签名得到交易摘要,接收者也会对交易进行摘要并比较解密后的摘要和计算出的摘要,如果两者匹配,交易就是真实的,因为只有拥有私钥的真正发送者才能创建数字签名;如果不匹配,交易将被拒绝。数字签名还确保了交易在传输过程中没有被篡改,因为任何对消息的更改都会改变其摘要,导致计算出的摘要与解密后的摘要不匹配。
交易摘要通过哈希算法计算得出,哈希算法将大量文本压缩成较短的字符序列,过程中会丢失一些信息,但输出序列高度依赖于输入,即原始文本的微小变化会导致输出的巨大随机变化,这个摘要通常被称为消息的哈希值,比特币中使用的哈希函数本质上是一种高级校验和算法。
验证交易签名后,新交易还需要进行有效性验证,接收计算机要检查输入交易是否存在于账本中,以及相关资金是否之前未被花费过。
区块链
接下来,交易将被确认并记录。网络计算机将新交易纳入一个更大的未确认交易块中,块只是一组未确认交易及其相关数据。网络计算机竞争将自己的块添加到账本中,获胜者将其块添加到块链中,这个块链就是账本,它将每个已确认的比特币块连接成一个不间断的序列,一直追溯到中本聪的创世块。链中的链接是通过在下一个块中包含前一个块的ID形成的,链严格定义了交易应用到账本的顺序,单个块中的交易被认为是同时发生的,任何先前块中的交易被认为是更早发生的。获胜者会将其块与整个网络共享,以确保所有账本保持最新状态。
这个竞争机制确保了一次只有一台计算机可以将一个块添加到链中,获胜取决于运气。在大多数情况下,第一名和第二名之间会有明显的延迟,这个延迟为获胜者的区块链更新在网络中传播提供了时间。虽然第一名和第二名并列的情况不太可能发生,但也有可能出现,为此规定在一个块被认为确认之前需要添加六个块到链中,连续六次并列在实际中几乎是不可能的。
要赢得竞争,计算机必须创建一个有效的块,这通过生成一个随机数并将其附加到一组候选交易上,然后对块应用哈希算法来实现。如果哈希值小于预定阈值,则候选块被认为是有效的;如果哈希值等于或大于阈值,则候选块被视为无效。网络计算机不断尝试不同的随机数,直到形成一个有效的块。第一台创建有效块的计算机获胜并与网络其他部分共享该块,其他计算机将该块添加到自己的账本副本中记录交易,然后所有计算机继续尝试使用尚未记录到账本中的交易创建新的有效块。
创建有效块实际上就是不断尝试随机数,无法提前预测哪个数字会通过哈希阈值测试,只能通过试错来找到合适的数字。由于产生有效块靠运气,所以任何计算机都有可能成为下一个获胜者,因此在添加块到链的过程中没有单一的权威机构,工作分布在整个对等计算机网络中。
那么比特币是如何产生的呢?每次网络计算机创建一个有效块时,其所有者会获得比特币作为奖励,这种验证块以获取比特币的过程称为挖矿。中本聪的创世块验证后释放了50个比特币,同样,网络计算机的所有者因维护账本而获得奖励。
比特币的早期采用者是在线黑市的买家和卖家,其在暗网上的兴起得益于非法毒品交易,起初主要吸引力在于匿名性。随着时间的推移,合法组织开始接受比特币支付,2012年Coinbase成立,成为数字货币的经纪商,2014年微软开始接受比特币用于在线购买Xbox游戏。比特币在“硬”货币中的价值波动剧烈,2011年,一个比特币仅值30美分,而在2017年12月18日,价格飙升至惊人的19498.63美元。
乍一看,比特币挖矿似乎是一种凭空创造金钱的方式,只需要安装比特币软件、下载账本并开始挖矿即可。然而,计算机的成本和消耗的电力是实实在在的。据估计,2019年全球比特币挖矿的年收益超过80亿美元,但成本也超过30亿美元。挖矿奖励每四年减半,最终大约会发行2100万个比特币。
比特币的成功催生了一系列加密货币,最著名的有以太坊(2015年)和Facebook的Libra(2019年)。此外,企业也在大力投资支持比特币的区块链技术,区块链提供了一个安全的分布式账本,独立于加密货币本身。区块链可以跟踪和强制执行任何形式交易的顺序,其应用可能性包括验证法律合同、维护在线身份、记录医疗历史、验证媒体来源和追踪供应链等,区块链可能会重塑广泛行业的运营模式,最终可能比比特币本身更有用。
中本聪之谜
关于比特币最奇怪的事情是,没有人知道比特币的发明者中本聪是谁。中本聪首次出现在人们视野中是发布原始比特币白皮书,他在密码朋克邮件列表上活跃了几年,2010年将比特币源代码的控制权交给了加文·安德烈森,次年4月,中本聪宣布:“我已经转向其他事情了,比特币在加文和大家的手中会很好。”此后,除了少数被认为是骗局的消息外,再也没有中本聪的消息。
当然,关于中本聪的身份有很多猜测,但线索很少。中本聪显然是世界级的密码学家(或一群密码学家),比特币源代码无可挑剔,所以他也是一位专家级程序员,他的书面英语非常完美,可能是母语为英语的人。仔细观察中本聪的帖子可以发现一些英国或澳大利亚口音的线索,创世块中包含了《伦敦时报》的一个头条,也许中本聪来自英国。对时间戳的分析表明,中本聪大多在格林威治标准时间下午3点到凌晨3点之间发布公告板消息,如果这是由于夜间睡眠模式导致的,那么这意味着中本聪可能住在美国东海岸。目前没有关于中本聪性别的线索。网上流传着各种嫌疑人名单,大多数顶尖的密码朋克的名字都曾被提及,甚至有些人声称自己是中本聪,但到目前为止,没有人能够证明自己就是中本聪。要解决这个问题,只需要解密使用中本聪公钥发送的消息,能够做到这一点的人一定拥有中本聪的私钥。
中本聪持有的110万个比特币至今未动,按2019年的价值计算,这些比特币价值超过110亿美元,按照这个计算,中本聪是世界上最富有的150人之一。为什么他(她或他们)不站出来认领自己应得的财富呢?是因为严格遵守密码朋克的荣誉准则,还是有更险恶的原因?中本聪仍然是一个谜。
下面用mermaid流程图展示比特币交易流程:
graph LR
A[用户创建交易] --> B[附加数字签名]
B --> C[网络计算机接收交易]
C --> D[验证签名真实性]
D -->|匹配| E[验证输入交易有效性]
D -->|不匹配| F[拒绝交易]
E --> G[纳入未确认交易块]
G --> H[竞争添加到区块链]
H -->|获胜| I[共享块更新账本]
H -->|失败| G
同时,我们可以用表格总结加密货币与传统货币的对比:
|对比项目|加密货币|传统货币|
| ---- | ---- | ---- |
|控制机构|无中央控制,由网络管理|由中央银行等中央机构控制|
|用户匿名性|只要不兑换传统货币,用户匿名|需要实名开户,交易可追溯|
|交易成本|交易费用低,零销售税,国际无兑换费用|可能有较高手续费和兑换费用|
|交易确认|通过区块链竞争机制确认|由中央机构快速确认|
改变世界的两大算法:加密货币与量子计算机
量子计算机
比特币严重依赖RSA公钥密码学来确保用户匿名性和提供交易认证。而RSA算法的安全性基于一个假设,即不存在快速分解大质数因子的算法。也就是说,没有快速方法能确定哪两个质数相乘得到一个给定的大数字。例如,确定21的质因数是3和7很容易,因为21较小,但对一个大质数进行质因数分解,即使用超级计算机也可能需要数十年时间。
比特币以及整个互联网安全体系都依赖于大质数分解缓慢这一单一假设。如果发明出一种快速质因数分解算法,比特币和互联网上几乎所有的秘密信息都将突然面临攻击风险。1994年,这种算法的幽灵开始出现,唯一的安慰是,这个神奇的算法需要一种新型计算机——量子计算机。
1981年,理查德·费曼在麻省理工学院的一次会议上发表了主题演讲。当时,63岁的费曼被广泛认为是有史以来最伟大的物理学家之一。战争期间,他在洛斯阿拉莫斯参与了曼哈顿计划;在康奈尔大学,他在量子电动力学领域取得了巨大进展;在加州理工学院,他引入了超流性和量子引力的新概念,并于1965年获得诺贝尔物理学奖。
费曼在麻省理工学院的演讲题目是《用计算机模拟物理》,他认为传统计算机永远无法准确模拟亚原子粒子的行为,因此需要一种新的计算机,这种计算机将利用量子效应来模拟物理系统,他的想法是利用亚原子粒子的奇特行为以极快的速度进行计算,费曼将他的理论机器称为量子计算机。
在接下来的十多年里,费曼的想法只是一种学术上的好奇,数学家和物理学家们只是偶尔探讨,没有人认真对待。毕竟,制造这样一台计算机是一项极其复杂的工作,而且当时看来似乎也没有太大的必要,因为传统电子计算机足以满足大多数任务的需求。
直到1994年,麻省理工学院应用数学教授彼得·肖尔改变了人们对量子计算机的主流看法。他公布了一种可以在量子计算机上快速进行质因数分解的算法。如果量子计算机能够制造出来,肖尔的算法将比以往任何方法都快得多。
传统计算机通过微观电线的电压水平来表示信息,如果电线的电压高,则表示1;电压低,则表示0。这种双电平系统称为二进制,因为每根电线只能有0或1两个值中的一个。在任何时刻,每根电线的电压都只有一个值,代表一个二进制数字(或比特),因此计算必须一个接一个地进行。
相比之下,量子计算机使用亚原子或量子粒子的特性来表示信息。可以使用亚粒子的各种物理特性,例如电子的自旋,向上自旋可以表示1,向下自旋表示0。使用亚原子粒子特性的最大优势在于,在量子世界中,粒子可以同时处于多种状态,这种奇怪的行为被封装在叠加原理中,这一效应是20世纪初物理学家发现的。一个电子可以同时以所有可能的方向自旋,利用这种效应来表示数据意味着一个电子可以同时表示0和1,这就产生了量子计算机中的基本信息单位——量子比特(qubit)。
随着量子比特的增加,量子计算机的计算能力呈指数级增长。一个量子比特可以同时表示0和1两个值,两个量子比特可以同时表示00、01、10和11四个值,一个10量子比特的系统可以同时捕获从0到1023的所有十进制值。当量子计算机执行操作时,该操作会同时应用于所有状态。例如,对一个10量子比特的系统加1,实际上是同时进行1024次加法运算。而在传统计算机上,这些1024次加法运算必须一个接一个地进行。这种效应使量子计算机具有指数级加速计算的潜力。
然而,这里存在一个问题。测量量子比特的值会使其状态坍缩,这意味着当测量量子比特的物理状态时,它会固定为一个单一的值。因此,即使一个10量子比特的系统可以同时进行1024次加法运算,但只能检索到一个结果,而且这个输出结果是从1024种可能性中随机选择的。显然,随机选择输出结果并不是我们所期望的,大多数情况下,我们希望输入一些数据并得到一个特定的结果。解决这个问题的方法是利用干涉效应,有时可以迫使不需要的状态相互进行破坏性干涉,从而去除不需要的结果,只留下单一的期望结果。
量子计算机非常适合需要评估多种可能性并返回单一结果的难题,组合优化问题就非常符合这一要求。例如,旅行商问题需要评估所有可能的城市游览路线长度,并只返回最短的路线。只要能够让次优解产生干涉,这个问题就非常适合量子计算机的架构。对于组合优化问题,量子计算机有望提供远远超过世界上最快超级计算机的性能。一台实用的量子计算机将彻底改变药物发现、材料设计和调度等具有挑战性的问题,同时也将破解质因数分解问题。
肖尔的质因数分解算法在传统计算机上运行缓慢,但非常适合量子计算机。该算法首先猜测一个质数,当然,这个猜测几乎肯定是错误的。但肖尔的算法不是再次猜测,而是试图改进这个猜测,它通过不断地将猜测值自乘,每次将原始大数字除以乘法结果并存储余数。经过大量重复后,余数序列会显示出一种模式,即序列以固定周期重复。肖尔的算法通过傅里叶变换来确定这个周期,傅里叶变换输出的峰值确定了序列的周期。可以将所求质数的一个倍数计算为原始猜测值的周期次幂除以2再减1。
此时,算法得到了原始大数字和它的一个质因数的倍数,这两个数字都是所需质数的倍数。找到两个数字的最大公约数相对简单,可以应用欧几里得算法。欧几里得算法通过不断地将一个数字减去另一个数字,直到两个工作值相等,此时的工作值就是最大公约数。在肖尔的算法中,这个最大公约数就是其中一个质因数,另一个质因数可以通过将原始大数字除以这个质因数得到。
该过程并非每次都有效,成功与否取决于初始猜测。如果程序失败,则从不同的猜测重新开始步骤。在99%的情况下,肖尔的算法可以在十次或更少的迭代中产生质因数。
在传统计算机上,不断将猜测值自乘的过程非常缓慢,需要大量重复循环才能出现模式。而在量子计算机上,由于叠加原理,这些乘法运算可以同时进行。之后,可以使用量子傅里叶变换消除除最强重复模式之外的所有模式,从而得到余数序列的周期,这个周期可以被坍缩和测量。最后,欧几里得算法在传统计算机上执行。叠加和干涉使量子计算机能够非常快速地执行肖尔的算法。
目前,谷歌、IBM、微软和一些初创公司的团队都在追逐量子计算的梦想。他们的设备更像是大型物理实验,而不是超级计算机。构建量子计算机需要设计和进行亚原子级别的量子逻辑门制造,测量和控制亚原子粒子的状态需要极其精确的设备。为了进行可靠的测量,量子比特必须冷却到接近绝对零度(-273°C)。
到目前为止,已经展示了最多72个量子比特的计算能力。理论上,72个量子比特应该提供巨大的计算能力,但实际上,量子噪声会影响性能。亚原子粒子状态的微小波动可能导致计算错误。为了弥补这一点,团队会将一些量子比特用于纠错,但这样一来,可用于计算的量子比特就会减少。表面上看,解决方案似乎很简单,只需添加更多的量子比特,但也存在担忧,如果更多的量子比特意味着更多的噪声和错误,那么可能就没有量子比特可用于计算了。
2019年10月,谷歌的一个团队声称他们的量子计算机实现了量子霸权。该团队表示,这台计算机完成了一项传统计算机几乎不可能完成的计算任务,即检查量子随机数生成器的输出是否真正随机。他们的Sycamore量子计算芯片使用53个量子比特在200秒内完成了任务,而该团队估计,在超级计算机上完成同样的计算需要超过10000年。不过,IBM对此表示异议,他们计算认为该任务可以在更短的时间内完成。
以下用mermaid流程图展示肖尔算法在量子计算机上的大致流程:
graph LR
A[猜测一个质数] --> B[不断自乘并取余]
B --> C[通过傅里叶变换确定周期]
C --> D[计算质因数倍数]
D --> E[用欧几里得算法求最大公约数得质因数]
E -->|成功| F[输出质因数]
E -->|失败| A
再用表格对比传统计算机和量子计算机:
|对比项目|传统计算机|量子计算机|
| ---- | ---- | ---- |
|信息表示|通过电线电压高低表示0和1|利用亚原子粒子特性,可同时表示多种状态|
|计算方式|计算依次进行|可同时对多种状态进行计算|
|计算速度|对复杂问题计算慢,如大质数分解|对特定问题,如组合优化和质因数分解可能极快|
|受干扰情况|受普通环境因素干扰小|受量子噪声影响大,需低温等特殊环境|
量子计算机和加密货币这两项技术都具有巨大的潜力,它们可能会在未来深刻地改变我们的金融体系、计算能力以及整个社会的运作方式。虽然目前它们都面临着一些挑战,但随着技术的不断发展,我们有理由期待它们带来更多的惊喜和变革。
超级会员免费看
3619

被折叠的 条评论
为什么被折叠?



