Jak implementować skrypty do TradingView

Najlepsi brokerzy opcji binarnych 2020:
  • Binarium
    Binarium

    1 miejsce w rankingu! Najlepszy wybor dla poczatkujacego!
    Bezplatne konto szkoleniowe i demo!
    Bonus za rejestracje!

  • FINMAX
    FINMAX

    Uczciwy i niezawodny broker! Dobre recenzje!

Taproot w Bitcoin | Nowy wymiar bezpieczeństwa i prywatności

Dyskutowane od dłuższego czasu zagadnienie Taproot dla Bitcoina nareszcie jest na tapecie deweloperów w sposób pełny. Opublikowane niedawno propozycje rzucają nowe światło na długo oczekiwane zmiany i ulepszenia w funkcjonowaniu sieci Bitcoin.

Wydajność i prywatność raz jeszcze

Bitcoin zmaga się z problemem prywatności i wydajności łańcucha bloków od wielu lat. Chociaż problem był już wiele razy opisywany w przeszłości warto wrócić na chwilę do tego zagadnienia, stanowi to bowiem konieczną uwerturę do tematu poruszanego w dzisiejszym artykule. Szczęśliwie, jak doskonale wiecie, język, w którym napisany jest kod Bitcoina pozwala bez przeszkód rozszerzać jego funkcje i implementować nowe rozwiązania. W zakresie tych możliwości leży oczywiście definiowanie sposobu kodowania wyjść dla bitcoinowych transakcji.

Cały kod musiał zostać zdefiniowany w taki sposób, aby transakcje pozostały prywatne, a także na tyle “lekkie”, aby spełnić wymagania dotyczące danych. Dochodzi do tego wyzwanie optymalnego wykorzystania przepustowości, aby nie obciążać zbytnio przestrzeni węzłów Bitcoin i rozszerzyć możliwości obliczeniowe Problem polega na tym, aby móc dopisać funkcje odnoszące się do prywatności w taki sposób, aby nie wprowadzało to żadnych niedogodności do blockchaina Bitcoina.

Nie wszystkie propozycje udoskonalenia kodu Bitcoina w zakresie prywatności są łatwe i szybkie do zaimplementowania. Spójrzmy chociażby o implementacji podpisów Schnorra i związanych z ty zagadnień, o których pisałem już tutaj. Przykładem rozwiązania, które reprezentuje bardziej skomplikowana strukturę w ramach blockchain Bitcoina są również Smart Contracts

Subtelna ilość kodu

Innymi słowy, ilość kodu, który musiałby zostać dodany do bloku z każdą transakcją, znacznie wzrośnie. Spowolniłoby to sieć, ponieważ przy każdej nowej transakcji przetwarzanych byłoby więcej danych. Ponadto, więcej danych wymaga więcej miejsca na dysku, co spowodowałoby, że łańcuch bloków stałby się jeszcze bardziej napięty.

Taka sytuacja mogłaby przyblokować pełne węzły blockchain, które mają za zadanie sprawdzanie poprawności transakcji sieciowych, ponieważ potrzebowałyby silniejszych procesorów i znacznie większej ilości danych do przechowywania, aby poradzić sobie z już znaczącymi wymaganiami blockchaina Bitcoin.

Dlatego efektywne i anonimowe zachowanie miejsca jest tak ważne dla programistów Bitcoin. Rozwiązania, które by to umożliwiają, zostały już zaproponowane, a nawet rozpoczęły się fazy ich wdrożenia, przy czym takie technologie, jak CoinJoin lub Dandelion ++ są wymieniane najczęściej. Ostatnio w rozmowach programistów i kryptografów prym wiedzie Taproot. Czym jest Taproot i w jaki sposób może pomoc rozwiązać bieżące problemy Bitcoina?

Aperitif

Rozwiązanie Taproot zostało pierwotnie wprowadzone przez Grega Maxwella, programistę i kryptografa Bitcoin Core

Oznacza to, że Taproot zasadniczo rozszerza możliwości inteligentnego kontraktu w sieci Bitcoin (zachowując prywatność), powodując, że wszystkie transakcje w łańcuchu (zarówno proste, jak i bardziej zaawansowane) wyglądają dokładnie tak samo dla zewnętrznego obserwatora.

Rozwiązanie Taproot jest powiązane z trzema technologiami, które zostały zaimplementowane lub są aktualnie wdrażane w Bitcoin. Są to P2SH, MAST i SCHNOOR. Rzućmy pokrótce okiem na każdą z nich.

P2SH

Zwany również „pay to script Hash

W przypadku standardowych transakcji oznacza to, że Klucz prywatny

Najlepsi brokerzy opcji binarnych 2020:
  • Binarium
    Binarium

    1 miejsce w rankingu! Najlepszy wybor dla poczatkujacego!
    Bezplatne konto szkoleniowe i demo!
    Bonus za rejestracje!

  • FINMAX
    FINMAX

    Uczciwy i niezawodny broker! Dobre recenzje!

Skrypt P2SH (zawierający warunki „uwolnienia” BTC) jest przechowywany jako skrót w blockchain. Aby wydać Bitcoiny wysyłane przez P2SH, odbiorca musi dostarczyć skrypt pasujący do skrótu skryptu i danych, które sprawiają, że skrypt ocenia się jako prawdziwy. Po wydaniu monet warunki te są ujawniane sieci.

Problem polega na tym, że gdy warunki zostaną ujawnione, światło dzienne oglądają dosłownie wszystkie z nich. Jeśli ustawisz warunek ochrony Multisig

Niektóre portfele nie oferują zaawansowanych funkcji, takich jak blokady czasu lub multisig, które zawężają pulę portfeli do odgadnięcia. Dodatkowo z większą ilością warunków przychodzi więcej kodu, a już wspominałem na początku, dlaczego jest to złe dla sieci.

MAST lub Merkelized Abstract Syntax Trees został zaproponowany na początku 2020 roku przez Johnsona Lau i jest technologią, która zmniejsza rozmiar danych niezbędnych do napisania skryptu Bitcoin. Zmniejsza to zapotrzebowanie na przestrzeń blokową i poprawia prywatność, ponieważ tylko niewielką część inteligentnego kontraktu ujawnia się w publicznej sieci, skutkiem czego trudniej go analizować. Dzięki MAST skomplikowane warunki, o których wspominaliśmy, nagle stają się realną opcją dla łańcucha bloków Bitcoin.

MAST przesłania warunki skryptu transakcji i ujawnia tylko pierwszy spełniony warunek – ten, który był odpowiedzialny za wydawanie monet. Czyni to poprzez mieszanie każdego indywidualnego warunku poprzez wdrożenie technologii Merkle Tree. Jeśli, na przykład, P2SH zawierał blokadę czasu i wymaganie multisig, a Transakcja (TX)

Sygnatury Schnorra

Do tego wszystkiego dochodzi technologia Schnorra. Podpisy Schnorra

Technologia Schnorr jest rozwijana od lat i oczekuje się, że będzie kolejnym ważnym dodatkiem do bazy kodu Bitcoin. Wszystko wskazuje na to, ze Schnorr znacznie poprawi rozmiary danych transakcji i sieć stanie się znacznie bardziej skalowalna niż wcześniej.

Agregacja podpisów, główna cecha tej technologii, może być stosowana w transakcjach multisig. Klucze publiczne i podpisy można łączyć, dzięki czemu pojedyncza transakcja wielosygnaturowa łączy się z tymi bezwarunkowymi. Schemat ma charakter liniowy, co oznacza, że można wykonać wiele podpisów za pomocą różnych kluczy w tej samej wiadomości, dodać je razem i utworzyć prawidłowy podpis dla sumy tych kluczy.

Dodatkowo, technologia podpisów SCHNORRA pozwala „podkręcać” klucze publiczne i prywatne, co może również pomóc w sprawieniu, aby transakcje wielosygnaturowe wyglądały „normalnie”. Schemat sygnatur Schnorra był zawsze lepszy od tego, co miał Bitcoin, ale został opatentowany do 2008 r., Co uniemożliwiło twórcom Bitcoinów wdrożenie go na dużą skalę. Więcej na temat podpisów Shnorra możecie przeczytać tutaj.

Co to jest Taproot?

Wszystkie technologie, o których wspomnieliśmy powyżej otwierają potencjalnie drzwi do wdrożenia Taproot. Jest to koncepcja podobna do MAST; Skrypty MAST zawsze wymagają wstawienia warunku do skrótu, który pozwala uczestnikom zgodzić się na podpisanie transakcji razem. Taproot to w dużej mierze nowa metodologia tworzenia adresów.

Jeśli dwóch członków wielostronnej transakcji wie, że środki staną się dostępne dla jednego z nich w ciągu kilku tygodni, mogą zgodzić się na natychmiastowe podpisanie transakcji. Ta funkcja jest zawsze zawarta w Taproot i nazywana jest cooperative close, co poprawia bezpieczeństwo i uczciwość inteligentnych umów Bitcoin.

Wprowadzenie podpisów Schnorra do równania pozwala wprowadzić elementy prywatności. Schnorr umożliwia użytkownikom tworzenie progowych kluczy publicznych i sygnatur; jeśli odpowiedni próg podpisu zostanie podany do pewnego progu klucza publicznego, środki zostaną zwolnione do wydania. Schnorr pozwala nam także łączyć niezwiązane ze sobą wyniki w skrypt, który może być użyty do zmiany progu klucza publicznego i stworzenia unikalnego skrótu.

Ten skrypt służy do zmiany sygnatury progowej; wartość progowa podpisu + skrót skryptu ostatecznie pozwoli osobom zaangażowanym na wydawanie Bitcoin. Dopóki wszyscy uczestnicy zgadzają się na „kooperatywne zamknięcie” kontraktu, połączenie Schnorr i MAST zapewnia zarówno wydajność danych, jak i prywatność.

Graftroot pozwoliłby inteligentnym umowom być tak złożonymi, jak chcą ich twórcy, potencjalnie zawierającymi setki skryptów i warunków. Towns zauważa, że „nie ma dużego ciśnienia na implementowanie uogólnionej wersji taproot”, co oznacza, że Core początkowo zaimplementuje Schnorr / Taproot / MAST, a następnie zajmie się wprowadzeniem Graftroota.

Złożone smart kontrakty, które chronią i warunkują wydatki na Bitcoin, można ukryć dzięki funkcjom MAST, P2SH i Schnorr podobnym do Taproot. Stanowi to znaczący plus dla prywatności użytkowników Bitcoinów i jest to coś, czego wielu zwolenników Core oczekuje z wypiekami na twarzy.

Jak to ma działać?

Obecnie portfele posługujące się pojedynczymi podpisami (single signature) P2WPKH generują klucz prywatny, uzyskują z niego Klucz publiczny

W przypadku Taproot krok mieszania zostanie pominięty, więc adres bech32 będzie zawierał klucz pubkey bezpośrednio, z jedną małą zmianą. Obecnie 33-bajtowe klucze publiczne w Bitcoin są kodowane rozpoczynając się od 0x02 lub 0x03, aby umożliwić walidatorom rekonstrukcję współrzędnej Y klucza na krzywej eliptycznej secp256k1; w Bitcoin Improvement Protocol (BIP)

Wydawanie z P2PKH lub P2WPKH wymaga, aby wydatkujący zawarł swój klucz publiczny w swoich danych wejściowych. W przypadku Taproot klucz publiczny został dostarczony podczas wydawania Unspent Transaction Output (UTXO)

Ogólnie rzecz biorąc, powoduje to, że koszt stworzenia i wydania pojedynczego wyjścia Taproot jest o około 5% droższy niż P2WPKH. Prawdopodobnie nie jest to znaczące: koszt utworzenia wyniku Taproot jest prawie taki sam, jak w przypadku tworzenia wyjścia P2WSH – które ludzie płacą cały czas bez problemu – a koszt wydania pojedynczego klucza Taproot jest o 40% tańszy niż P2WPKH.

Oprócz zmiany z ECDSA na Schnorr dla algorytmu podpisu, istnieje kilka ważnych (ale łatwych do zaimplementowania) zmian w skrócie transakcji – podpis, który zobowiązuje się udowodnić, że transakcja jest autoryzowanym wydaniem UTXO.

Przede wszystkim użyty hash przechodzi od podwójnego SHA256

Istnieją również pewne zmiany w tym, które dane są zawarte w ramach haszy i jak są serializowane. Obejmuje to ulepszenia, które mogą sprawić, że portfele bez dostępu do zweryfikowanych wpisów UTXO (np. Portfele sprzętowe i HSM) będą bardziej wydajne, ponieważ nie muszą pobierać tylu danych, aby upewnić się, że podpisują poprawne UTXO i kwoty.

Chociaż może to brzmieć jak znaczna liczba zmian, deweloperzy Bitcoina podejrzewają, że jest to dopiero uwertura do właściwych zmian.

Taproot i transakcje wielosygnaturowe

Po UTXO o pojedynczym podpisie, najbardziej powszechne są proste multisig UTXO. Są to dane wyjściowe, które zależą od pewnej liczby podpisów z poszczególnych kluczy publicznych, ale nie mają żadnych innych warunków. Są one wykorzystywane zarówno przez indywidualnych użytkowników (np. Wymaga wielu urządzeń do wspólnej pracy w transakcjach wychodzacych), jak i przez wiele stron do pojedynczej transakcji (np. Escrow).

Istnieją dwa sposoby wykonywania prostych wielozakresowych wydatków za pomocą Taproot, z których najbardziej efektywny jest agregacja kluczy i podpisów.

W celu agregacji tworzone są dwa lub więcej kluczy prywatnych, a ich klucze publiczne są uzyskiwane. Klucze publiczne są następnie łączone w jeden klucz publiczny, którego nie można odróżnić od żadnego innego klucza publicznego Bitcoin. Jest to używane jako program świadka Segregated Witnes (SegWit)

Być może zauważyłeś, że poprzedni akapit jest niejasny co do dokładnego mechanizmu wykorzystywanego do agregowania kluczy i podpisów. Powodem tego jest to, że istnieje wiele znanych metod i każda z nich może zostać użyta przez uczestników. Deweloperzy mogą nawet znaleźć nowe metody i wdrożyć je w portfelach Bitcoin bez żadnych konsensusowych zmian. Dzieje się tak, ponieważ algorytm podpisu szuka tylko jednego klucza publicznego i pojedynczego podpisu, które są poprawne na zasadach opisanych powyżej. Ze wszystkich znanych metod Protokół

CoinJoin i Tap Root l Agregacja Cross-Input

Agregacja kluczy jest niezwykle użyteczną funkcją dla multisigs, które wydają jedno wejście. Ponieważ transakcje Bitcoin zwykle mają więcej niż jedno wejście, przyszłe iteracje Schnorra mogą być również wykorzystane do utworzenia interaktywnego schematu podpisu agregującego (IAS), w którym wszystkie dane wejściowe w transakcji są wydawane jednocześnie z pojedynczą sygnaturą.

Ponownie interakcje między sygnatariuszami odbywają się całkowicie poza łańcuchem, ale teraz pojedyncza sygnatura może zostać wykorzystana do wydania wszystkich danych wejściowych transakcji. Każde wejście nadal będzie miało swój własny klucz publiczny, ale może zostać wydane przez IAS Schnorra:

Greg Maxwell, Pieter Wuille, Anthony Towns i inni pracują nad ewolucją programu inteligentnych kontraktów Taproot, aby ułatwić tę funkcjonalność. Nazywają ten schemat Uogólnionym Taproot lub G’root i mogą znacznie ułatwić przejście z agregacji klucza do agregacji między wejściami.

Podobnie jak agregacja kluczy, agregacja międzykanałowa dodatkowo zwiększa wydajność transakcji Bitcoin. Ale, co najważniejsze, może umożliwić silne mechanizmy ochrony prywatności w warstwie bazowej Bitcoin.

CoinJoin

Jednym z najbardziej ekscytujących aspektów agregacji między wejściami jest sposób, w jaki można poprawić transakcje CoinJoin na Bitcoin. Dla kontekstu, CoinJoin jest techniką chroniącą prywatność, w której wielu nadawców i odbiorców jest połączonych w ramach jednej transakcji. Celem jest utrudnienie obserwatorowi blockchain łączenia konkretnych nadawców i odbiorców, umożliwiając w ten sposób podmiotom w CoinJoin twierdzenie o wiarygodnej zaprzeczalności.

Ta technika została pierwotnie zaproponowana przez Grega Maxwella na BitcoinTalk w 2020 r. I od tego czasu oferowana jest przez różne usługi, w tym JoinMarket, SharedCoin, ShufflePuff, DarkWallet i CoinShuffle. Wariacje CoinJoin, takie jak schemat Chaumian CoinJoin stosowany w Portfelu Wasabi, znacznie poprawiły oryginalny model. Jednakże, ponieważ anonimowość kocha firmę, nadal polega ona na wystarczająco dużej liczbie użytkowników, aby także zaciemnić swoje salda.

Kolejną kwestią związaną z CoinJoin jest identyfikowalność (i potencjalna cenzura) całego typu transakcji. Rozważmy, że najczęściej używaną heurystyką w dzisiejszej analizie blockchain jest podążanie za określonymi wejściami w celu określenia, czy dwa lub więcej adresów należy do tej samej jednostki. Jeśli na przykład Alice wysłała Bobowi 1.982723 BTC, obserwator bloków może śledzić miejsca dziesiętne tego konkretnego wejścia, aby odwzorować wykres transakcji lub historyczne podziały i zmiany własności UTXO.

Aby temu zapobiec, implementacje CoinJoin wymagają wspólnych nominałów wartości, dzięki czemu każdy w CoinJoin wysyła tę samą kwotę. Na przykład użytkownicy portfela Wasabi wysyłają takie same nominały 0,1 BTC w transakcjach CoinJoin na 100 uczestników. Chociaż nadal trudno jest wskazać połączenie między konkretnymi nadawcami i odbiorcami, obserwator blockchain może szukać wspólnych nazw, aby zidentyfikować, że miało miejsce CoinJoin i doradzić swojemu klientowi, by cenzurował wszystkie zaangażowane podmioty.

Pomoże w tym agregacja między wejściami, ponieważ wprowadza dodatkowy mechanizm zaciemniania na poziomie protokołu. Zasadniczo agregacja między wejściami może umożliwić budowę opartych na Schnorr transakcji CoinJoin z osobami podpisującymi, które wyglądają jak zwykłe transakcje z jednym podpisem dla osób z zewnątrz. Może to również umożliwić łatwiejszą implementację CoinJoin w popularnych portfelach bez uciążliwej inżynierii, co może zwiększyć ogólny zestaw anonimowości sieci lub liczbę użytkowników korzystających z tej techniki.

Kwestię wspólnego denominacji można jeszcze rozwiązać za pomocą dodatkowych technik, takich jak Pay-to-EndPoint (P2EP), która łączy wczesną pracę Satoshiego nad prywatnością (patrz P2IP) z CoinJoin, dzięki czemu zarówno nadawcy, jak i odbiorcy wnoszą wkład do transakcji. Ta nowatorska technika zasługuje na samodzielny post, ale możesz przeczytać więcej na ten temat tutaj, tutaj i tutaj.

P2EP jest kompatybilny wstecz, a gdy jest używany w połączeniu ze Schnorrem, może zapewnić wystarczającą prywatność w warstwie bazowej Bitcoin.

Kluczowe aktualizacje Bitcoin w perspektywie średnioterminowej

Omówione aktualizacje są uważana za tak głęboką i wpływową dla Bitcoin, ponieważ wskazuje na umiejscowienie ram rozwoju Bitcoin w nadchodzących latach.

Zwiększony poziom prywatności uzyskany dzięki implementacji podpisów Schnorra i jego zdolność do adaptacji do transakcji wielosygnaturowych zapewniają Bitcoinowi większą prywatność i funkcjonalność.

Bitcoin jednak zawsze był powszechnie oskarżany o luki w zakresie prywatności. Społeczność dyskutuje o tym problemie raz po raz. Bitcoin nie jest w stanie ukryć wszystkich elementów transakcji tak po prostu jak robią to anonimowe monety Monero i Dash. Zakładając, że Bitcoin zyskuje całkowitą anonimowość (jak Z-Cash), jest to coś zbyt radykalnego i absolutnie wykluczonego. Możemy jednak oczekiwać, że Bitcoin w jakiś sposób zwiększy swoją prywatność na poziomie transakcji i sprawi, że informacje o transakcji będą mniej widoczne i nie będą łatwe do śledzenia. To w kontekście Bitcoina w zupełności wystarczy.

Należy też wspomnieć, że nowy podpis Schnorra nie zastąpi w pełni ECDSA, który działa od lat, a jego niezawodność jest całkowicie sprawdzona na rynku; jednak otwiera nowe okno, alternatywny schemat dla użytkowników. W przypadku Bitcoin jest to tożsame ze wstrzyknięciem świeżej krwi. Wszystkie zaproponowane i wprowadzone zmiany prawdopodobnie przełożą się na uaktywnienie przekonań społeczności i rynku dla scenariuszy mówiących o rozszerzonych zastosowaniach Bitcoina.

Najlepsi brokerzy opcji binarnych 2020:
  • Binarium
    Binarium

    1 miejsce w rankingu! Najlepszy wybor dla poczatkujacego!
    Bezplatne konto szkoleniowe i demo!
    Bonus za rejestracje!

  • FINMAX
    FINMAX

    Uczciwy i niezawodny broker! Dobre recenzje!

Like this post? Please share to your friends:
Inwestycja w opcje binarne

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: