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.
***
その科学者は、ROI の観点からは常に危険な従業員でした。彼らは宇宙についての真実を明らかにしようとしていますが、多くの場合、宇宙は彼らに鳥を与えます。実験するということは、おそらく価値のないアイデアに多大なお金と時間を賭けることを意味するため、科学者は、ブレークスルーを達成するまでは永遠のインターンであり、その後上級研究員になります。
そうは言っても、この科学者は私自身のお金を稼ごうとしてきた。
錬金術師にとって、これは文字通りのことでした。彼らは化学を発明し、世界的なゴールドラッシュの誕生を促進しましたが、残念ながら、鉛を金に変えるというのは何世紀にもわたって信じられてきた間違った考えでした。この捜索は、富を夢見るだけで次々と人々の生涯を費やしました。
しかし、彼らの粘り強さは、彼らの回復力と忍耐力の証でした。
忍耐とは、当分の間、過去の科学を裏付けるリスクを許容できる人物を雇用し続けることを意味した。そして、彼らは税金から集められた金/お金を持っていたので、それは王を意味しました。
魔法使いや占い師はあまり意味がありませんでした。彼らは、戦争に行く前に国王に楽しい時間を提供するために来たコメディアンでした。とはいえ、壁にガッツをぶつけるのは愚かなことかもしれないが、それは神秘的であり、もし彼らが正しければ二重に感動的だった。
そして、ここにこの(壊れた)科学者がいて、国王を勝利させるための本当の戦略を知っていると主張しました。
彼らの信頼性は何でしたか?
紀元前 200 年頃、科学者はアルキメデス、王はシラクサの政治指導者でした。当時の指導者であるということは、主に戦争に勝つ必要があることを意味しており、歴史がキングスにペテン師のまったくの役に立たないことを教えていたため、科学者には自分の主張をする機会が与えられました。
アルキメデスは自分の主張を無事に成立させた。彼は重い石を投げる独創的なクレーンとカタパルトでローマ人の船を沈めたと語り継がれています。
彼の時代以来、国王、王子、銀行家、大統領から科学者への支援は計り知れません。この科学者は尊敬されており、偉大な科学者は皆、その印象的な芸術作品でよくもてはやされていたレオナルド・ダ・ヴィンチでさえも、武器の設計に時間を割いていました。
武器は国王の勝利に役立ち、科学者の仕事を維持できるからです。科学者は間もなく、戦争遂行においてますます重要な役割を担うようになりました。特に物理学者と化学者は、これまでに無数の軍事装備品を設計してきました。
しかし、経済学、社会学、心理学、生物学における科学的手法の出現により、これらはすべて統計分析と論理的推論の力に基づいており、科学者は人類の取り組みのあらゆる分野で急速に重要な存在となりました。しかし、問題は残った。政府は依然として金融市場で十分なリスクを負うことができる最大の魚であるため、科学者は融資を受けるために通常、政府の資金に頼らなければならなかったし、今もそうしなければならない。
どんなに嫌っても構いませんが、政府からの信用がなければ、それが借金であろうと実際のお金であろうと、多くの科学的研究は停滞していただろう。最良の例は、SpaceX です。
しかし、政府と、お金を卑下し、借金で財政を賄う政府の能力により、世界戦争が長期化し、世界を破壊することがはるかに困難になりました。また、それは経済不況にもつながり、2008 年の金融危機の後、天才コンピュータ科学者であるサトシ ナカモトは、政府通貨切り下げの範囲外の通貨ツールであるビットコインの作成を決定しました。
ビットコインは誕生当初から物議をかもしてきました。もちろん、国王や政府はそれを嫌います。それは彼らのビジネスに食い込んでいます。民間部門の大部分も、技術の独占性を誇るその性質を嫌っていたので、6年後、スマートコントラクトなどの追加のブロックチェーンサービスを提供するために構築された暗号通貨であるイーサリアムを作成するためにハードフォークが実施されました。
信仰を持たない人々からは、他の多くのハードフォークがすぐに続きました。
しかし、ビットコインは依然として主流であり、最近ビッグファイナンスにとって興味深いものとなっています。ビットコインETFもそれを証明しています。 15年間、ますます大きくなり、より良くなり続けるものを笑い続けた後は、最も厳しい批評家でさえ黙って、より親密に耳を傾けるようになります。なぜなら、彼らは今、自分たちに何かが欠けていることを知っているからです。
エネルギー科学者も注目し始めており、ビットコイン マイニングがエネルギー転換への近道になる可能性があると主張する人もいます。エネルギーエンジニアたちは、ビットコインマイニングの補助金を受けて、より安価な電力パッケージを販売して好調だ。
しかし、彼らはパーティーに遅れています。コンピューター科学者は何十年もの間、ビットコイン、イーサリアム、ドージで良い収入を得てきました。そして、政府から多額の予算を得る必要がなく快適に暮らしている科学者がいるとしたら、それは 20 世紀のずっと昔からコンピュータ科学者でした。コンピュータ サイエンスの分野は物理学、天文学、生物学よりもはるかに歴史が浅いにもかかわらず、多くのコンピュータ サイエンティストは、王やその大銀行家に融資を懇願することなく、民間企業や個人の仕事で大きく稼ぐ方法をすぐに学びました。
ビットコインは人々のためのお金であり、科学はまた、何か良いことを実現するために自分の時間とお金をつぎ込む献身的な人々によって、オープンソース計画に基づいて公共財として行われるものへと進化してきました。
先ほど述べたように、コンピューター科学者は現在インターネット上に存在しており、コラボレーションの力と熱心な努力を使ってビットコインのエコシステムを熱心に改善しています。これらは主にソフトウェア開発の地から来ており、オレンジ色の丸薬をもらった後は、Bitcoiner の地に留まり、ビットコインのエコシステムを構築することを決意します。
しかし、他のタイプの科学者が参入する機会はあまりなく、これは誰でも利用できる広く開かれた存在する機会です。
現在、ビットコインの世界の科学者の多くは、ビットコイン ブロックチェーンのゼロ知識証明、ロールアップ、その他の層を構築するタイプのコンピューター科学者です。しかし、さらに多くの科学者が必要です。
繰り返しになりますが、私は、ビットコインマイニング装置が電力を持たない人々に電力アクセスを提供し、クリーンで孤立したエネルギー源への投資を管理しやすくする方法について、もっと多くの電気工学および電力工学の科学者が最前線に立つべきだと感じています。人々に電気を届けることで自分の仕事を設計する電気エンジニアよりも良い仕事はあるでしょうか?
発展途上国を問わず、電気工学を学ぶすべての大学生はこのことについて学ぶべきです。なぜなら、アフリカ、アジア、ラテンアメリカの発展途上国は、現地の人々が支払うことができない高額な保険料のせいで、安価なエネルギー源からの電力使用量を増やすことに苦労しているからです。座礁したエネルギー源からの電力アクセスを補助するためにビットコインを使用するという知識は、可能な限り広く広められるべきです。
現在、量子情報科学者を志している私は、ビットコインのエコシステムにも自分の居場所があると感じています。
一般の人々は、量子情報科学がビットコインをハッキングする可能性によってビットコインの功績を台無しにする恐れがあることを知っているかもしれませんが、量子耐性アルゴリズムの構築は量子機能の表面をなぞるだけでは決してないことがわかりました。
たとえば、量子技術はビットコインノードに優れた信号センサーを提供し、弱い信号でも正常に送信できるようになり、確実にブロックがマイニングされる可能性があります。
物流における量子コンピューティング ソリューションは、最適な使用のために国や大陸全体でビットコイン インフラストラクチャをより適切にセットアップする方法をより適切に導くのに役立つ可能性があります。
量子ネットワークは、 ビットコイン情報を安全に送信するためのより良い方法を提供する可能性があります。
ビットコインエコシステムの一部の問題は、量子情報科学の範囲であるBQP (有界誤差量子多項式) 問題である可能性があり、これらは量子コンピューターを使用して発見され、取り組む必要があります。
最も重要なことは、量子コンピューターは、従来のコンピューターよりもプルーフ・オブ・ワーク暗号通貨のマイニングにおいて桁違いに優れているということです。
ムーアの法則は終わりに近づいています。 IBMはすでに、わずか5個の原子を使ったトランジスタを開発している。小型化すると、熱雑音やその他のナノスケールの問題に対処することが難しくなります。熱ノイズを管理するために、量子ビットの場合と同様に、さらに多くの冷却が行われます。また、1 原子のトランジスタは事実上量子ビットです。
これは量子の領域であり、好むと好まざるにかかわらず、それほど遠くない将来、より多くの人が量子力学、ひいては量子コンピューティングを研究することになるでしょう。古典的なコンピューティングの世界は、同じテクノロジーを多数使用することによってのみ拡張でき、さらに多くのエネルギーを消費します。量子コンピューターなどの量子テクノロジーの効率向上が必要になります。
量子コンピューティングは非常に高価であると述べてきましたが、量子ビット構築の科学は進歩しており、システムはより強力になっています。独自のムーアの法則では量子ビットが指数関数的に増加することはないかもしれませんが、量子ビットの線形増加は指数関数的な計算能力につながります。ムーアの法則とはどのようなものですか!
このグラフを覚えているでしょう。
2023 年に約 140 億ドルで48 個の論理量子ビットが導入される場合 (論理量子ビットは数学理論で操作される実際の量子ビットです)、線形外挿により、上記のように 2030 年までに 1,250 億ドルで 428 個の論理量子ビットが導入されることになります。
しかし、今から 7 年後、ビットコイン自体は 1 ビットコイン当たり 20 万ドル、時価総額 4 兆 2,000 億ドルにまで膨れ上がっている可能性があります。線形外挿によると、10,000 論理量子ビットに到達するには、世界的な投資に 3 兆ドルが必要です。
ご覧のとおり、ビットコインだけで 7 年間の費用を支払うことができます。
なぜ 10,000 量子ビットなのか?
https://qworld.net/qcourse551-1/
過去 3 か月間、私は QWorld と Classic Technologies のコラボレーションで提供された QCourse551-1 を勉強してきました。私の研究プロジェクトは、プロジェクト 11 - グローバーの検索アルゴリズムを使用したビットコイン マイニングでした。
私のプロジェクトの動機は、10,000 個の論理量子ビットだけで、同じエネルギー消費量を使用する従来のシステムよりも高速にビットコイン マイニングを実行できることを示す研究論文から来ました。
これは、10,000 量子ビットでビットコインのマイニングに使用される完全な double SHA256 ハッシュ プロセスをエンコードできるためですが、Grover の検索アルゴリズムを使用しているため、square_root(N) (N はチェックインする要素の数) による 2 次の高速化が効果的に達成されます。非構造化データベース。ビットコインのマイニングを行う ASIC は、ノンス値のランダム ハッシュの非構造化データベースもチェックします。
問題は、どちらが速いかということです。
現在、ほとんどの ASIC マイナーは毎秒テラハッシュまたは100 万個のハッシュをチェックしています。たとえば、このマイナーは120TH/s をチェックします。これは毎秒 1 億 2,000 万のハッシュに相当します。
量子コンピューターはそれを超えることができるでしょうか?
もちろん。
square_root( 1 億 2,000 万) = 1 秒あたりのチェック数はわずか 10,954 です。効率が 1,095,400 % 向上しました。
そして、競争が激化すればするほど、量子コンピューターはレースで優位に立つことになります。
現在のハッシュ レートは、 1 秒あたり 6 億ハッシュにまで急増しています。これは、気候科学者が心配するほどの熱を放出している。しかし、これらすべての不格好な ASIC を 2032 年以降の最先端の QPU に置き換えた場合、1 秒あたり何回の比較ハッシュが計測されるでしょうか? square_root( 6 億 100 万) = 1 秒あたり 2,400 万チェック。効率が 24 億% 向上。
上記が魅力的な提案ではないとしたら、何が魅力的な提案なのか私にはわかりません。
ビットコインは量子コンピューティングの研究に資金を提供すべきだ。しばらく時間がかかりますが、それが実現したら、それは素晴らしいことになるでしょう。それは月面着陸よりも標準的な出来事となるだろう。
私たちの研究では、25 量子ビット未満で動作するグローバー演算子をモデルとした、8 ビットの入出力のみを備えた非常に単純化されたシステムをチェックしていました。
ハッシュ能力が非常に低いことを考えると、グローバー検索の利点を直接に明らかにすることはできず、古典的なコンピューター (私のラップトップ) の実行/深さと実行されるグローバー回路の深さの関連する複雑さの分析によってのみ推測することができました。 Classic Aer シミュレーターで。
これが何を意味するのか、エネルギー論と複雑さのグラフをモデル化できればよかったのですが、残念ながら時間がなくなりました。しかし、私たちの仕事には見せるべき成果物がいくつかありました。
以下は、各回路の深さを含むものです。
私たちは、難易度 = 1 で 16 進値のナンスを見つけるために、95 個の印刷可能な ASCII 文字をハッシュする MD5 (SHA256 の最も原始的ないとこ) の簡易バージョンをモデル化しました。
注: 8 ビット値を使用しているため、16 進数の値は 2 桁のみでした。したがって、難易度 1 の可能な値は、00、01、02、03、04、05、06、07、08、09、0a、0b、0c、0d、0e、0f の 16 通りのみです。
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 ループで出力します)。
ハッシュしてチェックする印刷可能な ASCII 文字は 96 個あるため、96 * 40 となり、回路の深さは 3840 になります。
ただし、これは私のラップトップでは高速に実行されます。数秒未満です。
私たちは、回路への入力 ASCII 文字が何であれ、難易度 1 のノンス値を見つけることをシミュレートするために、簡略化された MD5 アルゴリズムの量子バージョンをモデル化しました。
これが可能なのは、必要なのは 16 進値の先頭のゼロだけであるためです。ハッシュ セットが小さかったため (ASCII 文字が 96 文字のみ)、入力 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に心より感謝いたします。そして私たちの指導者であるエイル・コーンフェルド博士、ご指導を賜りました。
***
ハッシュレート分析の予測: ビットコインが量子情報科学を採用すべき理由 | HackerNoon