{"id":93794,"date":"2020-09-10T07:42:27","date_gmt":"2020-09-10T05:42:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne"},"modified":"2020-09-10T07:42:27","modified_gmt":"2020-09-10T05:42:27","slug":"town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","title":{"rendered":"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dzi\u015b tylko leniwy nie pisa\u0142 o technologii blockchain, kryptowalutach i o tym, jak niesamowite to jest. Jednak w tym artykule nie b\u0119dzie wychwalania tej technologii, lecz om\u00f3wi\u0119 jej wady i sposoby ich rozwi\u0105zania. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/af435f4c102071d7248778ff5354ed5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Podczas pracy nad jednym z projekt\u00f3w w firmie Altirix Systems pojawi\u0142o si\u0119 zadanie dotycz\u0105ce zabezpieczonego, cenzuroodpornego potwierdzenia danych z zewn\u0119trznego \u017ar\u00f3d\u0142a do blockchaina. Nale\u017ca\u0142o potwierdza\u0107 zmiany w zapisach trzeciego systemu i na ich podstawie realizowa\u0107 r\u00f3\u017cne \u015bcie\u017cki w logice inteligentnego kontraktu. Zadanie na pierwszy rzut oka wydaje si\u0119 do\u015b\u0107 trywialne, ale gdy od wyniku jego realizacji zale\u017cy sytuacja finansowa jednej ze stron zaanga\u017cowanych w proces, pojawiaj\u0105 si\u0119 dodatkowe wymagania. Przede wszystkim jest to wszechstronne zaufanie do tego rodzaju mechanizmu walidacji. Ale wszystko po kolei. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Problem polega na tym, \u017ce blockchain sam w sobie jest autonomicznym, zamkni\u0119tym obiektem, dlatego inteligentne kontrakty w ramach blockchaina nic nie wiedz\u0105 o zewn\u0119trznym \u015bwiecie. Jednocze\u015bnie warunki inteligentnych kontrakt\u00f3w cz\u0119sto s\u0105 zwi\u0105zane z informacjami o rzeczywistych zjawiskach (op\u00f3\u017anienia lot\u00f3w, kurs walut itp.). Aby inteligentne kontrakty dzia\u0142a\u0142y prawid\u0142owo, informacje uzyskane z zewn\u0105trz blockchaina musz\u0105 by\u0107 wiarygodne i zweryfikowane. Problem ten rozwi\u0105zuje si\u0119 poprzez wykorzystanie orakli, takich jak Town Crier i DECO. Te orakle pozwalaj\u0105 inteligentnym kontraktom w sieci blockchain ufa\u0107 informacjom z zaufanego serwera internetowego, mo\u017cna powiedzie\u0107, \u017ce to dostawcy wiarygodnych informacji. <\/p>\n<p><\/p>\n<h1 id=\"orakuly\">Orakle<\/h1>\n<p><\/p>\n<p>Wyobra\u017a sobie, \u017ce inteligentny kontrakt dokonuje przelewu 0.001 btc na tw\u00f3j portfel bitcoinowy w przypadku zwyci\u0119stwa twojego ulubionego klubu pi\u0142karskiego w Pucharze Rosji. W przypadku rzeczywistego zwyci\u0119stwa do inteligentnego kontraktu nale\u017cy przes\u0142a\u0107 informacj\u0119 o tym, kt\u00f3ry klub wygra\u0142, a pojawia si\u0119 szereg problem\u00f3w: sk\u0105d wzi\u0105\u0107 t\u0119 informacj\u0119, jak bezpiecznie przes\u0142a\u0107 j\u0105 do inteligentnego kontraktu i jak upewni\u0107 si\u0119, \u017ce informacja przekazana do inteligentnego kontraktu faktycznie odpowiada rzeczywisto\u015bci? <\/p>\n<p><\/p>\n<p>W kwestii \u017ar\u00f3d\u0142a informacji mog\u0105 istnie\u0107 dwa scenariusze: pod\u0142\u0105czenie smart kontraktu do zaufanej strony internetowej, na kt\u00f3rej centralnie przechowywane s\u0105 informacje o wynikach mecz\u00f3w, oraz drugi wariant \u2014 pod\u0142\u0105czenie kilku stron i nast\u0119pnie dokonanie selekcji informacji z wi\u0119kszo\u015bci \u017ar\u00f3de\u0142, kt\u00f3re dostarczaj\u0105 te same dane. W celu potwierdzenia prawid\u0142owo\u015bci informacji wykorzystuje si\u0119 orakule, na przyk\u0142ad Oraclize, korzystaj\u0105cy z TLSNotary (Modyfikacja TLS do udowodnienia autentyczno\u015bci danych). Jednak w Google jest wystarczaj\u0105co du\u017co informacji na temat Oraclize, a na Habrze znajduje si\u0119 kilka artyku\u0142\u00f3w; ja dzisiaj opowiem o orakulach, kt\u00f3re stosuj\u0105 nieco inne podej\u015bcie do przekazywania informacji: Town Crier i DECO. W artykule przedstawiono zasady dzia\u0142ania obu orakuli, a tak\u017ce szczeg\u00f3\u0142owe por\u00f3wnanie. <\/p>\n<p><\/p>\n<h1 id=\"town-crier\">Town Crier<\/h1>\n<p><\/p>\n<p>Town Crier (TC) zosta\u0142 zaprezentowany przez IC3 (Inicjatywa na rzecz Kryptowalut i Um\u00f3w) w 2016 roku na CCS\u201916. G\u0142\u00f3wna idea TC: przekaza\u0107 informacje ze strony internetowej do smart kontraktu i upewni\u0107 si\u0119, \u017ce informacje dostarczone przez TC s\u0105 takie same jak te na stronie internetowej. TC wykorzystuje TEE (Trusted Execution Environment) dla autentyczno\u015bci w\u0142asno\u015bci danych. W oryginalnej wersji opisano prac\u0119 z Intel SGX.<br \/>\nTown Crier sk\u0142ada si\u0119 z cz\u0119\u015bci wewn\u0105trz blockchaina i cz\u0119\u015bci w samej OS \u2014 TC Server.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/d94251340bfe563ca69bf74c358caf62.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKontrakt TC znajduje si\u0119 w blockchainie i dzia\u0142a jako front end dla TC. Przyjmuje \u017c\u0105dania od CU (smart kontrakt u\u017cytkownika) i zwraca odpowied\u017a od TC Server. Wewn\u0105trz TC Server znajduje si\u0119 Relay, kt\u00f3ry nawi\u0105zuje \u0142\u0105czno\u015b\u0107 z internetem (dwukierunkowy ruch) i \u0142\u0105czy enclave z blockchainem. Enclave zawiera progencl, kt\u00f3ry jest kodem wykonuj\u0105cym zapytania z blockchaina i zwracaj\u0105cym wiadomo\u015bci do blockchaina z cyfrowym podpisem; progencl zawiera cz\u0119\u015b\u0107 kodu smart kontraktu i w zasadzie wykonuje niekt\u00f3re z jego funkcji. <\/p>\n<p><\/p>\n<p>Enclave Intel SGX mo\u017cna traktowa\u0107 jako og\u00f3ln\u0105 bibliotek\u0119 z API, dzia\u0142aj\u0105c\u0105 przez ecall. Ecall przekazuje kontrol\u0119 do enclave. Enclave wykonuje sw\u00f3j kod, a\u017c do jego zako\u0144czenia lub pojawienia si\u0119 wyj\u0105tku. Do wywo\u0142ywania funkcji zdefiniowanych poza enclave, u\u017cywa si\u0119 ocall. Ocall jest wykonywane poza enclave i traktowane przez ni\u0105 jako niebezpieczne wywo\u0142anie. Po zako\u0144czeniu ocall kontrola wraca do enclave.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/6b4e0952862d6fe8597793cac03e760c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nW cz\u0119\u015bci Enclave nast\u0119puje konfiguracja secure channel z serwerem WWW, a sam enclave wykonuje handshake TLS z docelowym serwerem i przeprowadza wszystkie operacje kryptograficzne w swoim wn\u0119trzu. Biblioteka TLS (mbedTLS) oraz kod HTTP w zmniejszonej wersji s\u0105 eksportowane do \u015brodowiska SGX. Ponadto Enclave zawiera certyfikaty root CA (zbi\u00f3r certyfikat\u00f3w), aby weryfikowa\u0107 certyfikaty zdalnych serwer\u00f3w. Request Handler przyjmuje \u017c\u0105danie datagramu w formacie dostarczanym przez Ethereum, odszyfrowuje je i analizuje. Nast\u0119pnie generuje transakcj\u0119 Ethereum zawieraj\u0105c\u0105 requested datagram, podpisuje j\u0105 za pomoc\u0105 skTC i przekazuje do Relay.<\/p>\n<p><\/p>\n<p>Cz\u0119\u015b\u0107 Relay obejmuje interfejs klienta, TCP, interfejs blockchain. Interfejs klienta jest potrzebny do atestacji kodu enclave i komunikacji z klientem. Klient wysy\u0142a \u017c\u0105danie atestacji za pomoc\u0105 ecall i otrzymuje timestamp, podpisany skTC, razem z att (podpis atestacji), kt\u00f3ry nast\u0119pnie jest potwierdzany przez Intel Attestation Service (IAS), a timestamp weryfikowany przez zaufan\u0105 us\u0142ug\u0119 time service. Interfejs blockchain sprawdza nadchodz\u0105ce \u017c\u0105dania i umieszcza transakcje w blockchainie w celu dostarczenia datagram\u00f3w. Geth to oficjalny klient Ethereum, kt\u00f3ry pozwala Relay na interakcj\u0119 z blockchainem za po\u015brednictwem wywo\u0142a\u0144 RPC. <\/p>\n<p><\/p>\n<p>Pracuj\u0105c z TEE, TC pozwala uruchomi\u0107 jednocze\u015bnie kilka enclave, zwi\u0119kszaj\u0105c w ten spos\u00f3b szybko\u015b\u0107 przetwarzania informacji trzykrotnie. Je\u015bli z jedn\u0105 dzia\u0142aj\u0105c\u0105 enclave pr\u0119dko\u015b\u0107 wynosi\u0142a 15 tx\/sec, to przy 20 r\u00f3wnolegle uruchomionych enclave pr\u0119dko\u015b\u0107 wzrasta do 65 tx\/sec, dla por\u00f3wnania, maksymalna pr\u0119dko\u015b\u0107 pracy w blockchainie Bitcoin wynosi 26 tx\/sec.<\/p>\n<p><\/p>\n<h1 id=\"deco\">DECO<\/h1>\n<p><\/p>\n<p>DECO (Decentralized Oracles for TLS) zosta\u0142 zaprezentowany na CCS\u201920, dzia\u0142a z witrynami, kt\u00f3re obs\u0142uguj\u0105 po\u0142\u0105czenia TLS. Zapewnia poufno\u015b\u0107 i integralno\u015b\u0107 danych.<br \/>\nDECO z TLS wykorzystuje szyfrowanie symetryczne, dzi\u0119ki czemu klient i serwer WWW maj\u0105 klucze szyfrowania, a klient, je\u015bli chce, mo\u017ce podrobi\u0107 dane sesji TLS. Aby rozwi\u0105za\u0107 ten problem, DECO stosuje tr\u00f3jnasty protok\u00f3\u0142 handshake mi\u0119dzy prover (smart contract), verifier (oracle) i web-server (\u017ar\u00f3d\u0142o danych).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/17245f0af8d3cf448291652fd58312f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zasada dzia\u0142ania DECO polega na tym, \u017ce weryfikator (prover) uzyskuje cz\u0119\u015b\u0107 danych D i potwierdza weryfikatorowi (verifier), \u017ce D pochodzi od serwera TLS S. Innym problemem jest to, \u017ce TLS nie podpisuje danych, a klientowi TLS trudno jest udowodni\u0107, \u017ce dane zosta\u0142y uzyskane dok\u0142adnie z tego serwera (trudno\u015b\u0107 w udowodnieniu pochodzenia). <\/p>\n<p><\/p>\n<p>W protokole DECO u\u017cywane s\u0105 klucze szyfrowania KEnc i KMac. Klient wysy\u0142a zapytanie Q do <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer www\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1157\">serwer www<\/a>, odpowied\u017a od serwera R przychodzi w zaszyfrowanej formie, ale klient i serwer maj\u0105 te same KMac, wi\u0119c klient mo\u017ce sfa\u0142szowa\u0107 wiadomo\u015b\u0107 TLS. Rozwi\u0105zanie DECO polega na tym, aby \"ukry\u0107\" KMac przed klientem (prover), a\u017c odpowie na zapytanie. Teraz KMac jest podzielony mi\u0119dzy prover a verifier \u2014 KpMac i KvMac. Serwer otrzymuje KMac do szyfrowania odpowiedzi poprzez operacj\u0119 na cz\u0119\u015bciach klucza KpMac \u2295 KvMac = KMac.<\/p>\n<p><\/p>\n<p>Po skonfigurowaniu tr\u00f3jstronnej procedury uzgadniania, wymiana danych mi\u0119dzy klientem a serwerem b\u0119dzie przeprowadzona z zapewnieniem bezpiecze\u0144stwa.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/2d6405ae1e7e2b283539d3a4bd8c315c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nM\u00f3wi\u0105c o systemie zdecentralizowanych orakli, nie mo\u017cna pomin\u0105\u0107 Chainlink, kt\u00f3ry d\u0105\u017cy do stworzenia zdecentralizowanej sieci w\u0119z\u0142\u00f3w orakli, kompatybilnej z Ethereum, Bitcoin i Hyperledger, z uwzgl\u0119dnieniem modu\u0142owo\u015bci: ka\u017cda cz\u0119\u015b\u0107 systemu mo\u017ce by\u0107 aktualizowana. Aby zapewni\u0107 bezpiecze\u0144stwo, Chainlink oferuje ka\u017cdemu oraklowi bior\u0105cemu udzia\u0142 w zadaniu wydanie kombinacji kluczy (publicznego i prywatnego). Klucz prywatny jest wykorzystywany do generowania cz\u0119\u015bciowego podpisu, kt\u00f3ry zawiera ich rozwi\u0105zanie na zapytanie o dane. Aby uzyska\u0107 odpowied\u017a, konieczne jest po\u0142\u0105czenie wszystkich cz\u0119\u015bciowych podpis\u00f3w orakli sieci.<\/p>\n<p><\/p>\n<p>Chainlink planuje przeprowadzi\u0107 wst\u0119pny PoC DECO z naciskiem na zdecentralizowane aplikacje finansowe, takie jak Mixicles. W momencie pisania artyku\u0142u ukaza\u0142a si\u0119 wiadomo\u015b\u0107 na Forbes, \u017ce Chainlink naby\u0142 DECO z Uniwersytetu Cornella.<\/p>\n<p><\/p>\n<h1 id=\"ataki-na-orakuly\">Ataki na orakle<\/h1>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/ce964b3961f4b0035f96e33777ed77d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Z perspektywy bezpiecze\u0144stwa informacji rozwa\u017cono nast\u0119puj\u0105ce ataki na Town Crier:<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Injectowanie z\u0142o\u015bliwego kodu smart-contract na w\u0119z\u0142ach TEE.<br \/>\nIstota ataku: przes\u0142anie do TEE fa\u0142szywego kodu smart-contract, w ten spos\u00f3b, intruz, kt\u00f3ry uzyska\u0142 dost\u0119p do w\u0119z\u0142a, b\u0119dzie mia\u0142 mo\u017cliwo\u015b\u0107 wykonania w\u0142asnego (oszuka\u0144czego) smart-contract na odszyfrowanych danych. Niemniej jednak zwracane warto\u015bci b\u0119d\u0105 szyfrowane za pomoc\u0105 klucza prywatnego, a jedyn\u0105 mo\u017cliwo\u015bci\u0105 dost\u0119pu do takich danych jest wyciek szyfrowanego tekstu podczas zwrotu\/wyj\u015bcia.<br \/>\nOchrona przed tym atakiem polega na weryfikacji przez enclave poprawno\u015bci kodu znajduj\u0105cego si\u0119 pod bie\u017c\u0105cym adresem. Mo\u017cna to osi\u0105gn\u0105\u0107 za pomoc\u0105 schematu adresowania, w kt\u00f3rym adres kontraktu jest okre\u015blany przez haszowanie kodu kontraktu. <\/p>\n<p>\n<\/li>\n<li>\n<p>Zmiany w szyfrogramie stanu kontraktu ujawniaj\u0105 wycieki.<br \/>\nIstota ataku: W\u0142a\u015bciciele w\u0119z\u0142\u00f3w, na kt\u00f3rych wykonywane s\u0105 inteligentne kontrakty, maj\u0105 dost\u0119p do stanu kontraktu w zaszyfrowanej formie poza enklaw\u0105. Haker, zdobywaj\u0105c kontrol\u0119 nad w\u0119z\u0142em, mo\u017ce por\u00f3wnywa\u0107 stan kontraktu przed i po wykonaniu transakcji oraz okre\u015bli\u0107, jakie argumenty zosta\u0142y wprowadzone i kt\u00f3ry konkretny metod inteligentnego kontraktu zosta\u0142 u\u017cyty, poniewa\u017c sam kod inteligentnego kontraktu i jego specyfikacje techniczne s\u0105 publicznie dost\u0119pne.<br \/>\nOchrona w zapewnieniu niezawodno\u015bci samego w\u0119z\u0142a.<\/p>\n<p>\n<\/li>\n<li>\n<p>Ataki kana\u0142\u00f3w bocznych.<br \/>\nSzczeg\u00f3lny typ atak\u00f3w, wykorzystuj\u0105cy monitorowanie dost\u0119pu do pami\u0119ci i pami\u0119ci podr\u0119cznej enklawy w r\u00f3\u017cnych scenariuszach. Przyk\u0142adem takiego ataku jest Prime and Probe.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/df57664f060e294b969f96dda8a69b32.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nProcedura przeprowadzenia ataku:<\/p>\n<p><\/p>\n<ul>\n<li>t0: Haker zape\u0142nia ca\u0142\u0105 pami\u0119\u0107 podr\u0119czn\u0105 danych procesu ofiary.<\/li>\n<li>t1: Ofiara wykonuje kod z odwo\u0142aniami do pami\u0119ci, kt\u00f3re zale\u017c\u0105 od poufnych danych ofiary (klucze kryptograficzne). Wyb\u00f3r linii pami\u0119ci podr\u0119cznej odbywa si\u0119 na podstawie warto\u015bci keybit. W przedstawionym przyk\u0142adzie, keybit = 0 i odczytano adres X w linii pami\u0119ci podr\u0119cznej 2. Dane przechowywane w X s\u0105 \u0142adowane do pami\u0119ci podr\u0119cznej, wypychaj\u0105c dane, kt\u00f3re tam wcze\u015bniej by\u0142y. <\/li>\n<li>t2: Haker sprawdza, kt\u00f3re z jego linii pami\u0119ci podr\u0119cznej zosta\u0142y wypchni\u0119te \u2014 linie u\u017cywane przez ofiar\u0119. Dokonuje si\u0119 to poprzez pomiar czasu dost\u0119pu. Powtarzaj\u0105c t\u0119 operacj\u0119 dla ka\u017cdego keybit, haker uzyskuje ca\u0142y klucz. <\/li>\n<\/ul>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Ochrona przed atakiem: W Intel SGX istnieje ochrona przed atakami kana\u0142\u00f3w bocznych, kt\u00f3ra zabrania monitorowania zdarze\u0144 zwi\u0105zanych z pami\u0119ci\u0105 podr\u0119czn\u0105, ale atak Prime and Probe nadal si\u0119 powiedzie, poniewa\u017c haker obserwuje zdarzenia pami\u0119ci podr\u0119cznej swojego procesu i dzieli pami\u0119\u0107 podr\u0119czn\u0105 z ofiar\u0105.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: kt\u00f3ry oracle wybra\u0107 w blockchainie?\" src=\"\/wp-content\/uploads\/2020\/09\/9b2821eedacc189f44cf903aad0fdba3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nW zwi\u0105zku z tym obecnie nie ma niezawodnej ochrony przed tym atakiem.<\/p>\n<p><\/p>\n<p>Znane s\u0105 r\u00f3wnie\u017c ataki takie jak Spectre i Foreshadow (L1TF), podobne do Prime and Probe. Pozwalaj\u0105 one na odczyt danych z pami\u0119ci podr\u0119cznej poprzez kana\u0142 boczny. Przewidziano ochron\u0119 przed podatno\u015bci\u0105 Spectre-v2, dzia\u0142aj\u0105c\u0105 przeciwko tym dw\u00f3m atakom. <\/p>\n<p><\/p>\n<p>W odniesieniu do DECO, trzystronna r\u0119ka zapewnia gwarancj\u0119 bezpiecze\u0144stwa: <\/p>\n<p><\/p>\n<ol>\n<li>Integralno\u015b\u0107 Provera: zhakowany prover nie mo\u017ce sfa\u0142szowa\u0107 informacji o pochodzeniu serwera i nie mo\u017ce wymusi\u0107 na serwerze akceptacji niedopuszczalnych zapyta\u0144 ani odpowiada\u0107 niew\u0142a\u015bciwie na prawid\u0142owe zapytania. Jest to mo\u017cliwe poprzez wzorce zapyta\u0144 mi\u0119dzy serwerem a proverem. <\/li>\n<li>Integralno\u015b\u0107 Weryfikatora: zhakowany weryfikator nie mo\u017ce wymusi\u0107 na proverze uzyskania b\u0142\u0119dnych odpowiedzi.<\/li>\n<li>Prywatno\u015b\u0107: Haker verifer bada tylko publiczne informacje (zapytanie, nazwa serwera).<\/li>\n<\/ol>\n<p><\/p>\n<p>W DECO mo\u017cliwe s\u0105 tylko luki zwi\u0105zane z wstrzykiwaniem ruchu. Na pocz\u0105tku, podczas tr\u00f3jstronnego uzgadniania, verifer mo\u017ce ustali\u0107 to\u017csamo\u015b\u0107 serwera za pomoc\u0105 \u015bwie\u017cego nonce. Jednak po uzgodnieniu verifer musi polega\u0107 na wska\u017anikach na poziomie sieciowym (<a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/lir\/ipv4\/\"   title=\"adresy IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"674\">adresy IP<\/a>). W ten spos\u00f3b po\u0142\u0105czenie mi\u0119dzy verifer a serwerem powinno by\u0107 zabezpieczone przed wstrzykiwaniem ruchu. Osi\u0105ga si\u0119 to poprzez u\u017cycie Proxy.<\/p>\n<p><\/p>\n<h1 id=\"sravnenie-orakulov\">Por\u00f3wnanie oracle'\u00f3w<\/h1>\n<p><\/p>\n<p>Town Crier opiera si\u0119 na pracy z enclave w cz\u0119\u015bci serwerowej, natomiast DECO pozwala na weryfikacj\u0119 pochodzenia danych za pomoc\u0105 tr\u00f3jstronnych uzgodnie\u0144 i szyfrowania danych z wykorzystaniem kluczy kryptograficznych. Por\u00f3wnanie danych oracle'\u00f3w przeprowadzono wed\u0142ug nast\u0119puj\u0105cych kryteri\u00f3w: wydajno\u015b\u0107, bezpiecze\u0144stwo, koszt i praktyczno\u015b\u0107. <\/p>\n<p><\/p>\n<p>Town Crier<br \/>\nDECO<\/p>\n<p>wydajno\u015b\u0107<br \/>\nSzybszy (0,6 s do zako\u0144czenia)<br \/>\nWolniejszy (10,50 s do zako\u0144czenia protoko\u0142u)<\/p>\n<p>bezpiecze\u0144stwo<br \/>\nMniej bezpieczny<br \/>\nBardziej bezpieczny<\/p>\n<p>koszt<br \/>\nDro\u017cszy<br \/>\nTa\u0144szy<\/p>\n<p>praktyczno\u015b\u0107<br \/>\nWymaga specjalnego sprz\u0119tu<br \/>\nDzia\u0142a z ka\u017cdym serwerem obs\u0142uguj\u0105cym TLS<\/p>\n<p><\/p>\n<p><strong>Wydajno\u015b\u0107<\/strong>: Aby uzyska\u0107 dost\u0119p do DECO, wymagana jest konfiguracja tr\u00f3jstronnego uzgodnienia, kt\u00f3ra przez LAN zajmuje 0,37 sekundy, a po nawi\u0105zaniu po\u0142\u0105czenia efektywny jest 2PC-HMAC (0,13 s na zapis). Wydajno\u015b\u0107 DECO zale\u017cy od dost\u0119pnych zestaw\u00f3w szyfr\u00f3w TLS, rozmiaru danych osobowych i z\u0142o\u017cono\u015bci dowod\u00f3w dla konkretnej aplikacji. W przypadku aplikacji dla opcji binarnych od IC3: zako\u0144czenie protoko\u0142u przez LAN zajmuje oko\u0142o 10,50 s. Dla por\u00f3wnania, Town Crier potrzebuje do wykonania analogicznej aplikacji oko\u0142o 0,6 sekundy, co oznacza, \u017ce jest oko\u0142o 20 razy szybszy ni\u017c DECO. Pod tymi samymi warunkami, TC b\u0119dzie szybszy. <\/p>\n<p><\/p>\n<p><strong>Bezpiecze\u0144stwo<\/strong>: Ataki na enclave Intel SGX (ataki kana\u0142u bocznego) dzia\u0142aj\u0105 i mog\u0105 wyrz\u0105dzi\u0107 rzeczywiste szkody uczestnikom umowy inteligentnej. W odniesieniu do DECO mo\u017cliwe s\u0105 ataki zwi\u0105zane z wstrzykiwaniem ruchu, ale u\u017cycie proxy eliminuje takie ataki. Dlatego DECO jest bardziej bezpieczne.<\/p>\n<p><\/p>\n<p><strong>Koszt<\/strong>: Koszt sprz\u0119tu obs\u0142uguj\u0105cego prac\u0119 z Intel SGX jest wy\u017cszy ni\u017c koszt konfiguracji protoko\u0142u w DECO. Dlatego TC jest dro\u017cszy.<\/p>\n<p><\/p>\n<p><strong>Praktyczno\u015b\u0107<\/strong>: Aby korzysta\u0107 z Town Crier, potrzebny jest specjalny sprz\u0119t obs\u0142uguj\u0105cy TEE. Na przyk\u0142ad, Intel SGX jest obs\u0142ugiwany przez procesory Intel Core 6. generacji i nowsze. DECO umo\u017cliwia prac\u0119 z dowolnym sprz\u0119tem, chocia\u017c istnieje konfiguracja DECO z wykorzystaniem TEE. Proces konfiguracji z wykorzystaniem tr\u00f3jstronnej wymiany kluczy w DECO mo\u017ce zaj\u0105\u0107 troch\u0119 czasu, ale nie ma to \u017cadnego por\u00f3wnania z ograniczeniem sprz\u0119towym w TC, dlatego DECO jest bardziej praktyczny.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Podsumowanie<\/h1>\n<p><\/p>\n<p>Analizuj\u0105c dwa orakle oddzielnie i por\u00f3wnuj\u0105c je pod wzgl\u0119dem czterech kryteri\u00f3w, wida\u0107, \u017ce Town Crier ust\u0119puje DECO w trzech z czterech punkt\u00f3w. DECO jest bardziej niezawodny pod wzgl\u0119dem bezpiecze\u0144stwa informacji, ta\u0144szy i bardziej praktyczny, chocia\u017c konfiguracja tr\u00f3jstronnego protoko\u0142u mo\u017ce zaj\u0105\u0107 troch\u0119 czasu i ma swoje wady, takie jak dodatkowe operacje z kluczami szyfruj\u0105cymi. TC dzia\u0142a szybciej ni\u017c DECO, ale podatno\u015b\u0107 na atak typu side-channel czyni go nara\u017conym na ryzyko utraty prywatno\u015bci. Nale\u017cy pami\u0119ta\u0107, \u017ce DECO zosta\u0142 zaprezentowany w styczniu 2020 roku, i nie min\u0119\u0142o wystarczaj\u0105co du\u017co czasu, aby uzna\u0107 go za bezpieczny. Town Crier jest atakowany od 4 lat i przeszed\u0142 przez wiele test\u00f3w, dlatego jego zastosowanie w wielu projektach jest uzasadnione.<\/p>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/518234\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0410\u043b\u044c\u0442\u0438\u0440\u0438\u043a\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u0441, \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0433\u043e, \u0446\u0435\u043d\u0437\u0443\u0440\u043e\u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":93795,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-93794","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Town Crier vs DECO: \u043a\u0430\u043a\u043e\u0439 \u043e\u0440\u0430\u043a\u0443\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-10T05:42:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-10T05:42:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Town Crier vs DECO: kt\u00f3rego orakla u\u017cy\u0107 w blockchainie? | ProHoster","description":"Dzi\u015b tylko leniwy nie pisa\u0142 o technologii blockchain, kryptowalutach i o tym, jak niesamowite to jest. Jednak w tym artykule nie b\u0119dzie wychwalania tej technologii, lecz om\u00f3wi\u0119 jej wady i sposoby ich rozwi\u0105zania.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Town Crier vs DECO: \u043a\u0430\u043a\u043e\u0439 \u043e\u0440\u0430\u043a\u0443\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435? | ProHoster","og:description":"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-10T05:42:27+00:00","article:modified_time":"2020-09-10T05:42:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"93794","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:39:33","updated":"2026-02-09 15:05:02","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/93794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=93794"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/93794\/revisions"}],"predecessor-version":[{"id":158360,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/93794\/revisions\/158360"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/93795"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=93794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=93794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=93794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}