Opóźniony Dowód Pracy (dPoW) jest mechanizmem zaprojektowanym przez projekt Komodo z myślą o bezpieczeństwie. Zasadniczo, dPoW to zmodyfikowana wersja algorytmu konsensusu Proof of Work (PoW), która wykorzystuje moc obliczeniową (ang. hashpower) Bitcoina, jako sposobu na stałe zwiększanie bezpieczeństwa obu sieci. Korzystając z dPoW programiści Komodo są w stanie zabezpieczyć nie tylko swoją własną sieć, ale także jakąkolwiek zewnętrzną sieć, która zdecyduje się na dołączenie do ekosystemu Komodo w przyszłości. W rzeczywistości dPoW można zaimplementować do każdego projektu przy użyciu modelu UTXO.
Jak działa dPoW?
Biorąc za przykład Komodo, dPoW został opracowany i wdrożony do istniejącego już kodu Zcash, umożliwiając tym samym uzyskanie tzw. zero-knowledge privacy (czyt. brak wiedzy o tożsamości nadawcy) i zwiększając bezpieczeństwo sieci poprzez wykorzystanie hashrate Bitcoina.
Co 10 minut system Komodo wykonuje zrzut (czyt. kopię) własnej sieci blockchain. Zrzut ten jest następnie zapisywany w sieci blockchain Bitcoin w procesie zwanym notaryzacją. Zasadniczo proces ten polega na tworzeniu kopii zapasowej całego systemu Komodo, który później zapisywany jest w łańcuchu bloków Bitcoin.
Technicznie rzecz biorąc, wybrane przez społeczność Komodo węzły (ang. community-elected notary nodes) zapisują hash bloku z każdej sieci blockchain zabezpieczanej przez algorytm dPoW wprost do sieci Komodo wykonując typową transakcję. Używając polecenia OP_RETURN, notary nodes dokonują zapisu pojedynczego łańcucha bloków innych sieci w łańcuchu Komodo.
Powodem, dla którego notary nodes wybierają hash bloku, który ma już około dziesięciu minut, jest upewnienie się, że cała sieć zgadza się, że blok ten jest prawidłowy i ważny. Każda sieć blockchain stale osiąga konsensus w kwestii ważności każdego z bloków. Notary nodes po prostu rejestrują hasb bloku z wcześniej wydobytego już bloku.
Następnie notary nodes zapisują hasz bloku z łańcucha Komodo do blockchain Bitcoina. Ten proces odbywa się poprzez wykonanie zwykłej transakcji w ramach sieci BTC i użycie OP_RETURN do zapisania danych do bloku w łańcuchu Bitcoina.
Po wykonaniu się zapisu danych w blockchain Bitcoina, notary nodes Komodo zapisują te dane z łańcucha BTC z powrotem do łańcucha każdego innego chronionego łańcucha. W tym momencie sieć nie zaakceptuje już żadnych zmian i modyfikacji tzw. notary block (lub jakichkolwiek innych bloków utworzonych przed ostatnim notary block).
PoW kontra dPoW
Mining w sieciach blockchain opartych na protokole PoW jest bardzo wymagający. Górnicy, aby zabezpieczać sieć i zarabiać muszą stale rozwiązać złożone zagadki kryptograficzne - co pozwala wydobyć im nowy blok. Taki proces wymaga intensywnej pracy obliczeniowej, która jest bardzo kosztowna pod względem samego sprzętu i energii elektrycznej wykorzystywanej do zasilenia tego sprzętu. Proces wydobycia nie tylko chroni sieć przed atakami z zewnątrz, ale także weryfikuje poprawność transakcji i odpowiada za generowanie nowych jednostek kryptowalut (w formie nagród dla górników, którzy poprawnie rozwiążą zagadkę).
Tym samym jednym z powodów dla których sieci blockchain oparte o algorytm Proof of Work są tak bezpieczne, jest fakt, że proces wydobycia wiąże się z bardzo wysokimi nakładami finansowymi i zależy osiągnięcia przez sieć konsensusu. Należy jednak pamiętać, że bezpieczeństwo sieci PoW jest bezpośrednio związane z ilością mocy obliczeniowej (ang. hashrate) w nich obecnej, co oznacza, że małe sieci blockchain nie są tak bezpieczne, jak duże sieci.
Innymi słowy, dPoW "ponownie ustanawia" reguły konsensusu w sieci blockchain za każdym razem, gdy do sieci zostanie dodany nowy blok (ang. notarized). Dla kontrastu, większość sieci blockchain zabezpieczanych przez algorytm PoW opiera się o tzw. regułę "najdłuższego łańcucha". W przypadku dPoW, za każdym razem, gdy sieć blockchain otrzyma potwierdzenie, że blok XXX,XX1 został ostatecznie potwierdzony, sieć nie zaakceptuje łańcucha rozpoczynającego się od bloku XXX,XX0 lub wcześniejszego, nawet jeśli łańcuch ten okaże się najdłuższy.