Wiele osób, które używają kryptowalut od jakiegoś czasu, poniosło pewnego rodzaju straty na giełdzie, w tym straty w wyniku hacków Gox i Bitfinex. Nigdy w historii złodzieje tak łatwo nie odebrali tak ogromnej nagrody!

Tokeny kryptograficzne są wyjątkowe, ponieważ istnieją tylko w cyberprzestrzeni i nie można ich łatwo odzyskać po kradzieży (chociaż nadchodzący układ nerwowy blockchain w łańcuchu DFINITY może coś z tym zrobić), co czyni je niezwykle podatnymi na innych hakerów i kradzież od wewnątrz. .

To znaczy, chyba że uda nam się stworzyć naprawdę zdecentralizowane giełdy, na których nie będziemy musieli przekazywać tokenów i pieniędzy pośrednikom.

Taka w pełni zdecentralizowana i zabezpieczona przed manipulacją giełda powinna również znacznie obniżyć opłaty transakcyjne, co jest kluczowym krokiem w dalszym dojrzewaniu naszej branży, ale jak dotąd cel ten był nieuchwytny.

Jednak w tym artykule wyjaśnię, w jaki sposób niektóre z najnowszych innowacji w kryptografii umożliwiły realizację dzisiejszych pomysłów.

W tym artykule wyjaśniono, jak utworzyć zdecentralizowaną wymianę tokenów (dla gotowego do użycia spakowanego jako obraz Dockera) z inteligentnego kontraktu napisanego w Solidity i interfejsu użytkownika Dapp napisanego w HTML/Js (takiego, jaki można utworzyć za pomocą Truffle ) Środowisko programistyczne, w tym Cloud9 IDE, a także Truffle i inne narzędzia, sprawdź instant-dapp-ide).

Chociaż do zastosowania kryptografii konieczne będzie również utworzenie specjalnych klientów oprogramowania towarzyszącego, nie będziemy potrzebować łańcuchów bocznych, kanałów stanowych, specjalnych centrów konsensusu ani niczego innego, co jeszcze nie istnieje lub ma własne poważne wady.

Nic nie jest potrzebne poza tym, co jest już dostępne dzisiaj!

Dlatego omówimy, jak stworzyć giełdę kryptowalut na Ethereum (lub ewentualnie DFINITY), która umożliwi bezpieczny i tani handel BTC/ETH i innymi parami walutowymi.

Krok 1: Inteligentna logika kontraktu

Inteligentne kontrakty Ethereum już teraz zapewniają nam możliwość uruchomienia logiki dwóch kolejnych transakcji aukcyjnych (takich jak GDAX, Bitfinex, Kraken czy Poloniex) na komputerze typu blockchain.

Szybkość dzisiejszych sieci stwarza praktyczne wyzwania w zakresie komfortu użytkownika, ponieważ rynek może zostać zreorganizowany w ciągu kilku minut po złożeniu nowego zamówienia i pozornej realizacji transakcji, ale rozwiązania już się rozpoczęły.

Przekaźnik progowy sprowadzi ostateczność do sekund (dziś ponad 50 razy szybciej w porównaniu do Ethereum), a zespół Caspera również pracuje nad rozwiązaniem, więc prawdopodobnie zyskamy trochę czasu.

Prawdziwym wyzwaniem jest to, że tokeny, które tworzymy w inteligentnych kontraktach, nie mogą być w sposób niezawodny łączone z cennymi tokenami natywnymi w innych łańcuchach. Przykładowo nie możemy utworzyć tokenów XBT w inteligentnym kontrakcie Ethereum, który jest połączony z Bitcoinem w sposób zaufany, a które będziemy mogli następnie wymienić na natywne Ethereum.

Uwaga techniczna wysokiego poziomu: Oto przykład dwóch kolejnych kodów wymiany w stylu aukcji w Solidity dla zainteresowanych (była to właściwie moja pierwsza umowa z Solidity, napisana, gdy ten język był po raz pierwszy dostępny).

Należy wziąć pod uwagę kilka kwestii projektowych, takich jak konieczność rozwiązania problemu „strzelania” HFT przez arbitrażystów obserwujących zmiany cen w szybko skoncentrowanych transakcjach. Istnieją również dobre powody, aby rozważyć zastosowanie innych modeli wymiany, takich jak aukcje partyjne z ceną jednostkową. Rozważania te zasługują na ponowną publikację, jeśli czas na to pozwoli.

Krok 2: Złamanie sygnatury progowej

Dla uproszczenia w dalszej części omówimy jedynie kwestię hostingu Bitcoinów na giełdach hostowanych przez Ethereum, chociaż w rzeczywistości technologia ta ma również zastosowanie do hostowania dowolnego natywnego tokena kryptograficznego z łańcucha autoryzowanych transakcji wykorzystujących podpisy ECDSA.

Naszym wymaganiem jest, aby duża liczba niezależnych stron wspólnie kontrolowała standardowy adres Bitcoin, tak aby użytkownicy mogli wysyłać tam Bitcoiny, ale Bitcoin może zostać przeniesiony dopiero po porozumieniu pomiędzy pewnym progiem tych stron.

Załóżmy na przykład, że nasza giełda będzie miała 50 „opiekunów” wybranych ze znanych i niezależnych osób i firm z branży kryptowalut.

Muszą kontrolować adres Bitcoin, na który użytkownicy mogą wysyłać Bitcoiny w zamian za tokeny XBT hostowane na giełdzie Ethereum, i muszą mieć możliwość dystrybucji Bitcoinów z tego adresu wśród tych, którzy wymieniają tokeny XBT.

Tradycyjnie w kryptografii taką funkcjonalność tworzy się za pomocą „sygnatur progowych”.

Uwaga techniczna wysokiego poziomu: sieć Bitcoin przekazuje jedynie lokalne transakcje „multisig” dla maksymalnie 3 uczestników, płacenie za skrót skryptu odciąża część obciążenia, ale nadal ogranicza uczestników do 15.

Teraz możemy wytyczyć granicę dla niecierpliwych: chociaż transakcje Bitcoin i Ethereum są podpisywane przy użyciu standardowych podpisów ECDSA i żadna z nich natywnie nie obsługuje podpisów progowych, niektórzy innowacyjni badacze zademonstrowali niedawno sposób wykorzystania standardowych podpisów ECDSA używanych przez Bitcoin i Ethereum oraz może generować sygnatury progowe kompatybilne wstecz.

Oznacza to, że nasi opiekunowie mogą tworzyć podpisy progowe dla adresów, które będą akceptowane przez sieć Bitcoin jako standardowe podpisy ECDSA w celu odblokowania UTXO!

Dokument opisujący, jak to zrobić, znajdziesz tutaj:

• https: //eprint.iacr.org/2016/013.pdf

• https://www.cs.princeton.edu/~stevenag/threshold_sigs.pdf

Żeby było jasne, te schematy podpisów progowych nie są takie same, jak zoptymalizowany system BLS, którego używamy w programie DFINITY Threshold Relay, który może łączyć dane wyjściowe setek podpisujących w celu utworzenia unikalnego deterministycznego podpisu progowego w ciągu milisekund.

W rzeczywistości ten system jest tak nieefektywny, że łączenie podpisu naszego opiekuna zajmuje dużo czasu, a jego procesor nagrzewa się, ale to nie problem.

Całkowicie akceptowalne jest pobieranie niewielkiej opłaty za wypłatę w celu pokrycia kosztów obliczeniowych i wymaganie, aby przetwarzanie wypłat z naszej giełdy finansowej opartej na Ethereum zajmowało trochę czasu. Przecież wiele osób byłoby szczęśliwych, gdyby ich środki zostały bezpiecznie wymienione dla wygody!

Zastosowanie tej technologii pozwoli nam zdecentralizować zaufanie pomiędzy określoną liczbą opiekunów, umożliwiając im zarówno otrzymywanie Bitcoinów w zamian za dystrybucje XBT, jak i dystrybucję Bitcoinów podczas wymiany tokenów XBT, działając w ten sposób w sposób pozbawiony zaufania i bezpieczny sposób na powiązanie Bitcoina z Token XBT.

Oczywiście musimy wziąć pod uwagę, że niektórzy opiekunowie mogą zgubić klucze do podpisu lub zostać potrąceni przez metaforyczny autobus, ale podpisywanie progów pozwala nam rozwiązać ten problem. Do utworzenia nowego podpisu możemy po prostu wymagać obecności tylko 35 z 50 strażników.

Krok 3: Nagrody Strażników

Potrzebujemy programu motywacyjnego dla opiekunów, ponieważ chcemy angażować i promować osoby i firmy godne zaufania, które nie znikną ani nie będą w zmowie.

Najprostszym sposobem jest przekazanie im niewielkiej opłaty transakcyjnej od wszystkich wypłat dokonanych przez giełdę.

Krok 4: Zarządzanie

Zdecentralizowane transakcje finansowe wymagają własnych systemów zarządzania, takich jak wybór opiekunów, aktualizacje oprogramowania przyjętych inteligentnych kontraktów itp. Dlatego zaprojektujemy przełącznik jako DAO (Zdecentralizowana Organizacja Autonomiczna).

Jeśli systemy te staną się dostępne na czas, możemy nawet uzyskać bardziej zaawansowane systemy nerwowe zarządzające dzięki technologii układu nerwowego typu blockchain DFINITY (zespół DFINITY ma wielką nadzieję, że BNS zostanie w ten sposób ponownie wykorzystany).

W systemie zarządzania będą posiadacze tokenów z „prawami głosu”, którzy będą proporcjonalnie uczestniczyć w skromnych opłatach pobieranych za transakcje. Inteligentna umowa organizuje regularne „konkursy piękności”, podczas których potencjalni opiekunowie mogą ubiegać się o stanowiska, które ostatecznie przydzielają wyborcy.

Uwaga techniczna wysokiego poziomu: Osoba atakująca może podjąć próbę zakupu wszystkich żetonów do głosowania, a następnie zastąpić strażników ich własnymi marionetkami (zwykle jest to atak DAO 51%) i ukraść zdeponowane środki.

Z tego powodu po głosowaniu umowa może opuścić strażnika dopiero po pewnym opóźnieniu, co może dać posiadaczom kryptowaluty wystarczająco dużo czasu na bezpieczne wycofanie środków w przypadku wystąpienia takiego ataku. Dotyczy to również przyjmowania aktualizacji oprogramowania.

Krok 5: Ustawienia szyfrowania progowego

Po skonfigurowaniu zestawu opiekunów muszą oni skonfigurować swój schemat progowego podpisu. Oznacza to, że należy uruchomić jakiś proces lub protokół, aby po jego zakończeniu każdy z naszych 50 opiekunów miał prywatny „udział kluczy”, który jest używany do wspólnego tworzenia podpisu progowego, który może być używany jako pojedyncza autoryzacja dla ECDSA. Proste ECDSA podpis. Sieć dystrybuuje Bitcoiny z adresów depozytowych.

Jak wspomniano wcześniej, cytowane schematy podpisów progowych to w rzeczywistości hacki, które tworzą podpisy, które są wstecznie kompatybilne ze zwykłymi podpisami ECDSA używanymi obecnie w sieciach Bitcoin i Ethereum. Oznacza to, że konfiguracja jest trudniejsza niż schemat sygnatury progowej BLS używany przez przekaźnik progowy DFINITY.

Najprostszym podejściem byłoby przeprowadzenie zaufanej konfiguracji podczas bezpiecznej ceremonii, tak jak niedawno zrobiła to sieć Z-Cash, i poproszenie każdego opiekuna o sygnał inteligentnej umowy giełdy, że jest zadowolony z wyników.

Chociaż proces zaufanej konfiguracji będzie znacznie prostszy do wdrożenia niż ten stosowany w Z-Cash, wiele osób chce wdrożyć niezaufaną konfigurację rozproszoną, szczególnie dlatego, że łatwiej jest ją powtórzyć, gdy zajdzie potrzeba zmiany opiekuna. Będzie się ono składać z dwóch części.

Pierwsza polega na dystrybucji zwykłych kluczy pomiędzy opiekunami i można to zrobić w bardzo prosty sposób, stosując np. IPFS jako dziennik, który agreguje i udostępnia wiadomości związane z protokołem rozproszonego generowania kluczy.

Druga część (która jest konieczna ze względu na techniki szyfrowania homomorficznego stosowane w hakerach) obejmuje dystrybucję udziałów kluczy Paillier. Jeśli chcesz szybko uruchomić przełącznik, ta ostatnia część wymaga dokładnej analizy kosztów wdrożenia!

Krok 6: Oprogramowanie klienckie Guardian

Musieliśmy stworzyć specjalne „oprogramowanie klienta-strażnika”, które monitoruje inteligentne kontrakty giełdy i regularnie współpracuje przy podpisywaniu transakcji Bitcoin, gdy użytkownik chce wymienić XBT.

Krok 7: Finansowanie społecznościowe

W celu gromadzenia środków na badania i rozwój należy stosować finansowanie społecznościowe. Mogą istnieć zachęty, aby jako pierwszy przenieść tam środki (być może wyłącznie tam zablokowane na pewien czas), aby pomóc w kierowaniu płynnością.

Zauważ, że możemy po prostu zacząć od systemu zarządzania, a następnie pozwolić mu na przydzielanie środków programistom w celu sfinalizowania transakcji.

Po rozpoczęciu handlu powinniśmy spodziewać się szybkiego wzrostu wolumenu! Koszty podstawowe związane z handlem zdecentralizowanym są o rząd wielkości niższe niż w przypadku handlu scentralizowanego prowadzonego przez firmy, co znajdzie odzwierciedlenie w opłatach transakcyjnych.

Ponadto opisany zdecentralizowany system jest również bardziej odporny na hakerów i ataki, a na takiej giełdzie można spodziewać się bezpiecznego zdeponowania i handlu dużymi ilościami kryptowalut.

Trzymam kciuki, żeby ktoś to zbudował!

Uwaga końcowa: Na pierwszy rzut oka zdecentralizowane giełdy finansowe wydają się umożliwiać handel kryptowalutami. Na krótką metę może to być prawdą. Zainteresowani powinni jednak sprawdzić system PHI rozwijany obecnie przez badaczy związanych z String Labs w Palo Alto.

Naśladuje to działanie systemu bankowości komercyjnej i tworzy zdecentralizowaną „kryptowalutę”, która jest zabezpieczona zabezpieczeniem pożyczki.

Kiedy już będziemy mieli token na Ethereum i w łańcuchu DFINITY (miejmy nadzieję, że w ciągu dwóch lat), możliwe będzie przechowywanie tokena na zdecentralizowanej giełdzie, gdzie wartość tokena będzie równa wartości jakiejś podobnej waluty fiducjarnej.

Treści IC, na których Ci zależy

Postęp technologiczny |. Informacje o projekcie |. Wydarzenia globalne

Zbieraj i śledź kanał IC Binance

Bądź na bieżąco z najświeższymi informacjami