Technologia, która jednocześnie zainicjowała i jest podstawą kryptowalut, to Blockchain. Łańcuch bloków – tłumacząc na język polski – umożliwia każdemu klientowi w sieci osiągnięcie konsensusu bez potrzeby wzajemnego zaufania.
Początek technologii blockchain
Idea technologii blokchainowej została opisana w 1991 roku, kiedy to naukowcy Stuart Haber i W. Scott Stornett przedstawili światu rozwiązanie, które w formie cyfrowej oznaczało, że dokumentów nie można było manipulować ani fałszować.
System przedstawiony przez naukowców wykorzystywał kryptograficznie zabezpieczony łańcuch bloków do przechowywania dokumentów z tzw. stemplami (znacznikami) czasu. Drzewa Merkle (Merkle Trees), zwiększając jego skuteczność i umożliwiając gromadzenie wielu dokumentów w jednym bloku. Jednak technologia ta nie została ostatecznie przez nikogo wykorzystana i patent wygasł w 2004 r., cztery lata przed utworzeniem Bitcoina.
RPoW
W 2004 roku światowej sławy specjalista IT i kryptograf Hal Finney (Harold Thomas Finney II) wprowadził system o nazwie RPoW, Reusable Proof Of Work. System opierał się na otrzymywaniu niezmiennego i / lub niezniszczalnego Hashcash, a zamiast tego stworzył token podpisany kluczem RSA, który można następnie przenieść z osoby na osobę.
RPoW rozwiązało problem podwójnego wydatkowania, utrzymując własność tokenów na zaufanym serwerze, który został zaprojektowany, aby umożliwić użytkownikom na całym świecie sprawdzanie ich poprawności i integralności w czasie rzeczywistym.
RPoW można uznać za wczesny prototyp i krok naprzód w historii kryptowalut.
Sieć Bitcoin
Pod koniec 2008 roku dokument techniczny (oficjalny dokument) opisujący zdecentralizowaną sieć peer-to-peer o nazwie Bitcoin został opublikowany na jednej z list mailingowych dotyczących kryptografii. Dokument został utworzony przez osobę lub grupę używającą pseudonimu Satoshi Nakamoto.
Sieć Bitcoin w inny sposób niż RPoW podchodziła do tematu zabezpieczenia sieci i użytkowników przed wystąpieniem problemu cytowanego wcześniej dobule spend problem. Podejście zaproponowane przez Bitcoin opierało się na zdecentralizowanym protokole peer-to-peer do śledzenia i weryfikacji transakcji. Krótko mówiąc, bitcoiny są „wydobywane (kopane)” w celu uzyskania nagród przez górników, a następnie weryfikowane przez zdecentralizowane węzły w sieci.
3 stycznia 2009 Bitcoin został oficjalnie stworzony. Tego dnia Satoshi Nakamoto wykopał pierwszy blok, za który otrzymał nagrodę 50 bitcoinów. Pierwszym odbiorcą Bitcoinów był Hal Finney, który otrzymał 12 bitcoinów od Satoshi Nakamoto w transakcji, która odbyła się 12 stycznia 2009 r.
Ethereum
W 2013 r. Vitalik Buterin, programista i współzałożyciel magazynu Bitcoin, stwierdził, że Bitcoin potrzebuje języka skryptowego do tworzenia zdecentralizowanych aplikacji. Nie osiągając porozumienia z ówczesną społecznością Bitcoin, Vitalik rozpoczął pracę nad nową, rozproszoną i zdecentralizowaną platformą do przetwarzania danych komputerowych w oparciu o technologię blockchain. Projekt ten otrzymał nazwę Ethereum i obejmował funkcjonalność tworzenia smart kontraktów (lub inteligentnych umów) i zarządzania nimi.
Inteligentne kontrakty to programy lub skrypty, które są wdrażane i działają na blockchainie Ethereum (teraz także na innych). Można ich użyć na przykład do transakcji, która zostanie sfinalizowana, jeśli zostaną spełnione określone warunki. Inteligentne umowy są tworzone w wyspecjalizowanych językach programowania i kompilowane do kodu bajtowego. Ten kod jest odczytywany i wykonywany przez zdecentralizowaną maszynę wirtualną, która jest zgodna z funkcjami określonymi przez Turing (zwaną Turing Complete), która w przypadku Ethereum nosiła nazwę EVM – Ethereum Virtual Machine.
Smart kontrakty w sieci Ethereum mogą być tworzone przez niezależnych oprogramowania (tj. deweloperów; programistów). Aplikacje te są zwykle określane jako dApps (tj. Aplikacje zdecentralizowane). Obecnie w sieci blockchain Ethereum działają setki aplikacji dApps, w tym platformy społecznościowe, aplikacje hazardowe i giełdy kryptowalut.
Kryptowaluta Ethereum nazywa się Ether, może być przenoszona między kontami użytkowników i służy do opłacania mocy obliczeniowej wykorzystywanej podczas wykonywania operacji zawartych w smart kontraktach.