Wszystko, co musisz wiedzieć o ukierunkowanych grafach acyklicznych (DAGS)

Skierowane grafy acykliczne są ogólną kategorią w teorii grafów, informatyce i matematyce, które zasadniczo stanowią topologiczną kolejność, w której wierzchołki (np. Węzły, zadania lub zdarzenia) są połączone z krawędziami (skierowane strzałki, relacje zależności lub transakcje) w sposób asynchroniczny (węzły nie mogą zapętlić się z powrotem do siebie, ale przepływ płynie w jednym kierunku, tj. skierowany).

Wykres DAG

DAG wielotowarowy. Źródło: Wikipedia

DAG są stosowane w modelowaniu wielu rodzajów informacji, w których zbiory zdarzeń muszą być reprezentowane pod kątem ich wzajemnego wpływu (struktury probabilistyczne w Sieci bayesowskie, zapisy danych historycznych, rozproszone systemy kontroli wersji itp.)

To odchodzi od paradygmatu technologii blockchain, w której struktura blockchain działa poprzez łączenie płaskich sekwencji list i grupowanie ich w bloki. W przypadku łańcucha bloków każdy blok odwołuje się do poprzedniego i zawiera go, co prowadzi do wąskich gardeł, gdy zbyt wiele transakcji pojawia się zbyt często.

Utrudnia to osiągnięcie konsensusu w sprawie prawidłowych bloków (notoryczny problem ze skalowalnością). W środowisku o strukturze DAG nie ma teoretycznego limitu przepustowości transakcji, ponieważ transakcje są bezpośrednio połączone, a nie grupowane i serializowane na jednym torze.

Projekt techniczny DAG pozwala także na szerszy zakres algorytmów, które można zastosować, a tym samym na większą elastyczność. Istnieje kilka projektów opartych na DAG, wszystkie bardzo różniące się od siebie i godne uwagi, wszystkie zbudowały swoją bazę kodu od podstaw (w przeciwieństwie do innego hacka do bazy kodu Bitcoin).

Oto kilka wspólnych właściwości, które mają:

  • Acykliczność: Czas płynie w jednym kierunku. Nowsze transakcje odnoszą się do starszych, ale nie na odwrót. W cyklach grupy zadań zależą od siebie (gdyby istniały cykle, nie byłoby porządku topologicznego). W DAG każdy węzeł zależy od poprzednich odwołujących się do niego. Dzięki temu transakcje mogą być realizowane lokalnie lub nawet offline i przetwarzane, potwierdzane lub finalizowane w późniejszym czasie.
  •  Czas oczekiwania: Szybkość wykonania i czas potwierdzenia nie są ograniczone rozmiarem bloku, ale przepustowością między komunikującymi się urządzeniami. Nie ma teoretycznego limitu skali systemu.
  • Feeless („pre-mined”): Stała dostawa, bez wydobycia. Każdy wystawca transakcji jest jednocześnie walidatorem, w przeciwnym razie w przypadku konfliktów lub sporów uczestniczą przedstawiciele lub świadkowie. Umożliwia to bezproblemowe transakcje mikro i nano, które ograniczają wpływ na środowisko.
  • Transakcje o zerowej wartości: Np. wiadomości lub transakcje niemające wartości, niezależnie od tego, czy wymagają podpisów cyfrowych i pasują do pliku Pakiet UDP.
  • Przycinanie bazy danych: Nazywa się przycinaniem w Nano i migawkami w IOTA. W Byteballs nie ma jeszcze takiego mechanizmu. Pozwala to zachować szczupłą bazę danych, a różne węzły mogą zapisywać tylko historię, która ich interesuje lub jest dla nich istotna.

Technologia DAG została już wykorzystana w wielu kryptowalutach, ponieważ programiści aktywnie poszukują alternatyw dla obecnej architektury blockchain. Poniżej przyjrzymy się podstawowej technologii trzech najbardziej znanych kryptowalut opartych na DAG.

Nano

Logo Nano

Nano (dawniej Raiblocks) rozpoczęło się w grudniu 2014 r. (Założyciel Colin LeMahieu stał na czele rozwoju podstawowego protokołu), kiedy po raz pierwszy opublikowano białą księgę i implementację wersji beta, co czyni go jedną z pierwszych kryptowalut opartych na DAG.

Czysta waluta skupiona na dostarczaniu niezawodnych, szybkich płatności peer-to-peer i szybkich przelewów walutowych do arbitrażu, Nano „robi jedną rzecz i robi to dobrze” (motto odzwierciedlające Zasada KISS).

Nano wykorzystuje osobliwą architekturę (zwaną kratą blokową), która w pewnym sensie przypomina sieć Lightning Network. Innymi słowy, zamiast utrzymywać jurysdykcję globalnego łańcucha bloków, który jest następnie rozgałęziony w łańcuchach bocznych, Nano jest już topologią sieci, w której każde konto zamiast tego ma swój własny łańcuch bloków (łańcuch kont).

Każdy z nich odpowiada historii transakcji / salda rachunku, a każdy łańcuch kont może być aktualizowany tylko przez właściciela konta. To także sprawia, że ​​wszyscy są odpowiedzialni za to, za jakie inne łańcuchy bloków będą przeprowadzać transakcje i robić interesy.

Jest to kluczowa funkcja projektowa w Nano, w której umowa wykonawcza zostaje zastąpiona umową dotyczącą czasu projektowania, w której wszyscy zgadzają się, sprawdzając podpis, że tylko właściciel konta może modyfikować swój własny łańcuch.

Minimalistyczne podejście Nano wydaje się być zgodne z normami filozofii UNIX, podsumowanymi przez Douga McIlroya w Bell System Technical Journal w ten sposób:

  1. Niech każdy program robi dobrze jedną rzecz. Aby wykonać nową pracę, twórz od nowa, zamiast komplikować stare programy, dodając nowe „funkcje”.
  2. Oczekuj, że wyjście każdego programu stanie się wejściem dla innego, jeszcze nieznanego programu. Nie zaśmiecaj wyjścia zbędnymi informacjami. Unikaj ściśle kolumnowych lub binarnych formatów wejściowych. Nie nalegaj na interaktywne wprowadzanie danych.
  3. Projektuj i twórz oprogramowanie, a nawet systemy operacyjne, które należy wypróbować wcześnie, najlepiej w ciągu kilku tygodni. Nie wahaj się wyrzucić niezdarnych części i odbudować je.
  4. Używaj narzędzi zamiast niewykwalifikowanej pomocy, aby odciążyć zadanie programistyczne, nawet jeśli musisz zboczyć z trasy, aby zbudować narzędzia i spodziewasz się, że wyrzucisz niektóre z nich po zakończeniu ich używania.

Omówienie protokołu Nano

Omówienie protokołu Nano

Nano TPS. Źródło: youtube.com

Zgodnie z filozofią UNIX, protokół Nano jest wyjątkowo lekki, dostosowany do wymaganego minimalnego rozmiaru pakietu transmisji UDP. Protokół User Datagram Protocol jest używany do szybkiego przesyłania bardzo krótkich wiadomości, zapewniając jedynie integralność danych. Jest w stanie działać na sprzęcie o niskim poborze mocy lub starszym sprzęcie przy minimalnych zasobach, dzięki czemu jest idealny do praktycznego codziennego użytku (do kupowania kawy zamiast przechowywania wartości).

Konsensus w Nano jest osiągany przez użytkowników, którzy wybierają reprezentatywne konta do oddawania głosów w przypadku zaistnienia sporu. Głosowanie konsensusu jest uruchamiane tylko w przypadku złośliwych transakcji, a reprezentatywne węzły z wyższymi saldami kont są ważone bardziej korzystnie.

To zachęca posiadaczy kart Nano do uczestniczenia w utrzymaniu integralności księgi. Podobnie, w przypadku rozwidlenia, geneza musi zostać zmieniona, a stamtąd wszystko jest redystrybuowane. To właśnie sprawia, że ​​takie zdarzenia są raczej mało prawdopodobne. Przedstawiciele są wyjaśnieni bardziej szczegółowo w dokumentacja oraz listę przedstawicieli (obecnie ponad 3000) można znaleźć tutaj.

Wśród współpracujących programistów (Nano jest w dużej mierze napędzany przez społeczność) jest również inżynier oprogramowania PayPal Daniel Brain, który zbudował platformę prosta płatność za Nano Dzięki temu sprzedawcy mogą je szybko i łatwo wdrożyć. Ponadto więksi sprzedawcy mogą tworzyć własne węzły do ​​obsługi ładunków transakcyjnych.

Jeśli chodzi o podaż, Nano jest „wstępnie wydobyty”, ponieważ początkowy rachunek genezy zawiera całkowite ustalone saldo (w wysokości 133 248 290), które jest następnie rozdzielane między inne konta tworzące topologię DAGchain.

Saldo Genesis jest przechowywane w chłodni w skrytce depozytowej, a bloki są przenoszone z konta Genesis na konto lądowania raz w tygodniu, aby zminimalizować liczbę żywych, nierozdzielonych bloków. Dystrybucja na początku odbywała się za pośrednictwem publicznego kranu, gdzie trzeba rozwiązać captcha jako Proof-of-Work (PoW), mechanizm antyspamowy.

Co ciekawe, większość wczesnych rozwiązań captcha została przeprowadzona przez Wenezuelczyków (wzrost wyszukiwań w Wenezueli można zobaczyć w Google Trends), co doprowadziło do tego, że wiele rozproszonych XRB trafiło w ręce niektórych z najbiedniejszych, którzy w przeciwnym razie nie mieliby dostępu do kryptowalut.

Byteball

Byteball

Byteball (Bytes) to kolejna kryptowaluta oparta na DAG, opracowana przez Antona Churyumova (absolwenta Russian Research Nuclear University), która została uruchomiona 25 grudnia 2016 r. Byteball koncentruje się na płatnościach warunkowych i czytelnych dla człowieka kontraktach wykonujących proste czynności w sposób interaktywny czytelne inteligentne kontrakty i umowy za pośrednictwem chatbotów poświadczających i sieci wyroczni).

Natomiast inteligentne kontrakty Ethereum są bardziej złożone i czytelne dla programisty, mając na celu ścisłą logikę biznesową typu instytucjonalnego, podczas gdy Byteball jest przeznaczony do bardziej bezpośredniego codziennego użytku.

Dane przechowywane w DAG firmy Byteball umożliwiają użytkownikom wzajemne zabezpieczenie danych poprzez dołączenie ich do poprzednich jednostek danych utworzonych przez innych użytkowników, a opłaty są proporcjonalne do ilości zużytych zasobów, w tym przypadku równe wielkości transakcji w bajtach. Ta bariera wejścia jest mechanizmem antyspamowym Byteball i z grubsza odzwierciedla użyteczność pamięci masowej dla użytkownika oraz koszt przechowywania w sieci.

Krajowa waluta Bajteball to również bajty, a część opłaty trafia do nadzorców sieci zwanych świadkami. Za przechowywanie 1 bajtu danych transakcji płaci się stałą kwotę 1 bajta waluty.

Świadkowie to osoby, które można zidentyfikować publicznie, posiadające tożsamość ze świata rzeczywistego, które stemplują każdą transakcję, zapewniając integralność głównego łańcucha. Można je wybierać z poziomu interfejsu portfela w taki sam sposób, w jaki wybiera się swoich przedstawicieli w portfelu Nano. W każdej transakcji jest zaangażowanych 12 świadków.

Portfel pozwala również na wysyłanie bajtów na konta e-mail lub za pośrednictwem aplikacji do czatu, takich jak WhatsApp lub Telegram. BlackBytes to uzupełniająca waluta używana do w pełni anonimowych i niemożliwych do wykrycia transakcji p2p.

ODROBINA

Logo IOTA

IOTA narodziła się pierwotnie z inicjatywy sprzętowej (JINN) mającej na celu stworzenie trójskładnikowego mikroprocesora zapewniającego wsparcie sprzętowe dla ogólnego przetwarzania rozproszonego jako fundamentu dla połączonych urządzeń IoT i ostatecznie wykorzystującego technologie AI..

JINN był pierwszy ogłosił 23 września 2014 r. na forum NXT, a następnie przekształciła się w IOTA, prowadząc do powstania Fundacji IOTA jako berlińskiej organizacji non-profit w 2017 r..

Fundacja jest poświęcona opracowywaniu standardów przemysłowych i otwartych protokołów niezbędnych dla infrastruktury IoT jako podstawy ekonomii między maszynami. W tym przedsięwzięciu DAG IOTA (zwany „plątaniną”) zasadniczo różni się od innych kryptowalut i nie można go postrzegać w ten sam sposób ani mierzyć według tych samych standardów.

Z konieczności niekonwencjonalne podejście, które przyjmuje IOTA, jest ściśle związane z obecnym stanem rzeczy w IoT i problemami związanymi z masowym rozprzestrzenianiem się luk w zabezpieczeniach urządzeń połączonych, których liczba wzrosła czterokrotnie tylko w 2017 r..

Splot IOTA stanowi abstrakcyjną maszynerię a ryzomatyczny uprzejmy, „nieustannie ustanawiający powiązania między łańcuchami semiotycznymi”. Serguei Popov, doktor matematyki Uniwersytetu Moskiewskiego. i jeden z głównych założycieli projektu IOTA opublikowany kolejny dokument z 12 maja.

Przeanalizowano teoretyczne aspekty gry „samolubnych” graczy w gmatwaninie, wykazując w symulacjach istnienie „prawie symetrycznego” Równowagi Nasha w dynamice tego, jak splot ma funkcjonować. Innymi słowy, jak „samolubni” gracze będą mimo wszystko współpracować z siecią, wybierając strategie przywiązania bliskie lub podobne do tych „zalecanych”.

Koordynator IOTA (Coo)

Koordynator IOTA

Źródło: iota.org

Pod względem koordynacji protokołów między The Coo a wchodzenie do węzłów jest procesem dwukierunkowym. Ponieważ Coo wydaje transakcje kamieni milowych o zerowej wartości w taki sam sposób, w jaki węzły, w pewnym sensie, nadzorują Coo w przestrzeganiu ustalonych zasad współpracy poprzez synchronizację transakcji z tymi kamieniami milowymi.

Plątanina o wartościach DAG IOTA pojawia się a stochastyczny przestrzeń losowej „niespójności” na powierzchni. Następnie uruchomi próbkowanie rozkładu prawdopodobieństwa w modelu opartym na uczeniu w celu osiągnięcia spójności w całej sieci.

Odbywa się to w ostatecznie samowystarczalnej siatce oportunistycznych sieci, które łączą się i współdziałają potencjalnie w ramach wspólnych mechanizmów i zasad określonych w protokołach. Jest to w rzeczywistości spowodowane sytuacyjną koniecznością lub zapotrzebowaniem na określony zasób, ponieważ podplątki mogą dynamicznie odłączać się i ponownie przyłączać do głównego splotu.

W unikalnej strukturze danych splotu nie ma bloków budowanych sekwencyjnie na poprzednich blokach danych transakcji, ale zamiast tego każda transakcja musi łączyć dwa inne przychodzące w celu sprawdzenia i zweryfikowania. Spowoduje to połączenie funkcji użytkownika i opiekuna („górnika”) zamiast rozdzielania ról w heterogenicznych kontyngentach, których interesy nie zawsze są zbieżne.

Umożliwia to również jednoczesne przetwarzanie transakcji (a nie pojedynczo) w wirze nieustannie rozszerzającej się sieci połączeń, która wykładniczo skraca czasy potwierdzeń. Nie ma również zaległości w niepotwierdzonych transakcjach z powodu ograniczeń wielkości bloku.

W podstawowym uzasadnieniu projektowym IOTA preferowana jest prędkość, a nie spójność, przy jednoczesnym umożliwieniu nieograniczonej skalowalności (tj. Prędkość jest funkcją rozmiaru sieci), a konsensus jest skierowany do przodu jako wnioskowanie o splątaniu przechwytywania-ciągnięcia (zamiast weryfikacji-walidacji- hash-append) z okresowymi migawkami usuwającymi odzyskane salda zerowe.

Tryb wyboru końcówki (tip jest transakcją przychodzącą) służący do weryfikacji autentyczności transakcji przychodzących powoduje ich porównanie z całą historią splotu, a gdy transakcja wchodzi w plątaninę, robi to w trybie rozgałęzienia. Oznacza to, że będzie czekał na ponowne wybranie w tym samym procesie, ponieważ gromadzi wiarygodność i zostaje osadzony głębiej w sieci.

Ustanowienie konsensusu

Korzystając z koordynatora, obecna definicja konsensusu jest prosta: każda transakcja, do której odnosi się kamień milowy (transakcja o wartości zerowej), zostaje potwierdzona, a pozostałe nie. Jest to niezwykle ważne w fazie rozwoju sieci, ponieważ w przeciwnym razie osoba atakująca może rozpocząć przekraczanie tempa sieci. Atakując sieć, mogą zacząć wydawać podwójne wydatki, odwołując się do własnych transakcji, tworząc podplątaninę pasożytów i infiltrując sieć..

Unikalny token IOTA w tym przypadku zyskuje swoją prawdziwą wartość tylko w swoim własnym organicznym układzie krążenia, dla którego został specjalnie zaprojektowany. Dzieje się tak tylko wtedy, gdy sama plątanina jest wystarczająco dojrzała i zdolna do organicznej obrony przed atakami. Stanie się to dopiero po zgromadzeniu wystarczającej masy krytycznej całkowitej wagi transakcji, do których istnieją odniesienia, aby zapewnić Łańcuch Markowa losowe spacery będą działać zgodnie z przeznaczeniem.

Wizualizacja plątaniny IOTA

Wizualizacja plątaniny IOTA. Źródło: Steemit.

Metody Markov Chain Monte Carlo jako takie są kategorią algorytmów wykorzystywanych w analizie danych bayesowskich, które obliczają modele wymagające całkowania tysięcy nieznanych parametrów w odniesieniu do skomplikowanych, wysokowymiarowych rozkładów prawdopodobieństwa.

Analiza danych bayesowskich ogólnie od dawna okazała się szczególnie przydatna w rozwiązywaniu złożonych problemów, w przypadku których istnieje duża nieodłączna niepewność, którą należy określić ilościowo. Jest to potencjalnie najbardziej wydajna informacyjnie metoda dopasowania modelu statystycznego, ale także najbardziej wymagająca obliczeń.

Warto również zauważyć, że w kwietniu 2017 r. Serguei Popov i prof. Gideon Samid z Israel Institute of Technology (i niedawno dołączył do fundacji IOTA) opublikowali niedawno papier w temacie.

Zaproponowali w nim zastąpienie pseudolosowej złożoności obecnie używanych kryptograficznych funkcji skrótu prostszą obliczeniowo i prawdziwie losową. To oczywiście miałoby sens tylko w świetle wspomnianego wyżej mikroprocesora i dostatecznie dużej sieci (plątaniny) w przyszłości.

Można również znaleźć krótki przegląd protokołu IOTA tutaj.

Możliwe do wydobycia waluty oparte na DAG

Mimo że zarówno Nano, jak i IOTA są wstępnie wydobywane i mają stałą podaż, istnieją opcje wydobywania Monero i zdobycia XRB lub iotas w przeglądarce (głównie do celów testowych w tworzeniu aplikacji).

Istnieją jednak kryptowaluty oparte na DAG, które pozwalają na niedrogie i rozproszone wydobywanie. Jednym z nich jest Burstcoin, projekt, który rozpoczął się w 2014 r., Wywodząc się z NXT w tamtym czasie (ale także bazując na własnym kodzie), który zapewnia kryptograficzną spójność transakcji za pośrednictwem algorytmu konsensusu Proof-of-Capacity (przy użyciu niedrogiego, twardego dysku o małej mocy). dyski).

Podobnie jak sieć błyskawicy, Burst stanowi główny łańcuch bloków dla absolutnego przechowywania / księgowości i rozgałęziających się strukturalnych kanałów transakcyjnych DAG ogólnego przeznaczenia (warstwa zwana Dymaxion) do propagacji i weryfikacji, które są następnie zatwierdzane w głównym łańcuchu.

Każdy kanał można otworzyć z niestandardowymi parametrami i właściwościami, takimi jak zdefiniowany czas trwania, własna meta-waluta obsługiwana przez Burst, stopień anonimowości, rozmiar sieci itp..

Tam jest kran publiczny pod warunkiem, a Burst jest zbywalny na Poloniex i Bittrex.

Sztylet (XDAG) to kolejny taki niedawno uruchomiony projekt (mainnet został wdrożony 5 stycznia 2018 r.), Który pozwala na wydobywanie CPU / GPU i jest nieco podobny do innych tego typu architektur, par bloków, transakcji i adresów w pojedynczej jednostce.

Podsumowanie

Ogólnie rzecz biorąc, wszystkie trzy ekosystemy DAG wystarczająco różnią się od siebie swoimi celami, celami i użytecznością, pomimo ich częściowego pokrywania się. Jednak mają pewne wspólne właściwości. Jednym z często podnoszonych zarzutów jest to, że DAG są „scentralizowane”.

Ważne jest, aby trochę się zastanowić i zdefiniować semantykę tego, co implikują słowa w różnych kontekstach (zdecentralizowane, rozproszone itp.). Następnie powinniśmy zbadać wszystkie elementy infrastruktury sieciowej, a następnie rozważyć, które elementy są scentralizowane, zdecentralizowane lub jakie funkcje są delegowane, gdzie itd. I jak to wszystko jest ze sobą powiązane..

O wszystkich trzech projektach DAG można powiedzieć, że są zdecentralizowane, ponieważ własność ta zależy od szerszego wykorzystania i przyjęcia, a tym samym osób i stron chętnych do przyjęcia określonych ról. Obecnie Nano jest zorganizowane wokół kilku reprezentatywnych hubów, Byteball jest zależny od garstki świadków nadzorujących główny łańcuch, a IOTA jest prowadzona / szkolona przez Centralnego Koordynatora (Fundację IOTA), co zapewnia przepływ działań zgodnie z protokołem.

Zachęty związane z DAG to nie tyle bezpośredni zysk z wydobycia PoW, ale raczej znaczna zachęta do oszczędności, która naturalnie przyciąga niektóre firmy i firmy, które mają żywotny interes w sieciach, ponieważ rozwiązują za nich problem biznesowy.

Wyróżniony obraz za pośrednictwem Fotolia

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me