
Bitcoin Magazine
Kwestia kwantowa: WTF to są obliczenia kwantowe?
Czym są obliczenia kwantowe? Czym komputer kwantowy różni się od zwykłego komputera? Jakie ma to znaczenie dla Bitcoina?
Nowi użytkownicy Bitcoina nieuchronnie natykają się na te pytania i muszą zmierzyć się z problemami, które one przywołują, dotyczącymi narażenia Bitcoina na coś, co stanowi egzystencjalne zagrożenie dla jego istnienia, jeśli udałoby się stworzyć funkcjonalny komputer kwantowy.
Możliwość posiadania bitcoinów opiera się na fundamentalnym założeniu, że jeśli nie ujawni się bezpośrednio ich kopii, nikt poza osobą posiadającą klucz prywatny nie może podpisać transakcji monetami zabezpieczonymi tym kluczem. Obliczenia kwantowe podważają to założenie.
Komputery kwantowe to nie po prostu „komputery, tylko szybsze”. Działają w sposób fundamentalnie odmienny od komputerów klasycznych, dzięki czemu są znacznie wydajniejsze od komputerów klasycznych w bardzo konkretnych rodzajach obliczeń. Oczywiście nie zamierzam szczegółowo wyjaśniać, jak działają komputery kwantowe, w zaledwie czterech stronach, ale przedstawię podstawową intuicję dotyczącą tego, czym fundamentalnie różnią się od komputera klasycznego.
Przyjrzyjmy się więc temu, jak oba rodzaje komputerów radzą sobie z takimi rzeczami jak duże klucze kryptograficzne.
Komputery klasyczne
Wszystko, co jest przechowywane w komputerze klasycznym (lub po prostu komputerze, jak będziemy go dalej nazywać), zapisuje się jako ciąg jedynek i zer. Każdy bit (1 lub 0) to dokładnie 1 lub 0 — nie ma tu żadnej niejednoznaczności. Gdy dane są przechowywane, zapisuje się je jako ciągi jedynek i zer. Gdy dane są przetwarzane lub modyfikowane, dzieje się to bit po bicie, krok po kroku, dla każdej jedynki i każdego zera.
Tak właśnie działa komputer. Sekwencyjnie, krok po kroku, modyfikuje dyskretne i jednoznaczne porcje przechowywanych danych. Nie może pominąć żadnego kroku ani pójść na skróty (jeśli chodzi o wykonywane kroki, a nie o bardziej wydajne metody obliczeń matematycznych) — musi wykonać po kolei każdy krok danego obliczenia.
Gdy za pomocą komputera generujesz klucz prywatny, komputer pozyskuje losową wartość (na przykład wprowadzoną przez ciebie podczas rzucania kośćmi, pochodzącą z ogólnych danych wprowadzanych przez użytkownika, z losowości generowanej przez sprzęt urządzenia itp.) i zapisuje ją w pamięci jako ciąg jedynek i zer. Następnie musi pomnożyć tę wartość przez punkt generatora krzywej eliptycznej, aby uzyskać klucz publiczny. Odbywa się to za pomocą algorytmu, który sprowadzony do najbardziej podstawowej postaci jest dosłownie zestawem instrukcji określających, które bity pobrać, jak je zmodyfikować, przez jakie obwody fizycznie je „przepuścić”, aby to osiągnąć, a na koniec — jak zapisać z powrotem w pamięci nową wartość, zmodyfikowaną bit po bicie.
Aby uzyskać prawidłowy adres, trzeba wykonać jeszcze kilka kroków, ale na potrzeby tego artykułu nie musimy ich omawiać (są one jednak takie same jak opisany wyżej krok: to po prostu instrukcje, które określają krok po kroku, jak modyfikować jedynki i zera w pamięci).
Co by się więc stało, gdyby ktoś chciał użyć komputera, by odgadnąć cudzy klucz prywatny?
Istnieje 2256 możliwych kluczy prywatnych. To 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 różnych możliwych kluczy.
Komputer musiałby próbować każdego z tych możliwych kluczy prywatnych, jednego po drugim (albo tylu naraz, ile może przetwarzać równolegle), krok po kroku, postępując dokładnie według powyższych instrukcji generowania kluczy. Im więcej kluczy próbujesz sprawdzić równolegle, tym większej mocy obliczeniowej potrzebujesz, a nie ma żadnych skrótów, które pozwoliłyby uniknąć tego kosztu.
Im mniejszej mocy obliczeniowej chcesz użyć, tym więcej czasu to zajmie; im mniej czasu chcesz na to poświęcić, tym większej mocy obliczeniowej potrzebujesz.
To zadanie jest niemożliwe do wykonania przez komputer. Z jednej strony koszt obliczeń przekracza możliwości wszystkich komputerów na Ziemi, a z drugiej strony potrzeba na to tak dużo czasu, że każda gwiazda we Wszechświecie zdążyłaby zgasnąć, zanim sprawdzisz wszystkie klucze.
Aby rzeczywiście osiągnąć swój cel, potrzebujesz innej metody niż sprawdzanie kluczy po kolei lub równolegle. Właśnie tu z pomocą przychodzą komputery kwantowe.
Komputery kwantowe
Komputery kwantowe nie działają na dyskretnych stanach, w których wszystko jest dokładnie jedynką albo zerem. Najbardziej podstawową jednostką informacji w komputerze kwantowym jest kubit (kwantowy odpowiednik bitu). W przeciwieństwie do bitu kubit znajduje się w superpozycji gdzie jest jednocześnie zarówno 1 i 0. Przyjmuje jeden z dwóch stanów dyskretnych dopiero wtedy, gdy jest obserwowany.
To jeden z kluczowych elementów, dzięki którym komputer kwantowy może wykonywać obliczenia w inny sposób. Drugim jest splątanie. Kubity nie są przechowywane w izolacji — reprezentujące je atomy fizyczne, które po zaobserwowaniu zapadają się do stanu dyskretnego, są splątane razem. Oznacza to, że gdy splątane atomy zostaną zaobserwowane i zapadną się do jednego stanu, splątane atomy zapadają się do tego samego stanu, bez względu na to, jak daleko od siebie się znajdują.
Teraz zaczyna się robić dziwnie i będę musiał trochę upraszczać; mimo to powinieneś zyskać intuicyjne zrozumienie tego, dlaczego komputery kwantowe zasadniczo różnią się od klasycznych. Algorytm wykonywany na klasycznym komputerze to zestaw instrukcji, które każą wziąć określony zestaw bitów i krok po kroku modyfikować go zgodnie z tymi instrukcjami, aż do zakończenia działania i zwrócenia gotowego zestawu nowych bitów. Algorytm przekształca więc krok po kroku jeden dyskretny stan w inny.
Kubitów nie opisują dyskretne stany, dopóki nie zostaną zaobserwowane i nie zapadną się do jednego z nich. Przechowują prawdopodobieństwa. Gdy masz splątany zestaw kubitów o dowolnej wielkości (jak w tym hipotetycznym przypadku 2256), każdy możliwy stan, do którego układ może się zapaść, ma określone prawdopodobieństwo zapadnięcia się do tego stanu.
Algorytmy kwantowe nie są instrukcjami wykonywanymi krok po kroku na dyskretnych stanach, lecz zestawem instrukcji określających, jak działać na tych splątanych kubitach w sposób zmieniający prawdopodobieństwa różnych wyników. Interferencja konstruktywna służy do zwiększania prawdopodobieństwa uzyskania poprawnego wyniku, a interferencja destruktywna aby zmniejszyć prawdopodobieństwo uzyskania nieprawidłowych wyników (zauważ, że NIE chodzi tu o szum ani zakłócenia, które utrudniają dokładne działanie fizycznych komputerów kwantowych — to zupełnie inne zjawisko).
Podczas gdy komputer klasyczny musiałby sprawdzać kolejno każdy klucz prywatny, aby znaleźć ten pasujący do konkretnego klucza publicznego, komputer kwantowy może po prostu uruchomić odpowiedni algorytm kilka razy i uzyskać prawidłową odpowiedź. nie robi tego poprzez „sprawdzanie wszystkich możliwości naraz”. Po prostu modyfikuje prawdopodobieństwa tego, do jakiego stanu zapadnie superpozycja.
Dlatego komputer kwantowy mógłby podważyć założenia leżące u podstaw kryptografii krzywych eliptycznych, a komputer klasyczny nie mógłby tego zrobić (i dlatego komputery kwantowe są przydatne tylko w przypadku niektórych rodzajów obliczeń, w których istnieje ogromna przestrzeń możliwych odpowiedzi do sprawdzenia).
Nie panikuj
Ta fundamentalna różnica między obliczeniami klasycznymi i kwantowymi oznacza, że tak — jeśli powstanie działający, praktyczny komputer kwantowy, podważone zostanie założenie, które zabezpiecza bitcoiny każdego bitcoinerа. Wszystkie te środki będą niezabezpieczone.
Tak, to poważne zagrożenie, jeśli takie urządzenie rzeczywiście zostanie wyprodukowane i będzie działać, ale nie jesteśmy zupełnie nieprzygotowani. Rozumiemy problem i związane z nim ryzyko, a wiele możliwych rozwiązań różnych aspektów tego problemu zaczyna się wyłaniać.
Weź oddech i się rozluźnij. W dalszej części tego wydania przeprowadzimy Cię przez cały problem.
Ten artykuł ukazał się w najnowszym drukowanym wydaniu Bitcoin Magazine — „Wydaniu kwantowym”. Dzielimy się nim tutaj, aby już teraz przybliżyć Ci idee omawiane w całym wydaniu.
Ten artykuł, „Wydanie kwantowe: WTF to obliczenia kwantowe?”, ukazał się po raz pierwszy w Bitcoin Magazine. Jego autorem jest Shinobi.
Źródło: BitcoinMagazine




