A A A

Program Apollo i koparka kryptowaluty

16 lipca 2019, 07:00
Czy komputer pokładowy AGC, wykorzystywany podczas lotów na Księżyc, nadaje się do pozyskania bitcoinów?
Program Apollo i koparka kryptowaluty

Dzisiaj, 16 lipca, mija równo pół wieku od startu misji Apollo 11, która cztery dni później zakończyła się pierwszym lądowaniem ludzi na Księżycu (i bezpiecznym powrotem do domu po kolejnych czterech dniach).

Rakieta Saturn V wyniosła na orbitę i pozwoliła dotrzeć w pobliże Księżyca statkowi kosmicznemu złożonemu z dwóch sekcji: modułu dowodzenia/serwisowego (CSM, Command/Service Module) i lądownika – modułu księżycowego (LM, Lunar Module). Ich pracą sterował komputer pokładowy programu Apollo (AGC, Apollo Guidance Computer).

Ken Shirriff, pasjonat zajmujący się przywracaniem do życia starych urządzeń elektronicznych (i dysponujący, jak sam twierdzi, jedynym działającym systemem AGC), postanowił sprawdzić, czy komputer wykorzystywany podczas programu Apollo sprawdzi się jako koparka bitcoinów (BTC).

Zacznijmy od podstaw: AGC nie przypominał współczesnych komputerów. Maszyna nie mała mikroprocesora. W latach 60. ubiegłego stulecia nic takiego nie istniało w ogóle. Procesor komputera został zbudowany z układów scalonych zawierających około 5600 bramek logicznych NOR. Skonstruowano z nich przerzutniki wykorzystane jako rejestry, dekoder rozkazów, układ adresowania pamięci i jednostkę arytmetyczno-logiczną (ALU, Arithmetic Logic Unit).

Jednostka centralna komputera pokładowego programu Apollo

Jednostka centralna komputera pokładowego programu Apollo

Ówczesna technologia pozwalała na upakowanie w jednym układzie scalonym dwóch bramek NOR. Komputer zawierał 24 moduły złożone ze 120 układów scalonych (czyli z 240 bramek NOR). Przykładowo, rejestry i jednostka arytmetyczno-logiczna zajmowały cztery moduły. Całość operowała na szesnastobitowych słowach maszynowych (15 bitów polecenia lub danych plus jeden bit kontroli parzystości).

Programy odpowiedzialne za trajektorię lotu, sterowanie silnikami i nawigację, zapisane w postaci kodu maszynowego, były umieszczone w stałej (ręcznie tkanej) pamięci ferrytowej o pojemności 36 tysięcy słów maszynowych (ok. 74 kB). Pamięć kasowalna (według współczesnej nomenklatury – RAM) również była wykonana z rdzeni ferrytowych i miała pojemność ok. dwóch tysięcy słów (czyli ok. 4 kB).

Całą jednostkę AGC zdublowano: jeden komputer znajdował się w module dowodzenia/serwisowym, a drugi – w module księżycowym. Maszyna była powolna nawet jak na standardy lat sześćdziesiątych: potrafiła wykonać raptem 40 tysięcy operacji dodawania na sekundę. Warto jednak pamiętać, że najmniejsze ówczesne komputery miały rozmiary lodówki i nie musiało im wystarczać zasilanie bateryjne niemal 400 tysięcy kilometrów od Ziemi.

Sekwencja startowa misji Apollo na symulatorze modułu DSKY

Sekwencja startowa misji Apollo na symulatorze modułu DSKY

Neil Armstrong, Buzz Aldrin i Michael Collins (oraz ich następcy) porozumiewali się z AGC za pomocą modułu wyświetlacza/klawiatury (DSKY, DiSplay KeYboard). Przypominał on nieco interfejs kalkulatora: miał klawiaturę numeryczną [0–9], zestaw klawiszy funkcyjnych, siedmiosegmentowe wyświetlacze (zwane rejestrami) oraz podświetlane kontrolki. Programowy symulator modułu DSKY można zobaczyć i przetestować na stronie Moonjs: An Online Apollo Guidance Computer (AGC).

Czy za pomocą takiego urządzenia da się wykonać operacje potrzebne do zdobycia bitcoinów? Przypomnijmy, że polega to na podaniu mającej określone parametry funkcji skrótu (hasza). Służy ona do potwierdzenia ważności nowych transakcji w systemie Bitcoin (przekazania bitmonet z jednego konta na drugie). Zestaw sprawdzonych transakcji jest dołączany jako kolejny blok do rozproszonej „księgi rachunkowej" Bitcoina (blockchaina, łańcucha bloków). W rezultacie łańcuch bloków przedstawia całą historię transakcji przeprowadzonych z wykorzystaniem wszystkich monet. Odkrywca funkcji skrótu otrzymuje w nagrodę określoną liczbę bitcoinów (dziś jest ich 12,5). O tyle też bitmonet powiększa się cała dostępna pula kryptowaluty.

Okazuje się, że AGC można dostosować do takiego zadania. Problem w tym, że funkcje skrótu dla bloków mających stać się częścią blockchaina generuje się metodą prób i błędów, podając miliardy możliwych rozwiązań zanim trafi się na właściwy hasz. Obecnie kolejny blok transakcji jest wydobywany co około 10 minut.

Jak sprawdzał się AGC w takiej pracy? Raczej kiepsko: potrzebował średnio 10,3 sekundy na wygenerowanie jednego hasza. Ken Shirriff ocenia, że zabytkowy komputer na podanie funkcji skrótu dla nowego bloku potrzebowałby potrzebowałby ok 4×1023 sekundy – czasu milion razy dłuższego niż wiek wszechświata.

fot. Ken Shirriff, Shahriar Iravanian


Adam Wiśniewski
Tagi: bitcoin
Ocena:
Oceń:
Komentarze (0)

Redakcja nie ponosi odpowiedzialności za treść komentarzy. Komentarze wyświetlane są od najnowszych.
Najnowsze aktualności




Załóż konto
Co daje konto w serwisie pcformat.pl?

Po założeniu konta otrzymujesz możliwość oceniania materiałów, uczestnictwa w życiu forum oraz komentowania artykułów i aktualności przy użyciu indywidualnego identyfikatora.

Załóż konto