Internet, który obecnie łączy niemal wszystkich i wszystko, działa w oparciu o sieć specjalnych urządzeń zwanych routerami. Niektóre z nich, jak routery WiFi, są instalowane w domach, podczas gdy inne, które łączą kraje, są bardzo wyspecjalizowane i kosztowne. Blockchain Internet Computer działa na sieci specjalnych urządzeń obliczeniowych zwanych "maszynami węzłowymi", które są zbudowane zgodnie z różnymi standardami.
Dzisiaj większość blockchainów opartych na Proof-of-Stake jest hostowana przez węzły walidatora, które są instancjami oprogramowania często uruchamianymi za pomocą usług przetwarzania w chmurze. Internet Computer nie może być hostowany w ten sposób. Funkcjonuje całkowicie na suwerennej sieci dedykowanych maszyn węzłowych, które są instalowane w niezależnych centrach danych przez niezależnych dostawców węzłów.
Te maszyny węzłowe łączą się ze sobą przy użyciu Internet Computer Protocol, czyli ICP, od którego pochodzi nazwa tokena. Najlepszym określeniem opisującym model sieci blockchain używany przez Internet Computer jest "Proof-of-Useful-Work". Sieć posiada system zarządzania zwany NNS, który może usunąć ("wyrzucić") maszyny węzłowe, które nie są w stanie wyprodukować wystarczającej liczby bloków i nadążyć za siecią, dlatego muszą być zbudowane według standardowej specyfikacji.
Wewnętrznie, sieć Internet Computer składa się z "blockchainów podsieciowych". Każda nowa podsieć dodaje dodatkową pojemność do sieci, co oznacza, że może ona obsługiwać więcej smart kontraktów, obliczeń i danych. Jednak te podsieci są niewidoczne dla hostowanych smart kontraktów i użytkowników. Dzieje się tak, ponieważ są one łączone w jeden logiczny blockchain przy użyciu "chain key crypto".
Chain key crypto jest unikalną technologią dla Internet Computer. Umożliwia ona, by blockchainy podsieciowe oraz cały produkowany blockchain Internet Computer, miały publiczne "klucze łańcuchowe". Blockchainy kryptograficznie podpisują wszystkie swoje interakcje, które mogą być weryfikowane za pomocą ich kluczy łańcuchowych. Ważne podpisy pokazują, że interakcje nie zostały sfałszowane, a także że blockchainy działają poprawnie – bez konieczności pobierania i sprawdzania ich bloków transakcji.
Dzięki technologii chain key crypto, Internet Computer może łączyć swoje blockchainy podsieciowe w jeden blockchain i skalować się bez ograniczeń. Jednak chain key crypto umożliwia również inne rzeczy! Na przykład, smart kontrakty w Internet Computer mogą przetwarzać żądania HTTP i bezpośrednio dostarczać interaktywne doświadczenia webowe użytkownikom końcowym. Jest to bardziej bezpieczne niż normalne serwowanie stron internetowych, ponieważ smart kontrakty mogą podpisywać treści, które serwują, co można zweryfikować przed pokazaniem użytkownikom, zapewniając im ochronę.
Ostatnio, chain key crypto została wykorzystana do udostępnienia funkcjonalności "Chain Key TX" dla deweloperów smart kontraktów. Umożliwia im to tworzenie podpisanych transakcji, które działają na innych blockchainach. Na przykład, deweloper Internet Computer może tworzyć adresy bitcoin i bezpośrednio wysyłać oraz odbierać bitcoiny na księdze Bitcoin, bez używania niebezpiecznych usług "bridge". Dzięki tej funkcjonalności można tworzyć natywne aplikacje DeFi na Bitcoinie.
Internet Computer oferuje także wiele innych funkcji unikalnych w świecie blockchain. Obejmują one wywoływanie HTTP, które pozwala smart kontraktom bezpiecznie pytać inne systemy przez internet za pośrednictwem systemu konsensusu sieci, na przykład umożliwiając oprogramowaniu smart kontraktu bezpieczne uzyskiwanie danych takich jak kursy kryptowalut bez potrzeby korzystania z zaufanej usługi oracle.
Sieć Internet Computer jest kontrolowana i zarządzana przez główną podsieć, która prowadzi zaawansowaną, bezpowłokową DAO o nazwie Network Nervous System (NNS). NNS instruuje maszyny węzłowe, jak strukturyzować sieć. Węzły mogą zweryfikować, że otrzymane od NNS instrukcje są autentyczne, po prostu sprawdzając podpis klucza łańcuchowego, ponieważ jego klucz łańcuchowy nigdy się nie zmienia.
NNS instruuje węzły, aby dołączały do podsieci i je opuszczały, a także tworzyły nowe podsieci. Kryptografia i protokoły działają w sprytny sposób, tak że nawet jeśli węzły przychodzą i odchodzą z blockchainów podsieciowych, ich klucze łańcuchowe zawsze pozostają takie same.
Na Internet Computer deweloperzy tworzą smart kontrakty "kanistry". Nazywane są kanistrami, ponieważ są to pakiety bajtowego kodu WebAssembly i trwałych stron pamięci. Bajtowy kod implementuje logikę smart kontraktu i działa wyłącznie w swojej własnej pamięci, wchodząc w interakcje z innymi smart kontraktami za pomocą przesyłania wiadomości (używając modelu "aktor" oprogramowania). To umożliwia równoczesne uruchamianie smart kontraktów, co jest kolejnym sposobem skalowania Internet Computer.
Kanistry smart kontraktów są bardzo potężne i mogą być używane do budowania wszystkiego. Na przykład możliwe są transakcje wieloblokowe (obliczenia), wraz z demonami smart kontraktów, które są automatycznie wywoływane okresowo przez blockchain.
Główne języki używane do rozwijania smart kontraktów Internet Computer to Rust i Motoko. Motoko to język stworzony przez DFINITY specjalnie dla Internet Computer, rozwinięty przez zespół prowadzony przez Andreasa Rossberga, który był współtwórcą standardu WebAssembly.
Najlepszym sposobem na zrozumienie działania Internet Computer oraz zakresu unikalnych możliwości, jakie oferuje, jest odwiedzenie stron internetcomputer.org oraz wiki.internetcomputer.org.