Subiektywność w wyroczniach

(Tellor Core) (15 grudnia 2020 r.)

Subiektywność, niejednoznaczność i zdecentralizowane wyrocznie

W jednej chwili włamania do protokołów finansowych lub nieporozumienia dotyczące wewnętrznego działania umowy finansowej mogą prowadzić do ogromnych strat, często z niewielką możliwością regresu . Niezależnie od tego, czy chodzi o tradycyjne produkty finansowe rozliczane według LIBOR, inwestorzy, którzy po raz pierwszy w historii w historii odnotowali ujemny wynik dla ropy naftowej [1], czy też kontrakt na instrumenty pochodne, który likwiduje niczego niepodejrzewających zabezpieczeń, cena rozliczenia lub manipulacja wyrocznią były czymś od dawna przed Vitalikiem i pożyczki błyskawiczne.

Struktura Twojej wyroczni i pozyskiwane dane to kluczowe specyfikacje podczas tworzenia solidnego produktu finansowego. Pozornie proste pytanie „jakiej ceny używasz?” jest czymkolwiek innym. Niuanse związane z wyborem właściwej definicji prawdy w odniesieniu do danych wejściowych mają wpływ na bezpieczeństwo, które wpłyną na każdy aspekt produktu.

Wyrocznia bez problemu

Podczas umieszczania ceny rozliczeniowej na łańcuchu bloków masz dwa składniki:

– Jak zdobyć to w łańcuchu

– Co dostać w łańcuchu

Widzisz, wyrocznie nie są tak ściśle zdefiniowane jak łańcuchy bloków. Raczej wyrocznie odnoszące się do informacji spoza łańcucha są decyzją społeczną w państwie niezwiązanym z konsensusem w sprawie łańcucha bloków. Aby to rozpakować:

a) Prawda jest subiektywna. To, co zgadza się grupa ludzi (w kontekście czysto cyfrowym), jest prawdą. To, w jaki sposób dochodzimy do tej prawdy, jest skodyfikowanym sposobem osiągnięcia „konsensusu społecznego” (subiektywnej, uzgodnionej prawdy).

b) Warstwa 1 to konsensus społeczny.

c) Warstwa 1 konsensus dotyczy tylko bardzo konkretnego zestawu instrukcji i działań.

d) Wszystkie działania w łańcuchu muszą być skodyfikowane w instrukcjach warstwy 1 lub mieć własny konsensus społeczny (np. umowa z kluczem administratora jest określona forma autorytarnego zarządzania)

e) Wyrocznie umieszczają dane w łańcuchu, których ważność nie jest obsługiwana przez mechanizm konsensusu warstwy 1. Dlatego wyrocznie muszą mieć również element ludzki, społeczny lub konsensus.

Wyrocznie stanowią interesujący problem, ponieważ próbują dostarczyć informacji dotyczących wystąpienia zdarzenia lub stanu jakiegoś systemu, który nie jest rodzimy. do samego łańcucha. Podczas gdy mechanizm konsensusu warstwy 1 jest ściśle określony z pewnymi operacjami i punktami spornymi, systemy Oracle starają się rozszerzyć możliwości łańcucha na dowolne informacje, które nie zostały uzgodnione z podstawowymi weryfikatorami. Najczęstszy przypadek użycia dotyczy obecnie wyceny kryptowalut na scentralizowanych giełdach, a następnie zdarzeń mających miejsce w innych łańcuchach bloków (nagłówki bloków, dostępność danych itp.). Chociaż może wydawać się proste, aby powiedzieć, co się stało lub jaki jest stan jakiegoś zdarzenia zewnętrznego, prawda jest taka, że ​​rzeczywistość może być bardziej subiektywna, niż chcieliby to przyznać zwolennicy skodyfikowanych rozwiązań.

Co to jest cena?

Kiedy protokoły wybierają wyrocznię, wybierają mechanizm konsensusu społecznego, aby określić dokładność wejście. W przypadku danego projektu wyroczni nie tylko masz różne przemyślenia na temat tego, jak zweryfikować dane wejściowe, ale masz różne opinie na temat tego, czym one są.

Istnieje różnica między ceną Bitcoin, cena Bitcoina na Coinbase, cena Bitcoina według API Coinbase oraz cena, po której mogę obecnie kupić cały Bitcoin na Coinbase.

Definicje mają znaczenie.

Wybór danych wejściowych (w tym przypadku kanału cenowego) określa, na czym będą opierać dokładność walidatorów. Tellor ma (świetny artykuł na temat cen rozliczeniowych), ale jest to problem, który nie ogranicza się do definicji lub blockchain i ma obszerną literaturę najlepszych praktyk.

Wiele rozwiązań Oracle to po prostu technologia, która czerpie z API lub działa, aby bez zaufania przenosić informacje z tego interfejsu API do łańcucha. To świetne narzędzie dla konstruktorów lub MVP, ale nie jest to kompletne rozwiązanie wyroczni.

Zakładając, że cena z interfejsu API jest zawsze prawidłowa, całkowicie ufasz operatorowi tego źródła cen. Możliwość manipulowania tymi cenami lub odporność na uczciwość / cenzurę interfejsu API giełdy powinna budzić poważne obawy w przypadku każdego projektu. Prawda jest taka, że ​​przejrzystość zestawu narzędzi „czytaj bezpośrednio z interfejsu API” jest również upadkiem.

Bezpieczeństwo nieznanego

Znajomość reguł gry jest ważne, ale zawsze istnieją nieprzewidziane konsekwencje, gdy złożone systemy próbują odwzorować każdy potencjalny scenariusz. Każdy programista, którego oprogramowanie nie powiodło się w produkcji, może zaświadczyć, kod jest trudny do poprawnego.

Ale to nie tylko kod, to ogólnie prawa i przepisy.

Jest to znane problem w zarządzaniu. Jeśli spróbujesz opisać, co dzieje się w każdym przypadku, ludzie znajdą luki i sposoby obejścia prawa. Dlatego w prawdziwym świecie mamy sędziów i ławy przysięgłych, którzy wymyślają niestandardowe kary za złożone decyzje. Konkretne zasady dla każdej sytuacji są niemożliwe, a sposób, w jaki przełożymy tę zasadę na cyfrowy wszechświat, jest trudny.

Formalizacja protokołu to idea, że ​​kod nie wymaga udziału człowieka i się nie zmienia. Jak jednak wiemy z doświadczenia, prowadzi to do sztywności, nieprzewidzianych skrajnych przypadków i często porzucenia protokołu, ponieważ narracja wokół jego przypadku użycia może wymagać zmiany, jeśli kod nie jest. Zdolność społeczności do reagowania na nieokreślone problemy, które mogą się pojawić, ma kluczowe znaczenie dla systemu, aby faktycznie rozwiązywał problem w czasie. Jak społeczność to robi, powstaje konsensus społeczny.

To sięga do zasad blockchain. Czy blockchain to „kod jest prawem”, czy też „konsensusem społeczności”. Czy jest to sposób dla społeczności na uzgodnienie prawdy, czy też bezmyślny fragment kodu, który działa podobnie do kalkulatora?

Manipulacja Oracle

Jeśli znasz zasady i potrafisz grać w systemie bez kar, wtedy zasady zostaną złamane. Chociaż przejrzystość jest pożądana, dokładność w odniesieniu do wyprowadzania danych jest w rzeczywistości błędem w tym scenariuszu.

Pomysł, że legalistyczne specyfikacje nie są konieczne, jest czymś oczywistym. Nawet jeśli nie jest to określone w Twojej umowie najmu, jeśli dach zdmuchnie w wyniku huraganu, właściciel jest odpowiedzialny za naprawienie go w odpowiednim czasie. Społeczeństwa mają prawa zabraniające bardzo ogólnych rzeczy (np. Lekkomyślna jazda, niewłaściwe zachowanie itp.); nie wymagamy instrukcji if / else dla każdego scenariusza. Jeśli zaufana osoba (np. Policjant) zauważy, że robisz coś głupiego, może to powstrzymać. Nie musisz zapisywać w prawie, że strzelanie z kuszy podczas jazdy na monocyklu jest nielegalne; mamy sposoby, by po prostu kierować się zdrowym rozsądkiem.

Inteligentne kontrakty działają jednak inaczej. Strony, które używają zbyt specyficznej wyroczni (pojedynczego sygnatariusza API lub nawet ceny Uniswap), są narażone na większe ryzyko manipulacji. Widzieliśmy kilka hacków, w których wyrocznia prawidłowo dostarcza dane o łańcuchu, ale są nieprzewidziane konsekwencje dotyczące tej ceny, ponieważ została zmanipulowana. Społeczność w takich przypadkach nie ma możliwości regresu. Utkniesz z tym, co dał Ci kod, a przez większość czasu oznacza to, że ktoś traci pieniądze. Uzyskanie kanału bez zaufania nie mówi ci, że jest poprawne w odniesieniu do konsensusu giełd lub społeczności i nie może cię chronić, jeśli ktoś nawet znajdzie sposób, aby rzucić cenę w odniesieniu do tego źródła danych. [2]

Pomimo wezwań do „kodowania jako prawa” lub bólu związanego z pracą ze społecznościami i innymi protokołami, nie chcesz wyroczni, która jest po prostu fragmentem kodu. W ten sam sposób, w jaki Ethereum lub Bitcoin forksuje / powraca, jeśli protokół konsensusu zostanie zaatakowany, kompletna wyrocznia powinna mieć elastyczność w przypadku ataku. Możesz mieć formę porozumienia społecznego (lub okresu próbnego w bardzo szczególnych przypadkach) w sprawie dobrej ceny. Jeśli interfejs API Coinbase przestanie działać, nie używaj go. Jeśli pojawi się nowe źródło płynności, pamiętaj, aby je uwzględnić. To nie jest fizyka jądrowa, ale jest to proces ręczny; taki, którego wykonanie zajmie trochę czasu, ale który nie jest ograniczony własnym zakresem.

Społeczny Konsensus Tellor

Tellor zapewnia sposób na ustalenie prawdy. Wyrocznia Tellor nie jest jakąś magiczną techniką kryptograficzną do monitorowania świata zewnętrznego i przekazywania go do Ethereum. Jest to sieć indywidualnych uczestników, którzy są krypto-ekonomicznie zmotywowani do raportowania i potwierdzania dokładnych danych.

Powszechnie wiadomo, że nie ma rozwiązania „problemu wyroczni”, ale często ma to na celu pokonanie trudnych kompromisów że projekt musi wykonać, jeśli chodzi o właściwy wybór źródła cen i mechanizmów bezpieczeństwa wokół niego.

Jeśli jesteś projektem zdecydowanie, który chce używać wyłącznie scentralizowanych cen ze znanymi kosztami ataku, lepiej pomiń część protokołu zawierającą konsensus społeczności i pracuj nad tym, aby umożliwić giełdom zapisanie ceny do twojego kontraktu. Jeśli jednak jesteś projektem lub znasz taki, który mógłby skorzystać na solidnej, zdecentralizowanej wyroczni, skontaktuj się z nami i nie wahaj się dać www.tellor.io spojrzenie.

[1] https://www.bbc.com/news/business-52350082#:~:text=The\%20price\%20of\%20US \% 20oil, world\% 20have\% 20kept\% 20people\% 20wewnątrz .

[2] https://news.bitcoin.com/100 -milion-zlikwidowany-na-defi-protokół-związek-po-exploicie-oracle /