Spis treści
- Czy jest blockchain oracle?
- Przykłady blockchainowych oracle
- Jakie są typy blockchainowych oracle?
- Problem Oracle
- Przemyślenia końcowe
Czy jest blockchain oracle?
W tym miejscu do gry wchodzą blockchain oracles, zapewniające ogniwo łączące dane spoza łańcucha bloków z tymi w blockchainie. Oracles mają kluczowe znaczenie w blockchainowym ekosystemie, gdyż poszerzają one zakres możliwości działania inteligentnych kontraktów. Bez blockchainowych "wyroczni", smart kontrakty miałyby bardzo ograniczone działanie, ponieważ mogłyby opierać się jedynie na danych już zawartych w sieci.
Należy zauważyć, że blockchainowy oracle nie jest źródłem danych jako taki. Można go postrzegać jako warstwa zapytania, weryfikująca i uwierzytelniająca zewnętrzne źródło danych. Jeśli dane są poprawne, oracle przekazuje je dalej – do blockchainu. Informacje przesyłane przez oracle przyjmują różnorakie formy. Mogą to być: dane transakcyjne, pomyślnie zakończone płatności lub odczyty temperatury zmierzone przez czujniki.
Jeśli chcemy uzyskać dane ze świata zewnętrznego, należy zainwokować smart kontrakt i przeznaczyć zasoby sieciowe. Niektóre wyrocznie mają również zdolność, nie tylko do przekazywania informacji inteligentnym kontraktom, lecz również odsyłania ich z powrotem do źródeł zewnętrznych.
Istnieje wiele rodzajów oracles – ich działanie jest w całości zależne od tego, do czego zostały zaprojektowane. W artykule zajmiemy się niektórymi z tych designów.
Przykłady blockchainowych oracle
Załóżmy, że Alice i Bob zakładają się, kto zostanie zwycięzcom amerykańskich wyborów prezydenckich. Alice wierzy, że wygra kandydat Republikanów, podczas gdy Bob jest przekonany, że sukces odniesie Demokrata. Uzgadniają oni warunki zakładu i deponują środki w smart kontrakcie, który przekaże wszystkie funduszy zwycięzcy, kiedy już świat pozna oficjalne wyniki wyborów.
Bez oracle transmitującego informacje, nie istniałaby możliwość rozliczenia tego zakładu w sposób, który nie mógłby zostać wykorzystany przez jedną ze stron.
Jakie są typy blockchainowych oracle?
Blockchainowe wyrocznie można sklasyfikować w zależności od ich cech i właściwości:
- Źródło – czy dane pochodzą z oprogramowania, a może sprzętu?
- Kierunek transmisji informacji – są one przychodzące, czy wychodzące?
- Zaufanie – scentralizowane albo zdecentralizowane?
Pojedynczy oracle może zostać przydzielony do wielu kategorii. Dla przykładu, wyrocznia pobierająca dane ze strony firmy, jest scentralizowanym, przychodzącym i mającym swoje źródło w oprogramowaniu oracle.
Programowe oracles
Programowe oracles wchodzą w interakcje z internetowymi źródłami informacji, a następnie przesyłają je do blockchainów. Dane mogą pochodzić z baz danych online, serwerów, stron – w zasadzie z dowolnego źródła informacji w internecie.
Fakt, że programowe wyrocznie są stale połączone z internetem, pozwala im, nie tylko na dostarczanie danych smart kontraktom, lecz również na przekazywanie informacji w czasie rzeczywistym. Sprawia to, że są one jednym z najpopularniejszych typów blockchainowych oracle.
Sprzętowe oracles
Niektóre inteligentne kontrakty muszą wchodzić w interakcje ze światem rzeczywistym. Sprzętowe oracles są zaprojektowane w taki sposób, aby uzyskiwać informacje ze świata fizycznego i udostępniać je na potrzeby inteligentnych kontaktów. Informacje takie mogą być przekazywane z czujników elektronicznych, skanerów kodów kreskowych i innych urządzeń służących do odczytu danych.
Sprzętowe oracles zasadniczo “tłumaczą” to, co dzieje się w fizycznym świecie na język możliwy do zrozumienia przez smart kontrakty.
Przykładem są czujniki sprawdzające, czy ciężarówka przewożąca towary dotarła do punku przeładunkowego. Jeśli tak, oracle przekazuje informacje inteligentnej umowie, która jest w stanie podejmować decyzje na ich podstawie.
Przychodzące i wychodzące oracles
Przychodzące oracles transmitują informacje z zewnętrznych źródeł do smart kontraktów, podczas gdy wychodzące oracles przesyłają dane z inteligentnych umów do świata zewnętrznego.
Scentralizowane i zdecentralizowane oracles
Scentralizowane wyrocznie są kontrolowane przez organizację bądź jednostkę, która jest jedynym dostawcą informacji do smart kontraktu. Korzystanie tylko z jednego źródła informacji okazać się ryzykowne – skuteczność realizacji kontraktu w pełni zależy od podmiotu kontrolującego oracle. Ponadto, jakakolwiek złośliwa ingerencja ze strony nieuczciwego podmiotu, będzie miała szkodliwy wpływ na inteligentny kontrakt. Głównym problemem scentralizowanych oracle jest istnienie pojedynczego punktu awarii, co sprawia, że umowy są mniej odporne na luki w bezpieczeństwie i złośliwe ataki.
Zdecentralizowane oracle dzielą cele z publicznymi blockchainami – unikać ryzyka kontrahenta. Zwiększają wiarygodność informacji dostarczanych do inteligentnych umów, nie polegając na jednym źródle prawdy i zaufania. Smart kontrakt wysyła zapytania do wielu oracle, w celu ustalenia ważności i dokładności danych – dlatego zdecentralizowane wyrocznie możemy określać konsensusowymi oracles.
Niektóre projekty blockchain świadczą usługi zdecentralizowanych oracle dla innych blockchainów. Zdecentralizowane wyrocznie są także przydatne na rynkach prognostycznych, gdzie wiarygodność pewnych wyników można zweryfikować w drodze konsensusu społecznego.
Szczególne oracles kontraktowe
Szczególny oracle kontraktowy jest przeznaczony do wykorzystania w ramach jednego, specyficznego smart kontraktu. Oznacza to, że jeżeli chcemy wdrożyć kilka inteligentnych umów jednocześnie, należy stworzyć proporcjonalną liczbę wyroczni specyficznych do konkretnej umowy.
Tego rodzaju oracle są uważane za bardzo czasochłonne do zrobienia i kosztowne w utrzymaniu. Przedsiębiorstwa chcące pozyskiwać dane z różnych danych, mogą uznać takie podejście za mało praktyczne. Z drugiej zaś strony, ponieważ oracle specyficzne-dla-kontraktu można zaprojektować całkowicie od zera, aby służyły konkretnemu przypadkowi użycia, programiści zyskują dużą elastyczność w dostosowywaniu ich do konkretnych wymagań i problemów.
Ludzkie oracles
Problem Oracle
Odkąd inteligentne kontrakty bazują w oparciu o dane dostarczane przez wyrocznie, oracle są kluczem do zdrowego ekosystemu blockchain. Zatem głównym wyzwaniem przy projektowaniu oracles jest to, że w przypadku, gdy wyrocznia zostanie zaatakowana, zagrożona jest również inteligentna umowa na niej oparta. Często określa się to jako Problem Oracle.
Z uwagi na to, że oracles nie stanowią części głównej warstwy konsensusu, niestety nie podlegają mechanizmom bezpieczeństwa, zapewnianym przez publiczne blockchainy. Konflikt zaufania między wyroczniami ze stron trzecich i bezwzględna realizacja inteligentnych umów na ich podstawie, pozostają dotychczas nierozwiązanym problemem.
Zagrożenie mogą również stanowić ataki pośrednie, gdzie złośliwy podmiot uzyskuje dostęp do przepływu danych między oracles, a umową i dokonuje zmian lub fałszuje dane.
Przemyślenia końcowe
Wiarygodny mechanizm ułatwiający komunikację między inteligentnymi umowami, a światem zewnętrznym ma kluczowe znaczenie dla procesu globalnej adopcji blockchainu. Bez blockchainowych oracles, smart kontrakty musiałyby polegać jedynie na informacjach już znajdujących się w kryptowalutowych sieciach, co znacznie ograniczałoby ich możliwości.