Pushing Bitcoin's boundaries. Learning, Teaching.
This story contains new, firsthand information uncovered by the writer.
The is an opinion piece based on the author’s POV and does not necessarily reflect the views of HackerNoon.
***
就投资回报率而言,科学家一直是一个有风险的员工。他们试图揭开宇宙的真相,而宇宙往往给了他们这只鸟。因为实验意味着在可能毫无价值的想法上冒大量金钱和时间的风险,所以科学家永远是实习生,直到取得突破,然后他们才会成为高级研究员。
也就是说,这位科学家一直在努力自己赚钱。
对于炼金术士来说,这是字面上的意思。虽然他们发明了化学并促进了世界范围内淘金热的诞生,但遗憾的是,几个世纪以来人们一直认为将铅变成黄金是一个错误的想法。这一寻找耗费了一个又一个人的一生,只有对财富的梦想才能帮助他们渡过难关。
但他们的坚韧证明了他们的韧性和耐心。
耐心意味着暂时继续雇用那些能够承担过去支持科学的风险的人。这意味着国王,因为他们有从税收中征收的黄金/金钱。
巫师和算命师没有多大意义,他们是喜剧演员,来为国王在战争前带来欢乐。虽然,把内脏扔到墙上可能很愚蠢,但它很神秘,如果他们是对的,那就加倍令人印象深刻。
这位(破产的)科学家坚称他们知道帮助国王获胜的真正策略。
他们的可信度如何?
大约公元前200年,科学家是阿基米德,国王是锡拉丘兹的政治领袖。在那个时代,作为一个领导者很大程度上意味着你需要赢得战争,历史告诉国王江湖骗子完全无用,这位科学家有机会证明自己的观点。
阿基米德的说法正确。据记载,他用巧妙的起重机和投掷重石的弹射器击沉了罗马人的船只。
自他时代以来,国王、王子、银行家和总统对科学家的资助一直是巨大的。科学家受到尊重,所有伟大的科学家,甚至是因其令人印象深刻的艺术作品而受到奉承的达芬奇,都抽出了一些时间来设计武器。
因为武器可以帮助国王获胜,从而让科学家保住工作。科学家很快在战争努力中变得更加关键。尤其是物理学家和化学家,迄今为止他们已经设计了无数形式的军事硬件。
然而,经济学、社会学、心理学、生物学中科学方法的出现,都依靠统计分析和逻辑推理的力量,很快使科学家在人类努力的各个领域中变得重要。然而问题依然存在。为了获得贷款,科学家通常必须并且仍然必须依赖政府资助,因为政府仍然是能够在金融市场上承担足够风险的最大鱼。
你可以恨它一切,但如果没有政府的信贷,无论是债务还是真金白银,许多科学工作就会陷入停滞。最好的例子——SpaceX。
然而,政府及其贬值货币和债务融资的能力,使得世界大战持续时间更长,对世界的破坏更加严重。它还导致了经济萧条,2008年金融危机后,天才计算机科学家中本聪决定创建比特币——一种不受政府货币贬值影响的货币工具。
比特币从诞生之日起就备受争议。当然,国王和政府讨厌它。它正在切入他们的业务。私营部门的很大一部分也厌恶其以技术排他性为荣的本质,因此六年后,实施了硬分叉以创建以太坊,这是一种旨在提供智能合约等额外区块链服务的加密货币。
许多其他硬分叉很快就从不忠实的人那里产生了。
然而,比特币仍然是主流,并且最近引起了大型金融机构的兴趣。比特币 ETF 证明了这一点。经过 15 年的嘲笑,即使是最严厉的批评者也会闭嘴,开始更仔细地倾听。因为他们现在知道他们错过了一些东西。
能源科学家也开始关注,一些人声称比特币挖矿可能是我们实现能源转型的快速通道。能源工程师在销售更便宜的电力套餐方面做得很好,这些电力套餐还得到了比特币挖矿的补贴。
但这些都来得太迟了。几十年来,计算机科学家一直在比特币、以太坊、Doge 上赚得盆满钵满。如果说有哪位科学家在不需要从政府获得巨额预算资助的情况下过着舒适的生活,那就是计算机科学家,早在 20 世纪就已经如此。虽然计算机科学领域比物理学、天文学、生物学要年轻得多,但许多计算机科学家很快就学会了从私营企业和个性化工作中赚大钱,而无需向国王及其大银行家乞求贷款。
比特币是为人民服务的货币,而科学也已经发展成为一种公共利益,通过开源计划,由投入自己的时间和金钱来实现美好事物的奉献者完成。
正如我所提到的,计算机科学家现在存在于互联网上,他们正在利用协作的力量和他们的认真努力热切地改善比特币生态系统。这些人大多来自软件开发领域,在获得橘子丸后,决定留在比特币人领域并建立比特币生态系统。
然而,对于其他类型的科学家来说,还没有太多的入口,而这是任何人都可以利用的现有机会。
目前,比特币世界中的许多科学家都是此类计算机科学家,他们构建了零知识证明、汇总和比特币区块链的更多层。但还需要更多的科学家。
重申一下,我认为更多的电气和电力工程科学家应该站在比特币挖矿设备如何为那些没有电力供应的人提供电力的最前沿,从而使对清洁、搁浅能源的投资更容易管理。还有什么比成为一名电气工程师更好的工作,通过为员工提供电力来设计自己的工作呢?
每个电气工程专业的大学生,无论在哪个发展中国家,都应该了解这一点。因为非洲、亚洲和拉丁美洲的发展中国家正在努力扩大原本廉价能源的用电量,因为当地人无法支付高额电费。使用比特币来补贴搁浅能源的电力供应的知识应该尽可能广泛地传播。
现在,作为一名有抱负的量子信息科学家,我觉得我在比特币生态系统中也有一席之地。
虽然公众可能知道量子信息科学如何通过潜在的黑客攻击来威胁消除比特币所做的好事,但我发现构建抗量子算法还远远没有触及量子能力的表面。
例如,量子技术可以为比特币节点提供更好的信号传感器,甚至允许微弱的信号成功传输并确保区块被开采。
物流中的量子计算解决方案可以帮助更好地指导如何在国家和大陆之间更好地建立比特币基础设施以实现最佳使用。
量子网络可以提供更好的方式来安全地传输比特币信息。
比特币生态系统中的一些问题可能是BQP (有界误差量子多项式)问题,这些问题属于量子信息科学的范围,应该使用量子计算机来发现和解决。
最重要的是,量子计算机在挖掘工作量证明加密货币方面将比传统计算机好几个数量级。
摩尔定律即将结束。 IBM 已经制造出了只有 5 个原子的晶体管。为了变得更小,管理热噪声和其他纳米级问题变得更加困难。为了控制热噪声,需要进行更多的冷却,就像量子位一样。此外,单原子晶体管实际上是一个量子位。
这就是量子领域,无论你喜欢与否,在不久的将来会有更多的人研究量子力学,进而研究量子计算。经典计算世界只能通过多种相同技术来扩展,这将消耗更多的能源。需要提高量子计算机等量子技术的效率。
虽然我说过量子计算非常昂贵,但构建量子位的科学正在不断发展,系统也变得越来越强大。根据摩尔定律,量子位可能不会呈指数增长,但量子位的线性增长会导致计算能力呈指数增长。摩尔定律是哪一种啊!
你还记得这张图;
如果 2023 年大约 140 亿美元可以带来48 个逻辑量子位(逻辑量子位是数学理论中操纵的真实量子位),那么通过线性外推,到 2030 年,如上所示,1250 亿美元将带来 428 个逻辑量子位。
但 7 年后,比特币本身可能会飙升至每枚 20 万美元,即 4.2 万亿美元的市值。通过线性推断,全球需要 3 万亿美元的投资才能实现 10,000 个逻辑量子位。
正如我们所看到的,仅比特币就可以支付 7 年的费用。
为什么是 10,000 个量子比特?
https://qworld.net/qcourse551-1/
在过去的三个月里,我一直在学习 QWorld 和 Classiq Technologies 合作提供的 QCourse551-1。我的研究项目是项目 11 - 使用 Grover 搜索算法进行比特币挖矿。
我的项目的动机来自一篇研究论文,该论文表明,仅 10,000 个逻辑量子位就可以比任何使用相同能耗的经典系统更快地进行比特币挖掘。
这是因为 10,000 个量子位可以编码用于挖掘比特币的完整双 SHA256 哈希过程,但由于它们使用 Grover 的搜索算法,因此它们可以通过 square_root(N) 有效地实现二次加速,其中 N 是要检查的元素数量非结构化数据库。挖掘比特币的 ASIC 还会检查随机散列的非结构化数据库中的随机数值。
问题是,哪一个更快?
如今,大多数 ASIC 矿工每秒检查 terahash 或100 万个哈希值。例如,该矿工检查 120TH/s。也就是说每秒 1.2 亿次哈希。
量子计算机能打败它吗?
当然。
square_root( 1.2 亿) = 每秒仅检查 10954 次。效率提高 1,095,400%。
竞争越激烈,量子计算机在竞争中就越领先。
当前的哈希率正在飙升至每秒 6 亿次哈希。它所释放的热量足以让气候科学家担心得要命。但是,如果我们从 2032 年开始用最先进的 QPU 取代所有那些笨重的 ASIC,它们每秒会记录多少个比较哈希值呢? square_root( 600 百万 百万) = 每秒 2400 万次检查。效率提高了 24 亿% 。
如果以上都不是一个有吸引力的主张,我不知道什么才算了。
比特币应该资助量子计算研究。这需要一段时间,但当它发生时,那将是辉煌的。这将是比登月更经典的事件。
在我们的研究中,我们正在检查一个只有 8 位输入和输出的极其简化的系统,该系统以使用 25 个量子位以下的 Grover 算子为模型。
鉴于我们的哈希能力非常低,格罗弗搜索的优势无法直接体现出来,只能通过对经典计算机(我的笔记本电脑)的运行/深度与执行的格罗弗电路的深度进行相关复杂性分析来推断在 Classiq Aer 模拟器上。
虽然对能量学和复杂性图进行建模会很好,但不幸的是,我们没有时间了。然而,我们的工作有一些成果可以展示。
以下是我们所拥有的内容,包括每个电路的深度。
我们建模了 MD5(SHA256 最原始的表亲)的简化版本,对 95 个可打印 ASCII 字符进行哈希处理,以找到难度 = 1 的十六进制值的随机数。
注意:我们的十六进制值只有 2 位,因为我们使用的是 8 位值。因此,我们可能的难度 1 值仅存在 16 种可能性,即 00、01、02、03、04、05、06、07、08、09、0a、0b、0c、0d、0e、0f。
00也是难度2的元素。因此,搜索/散列函数被称为simplified_MD5_8bit_difficulty_1or2。
def simplified_MD5_8bit_difficulty_1or2(): printables_list = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' for i in printables_list: x2 = ord(i) x3 = bin(x2)[2:] if len(str(x3))==7: x4 = x3+'0' if len(str(x3))==6: x4 = x3+'00' x5 = list(x4) a0 = 2*int((x5[0])) a1 = int(x5[1]) b0 = 2*int((x5[2])) b1 = int(x5[3]) c0 = 2*int((x5[4])) c1 = int(x5[5]) d0 = 2*int((x5[6])) d1 = int(x5[7]) a = a0 + a1 b = b0 + b1 c = c0 + c1 d = d0 + d1 a = ((d ^ (b & (c ^ d))) + (c ^ (d & (b ^ c))) + (b ^ c ^ d) + (c ^ (b | ~(d))) + b) print() d1 = d//2 d0 = d%2 d = d1*(2**7) + d0*(2**6) a1 = a//2 a0 = a%2 a = a1*(2**5) + a0*(2**4) b1 = b//2 b0 = b%2 b = b1*(2**3) + b0*(2**2) c1 = c//2 c0 = c%2 c = c1*(2**1) + c0*(2**0) decimal_result = d + a + b + c binary_result = bin(decimal_result)[2:] print(binary_result) hex_result = hex(decimal_result) print(hex_result) if hex_result == '0x0': difficulty_2.append(hex_result) collisions_difficulty_2.append(i) if hex_result == ('0x1' or '0x2' or '0x3' or '0x4' or '0x5' or '0x6' or '0x7' or '0x8' or '0x9' or '0xa' or '0xb' or '0xc' or '0xd' or '0xe' or '0xf'): difficulty_1.append(hex_result) collisions_difficulty_1.append(i) print('Difficulty_1 list = ',difficulty_1) print('Difficulty_2 list = ',difficulty_2) print('Colliding inputs for difficulty 1 = ',collisions_difficulty_1) print('Colliding inputs for difficulty 2 = ',collisions_difficulty_2) difficulty_2 = [] difficulty_1 = [] collisions_difficulty_1 = [] collisions_difficulty_2 = [] import numpy as np simplified_MD5_8bit_difficulty_1or2()
可以看出,为了找到难度 1(以及难度 2)元素,我们必须重复 40 行代码(忽略空格并在 for 循环中打印)。
有 96 个可打印 ASCII 字符需要进行散列和检查,因此 96 * 40 为我们提供了 3840 的电路深度。
然而,我的笔记本电脑运行速度很快。不到几秒钟。
我们对简化 MD5 算法的量子版本进行了建模,以模拟寻找难度为 1 的随机数值,无论电路的输入 ASCII 字符是什么。
这是可能的,因为我们所需要的只是十六进制值开头的零。由于我们的哈希集很小(只有 96 个 ASCII 字符),我们调整系统以忽略输入的 ASCII 值,因此它是多余的,并旨在捕获给定算术表达式的所有可能的零;
a == ((d ^ (b & (c ^ d))) + (c ^ (d & (b ^ c))) + (b ^ c ^ d) + (c ^ (b | ~(d)) )) + b)
这也是经典Python算法中的。
请注意,相加的 4 个函数源自原始 MD5 算法。
由于我们想要难度为 1 的值,因此我们将d = 0和a = 0添加到上述函数中,然后在 Classiq 平台中综合它。
(注:这是一条捷径,得益于 Classiq 团队的不懈努力。Python 代码也是在 Classiq Python SDK 中构建的,但它在最后一刻出现了故障。因此,我们只有适用于 Grover 操作员的可用 Python SDK 代码,但不适用于难度为 1 的哈希/搜索的 Grover 运算符,这就是您必须在此处看到的)
因此我们的输入算术表达式是;
a == ((d ^ (b & (c ^ d))) + (c ^ (d & (b ^ c))) + (b ^ c ^ d) + (c ^ (b | ~(d)) )) + b) 且 d == 0 且 a == 0
所得电路的深度仅为 913
量子电路获胜!
虽然项目时间结束了,但我们的工作仍在进行中,直到我们构建出一个可运行的 10,000 量子位量子比特币矿工为止。
我们非常欢迎自愿为我们提供技术支持。我们的一些代码仍然存在问题,而且我们只触及了 Classiq 平台功能的表面。这是一个巧妙的软件工具,它消除了对门进行繁琐的修补,而任何使用 Qiskit 构建相同项目的人都需要这样做。
特别感谢 Classiq 和 QWorld 提供的机会。还有我们的导师 - Eyal Cornfeld 博士的指导。
***