{"id":53183,"date":"2019-11-25T00:00:00","date_gmt":"2019-11-24T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov"},"modified":"2026-02-15T19:54:48","modified_gmt":"2026-02-15T17:54:48","slug":"ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov","title":{"rendered":"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>W tym artykule opowiem ci o DAG (Directed Acyclic Graph, skierowany acykliczny graf) i jego zastosowaniu w rozproszonych rejestrach oraz por\u00f3wnamy go z blockchainem.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/f88b40924dd24bf2756e482e3c4da798.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDAG nie jest niczym nowym w \u015bwiecie kryptowalut. Mo\u017ce s\u0142ysza\u0142e\u015b o nim jako o rozwi\u0105zaniu problem\u00f3w skalowalno\u015bci blockchain\u00f3w. Ale dzisiaj b\u0119dziemy m\u00f3wi\u0107 nie o skalowalno\u015bci, a o tym, co sprawia, \u017ce kryptowaluty s\u0105 inne ni\u017c wszystko inne: decentralizacja, brak po\u015brednik\u00f3w i odporno\u015b\u0107 na cenzur\u0119.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/bb4a797e61928c81e9c960f4c8db190d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPoka\u017c\u0119 ci r\u00f3wnie\u017c, \u017ce DAG jest faktycznie bardziej odporny na cenzur\u0119, a dost\u0119p do rejestru odbywa si\u0119 bez po\u015brednik\u00f3w.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/044082b8c18ec8bfc817ee79571e6648.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW tradycyjnych blockchainach u\u017cytkownicy nie maj\u0105 bezpo\u015bredniego dost\u0119pu do samego rejestru. Gdy chcesz doda\u0107 transakcj\u0119 do rejestru, musisz 'poprosi\u0107' producenta blok\u00f3w (producenta blok\u00f3w, znanego r\u00f3wnie\u017c jako 'g\u00f3rnik'). To w\u0142a\u015bnie g\u00f3rnicy decyduj\u0105, kt\u00f3r\u0105 transakcj\u0119 doda\u0107 do nast\u0119pnego bloku, a kt\u00f3r\u0105 pomin\u0105\u0107. To oni maj\u0105 wy\u0142\u0105czny dost\u0119p do blok\u00f3w i prawo decydowania, kt\u00f3r\u0105 transakcj\u0119 przyj\u0105\u0107 do dodania do rejestru.<\/p>\n<p>G\u00f3rnicy s\u0105 po\u015brednikami, kt\u00f3rzy staj\u0105 mi\u0119dzy tob\u0105 a rozproszonym rejestrem.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/f8934341c09237dd28dbd4cef8c162a3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW praktyce zwykle niewielka liczba pooli g\u00f3rnik\u00f3w kolektywnie kontroluje ponad po\u0142ow\u0119 mocy obliczeniowej sieci. Dla Bitcoina s\u0105 to cztery pule, a dla Ethereum \u2013 dwie. W przypadku ich zmowy mog\u0105 zablokowa\u0107 dowolne transakcje, jakie zechc\u0105.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/8ece2ba07abdb5a6a35e558c8665a8d7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW ci\u0105gu ostatnich kilku lat zaproponowano wiele wariant\u00f3w blockchain\u00f3w, r\u00f3\u017cni\u0105cych si\u0119 zasadami wyboru producent\u00f3w blok\u00f3w. Ale sami producenci blok\u00f3w wci\u0105\u017c pozostaj\u0105, wci\u0105\u017c 'stoj\u0105 przy bramie': ka\u017cda transakcja musi przej\u015b\u0107 przez producenta blok\u00f3w, a je\u015bli ten jej nie przyjmie, faktycznie nie istnieje.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/e103226ac134f8bab195d030e6afc418.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo nieunikniony problem w przypadku blockchaina. I je\u015bli chcemy go rozwi\u0105za\u0107, musimy radykalnie zmieni\u0107 projekt i ca\u0142kowicie pozby\u0107 si\u0119 blok\u00f3w oraz producent\u00f3w blok\u00f3w. Zamiast budowa\u0107 \u0142a\u0144cuch blok\u00f3w, po\u0142\u0105czymy same transakcje, w\u0142\u0105czaj\u0105c w ka\u017cd\u0105 transakcj\u0119 hashe kilku poprzednich. W rezultacie uzyskamy struktur\u0119 znan\u0105 w matematyce jako skierowany acykliczny graf \u2013 DAG.<\/p>\n<p>Teraz ka\u017cdy ma bezpo\u015bredni dost\u0119p do rejestru, bez po\u015brednik\u00f3w. Kiedy chcesz doda\u0107 transakcj\u0119 do rejestru \u2013 po prostu j\u0105 dodajesz. Wybierasz kilka transakcji rodzicielskich, dodajesz swoje dane, podpisujesz i wysy\u0142asz swoj\u0105 transakcj\u0119 do sieci. I gotowe. Nikt nie mo\u017ce ci w tym przeszkodzi\u0107, wi\u0119c twoja transakcja ju\u017c jest w rejestrze.<\/p>\n<p>To najbardziej zdecentralizowany, najbardziej odporny na cenzur\u0119 spos\u00f3b dodawania transakcji do rejestru bez po\u015brednik\u00f3w. Poniewa\u017c ka\u017cdy, kto chce, po prostu dodaje swoje transakcje do rejestru, nie pytaj\u0105c nikogo o pozwolenie.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/3f2842b7e38612faf8654b06ab37e53f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDAG mo\u017cna uzna\u0107 za trzeci etap ewolucji rejestr\u00f3w. Najpierw by\u0142y zcentralizowane rejestry, gdzie jedna strona kontrolowa\u0142a dost\u0119p do nich. Nast\u0119pnie pojawi\u0142y si\u0119 blockchainy, w kt\u00f3rych istnia\u0142o ju\u017c kilku kontroler\u00f3w, kt\u00f3rzy zapisywali transakcje w rejestrze. A ostatecznie, w DAG nie ma \u017cadnych kontroler\u00f3w, u\u017cytkownicy dodaj\u0105 swoje transakcje bezpo\u015brednio.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/5785ef60099fcd11df11ad146d44d683.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeraz, gdy mamy tak\u0105 wolno\u015b\u0107, nie powinna ona prowadzi\u0107 do chaosu. Musimy mie\u0107 zgod\u0119 co do stanu rejestru. A ta zgoda, czy te\u017c konsensus, zazwyczaj oznacza zgod\u0119 co do dw\u00f3ch rzeczy:<\/p>\n<ol>\n<li>Co si\u0119 sta\u0142o?\n<\/li>\n<li>W jakiej kolejno\u015bci to si\u0119 zdarzy\u0142o?\n<\/li>\n<\/ol>\n<p>\nNa pierwsze pytanie mo\u017cemy \u0142atwo odpowiedzie\u0107: gdy tylko poprawnie utworzona transakcja zosta\u0142a dodana do rejestru, mia\u0142a miejsce. I kropka. Informacja o tym mo\u017ce dotrze\u0107 do wszystkich uczestnik\u00f3w w r\u00f3\u017cnym czasie, ale ostatecznie wszystkie w\u0119z\u0142y otrzymaj\u0105 t\u0119 transakcj\u0119 i dowiedz\u0105 si\u0119, \u017ce mia\u0142a miejsce.<\/p>\n<p>Gdyby to by\u0142 blockchain, g\u00f3rnicy decydowaliby, co si\u0119 dzieje. Wszystko, co g\u00f3rnik postanowi\u0142by umie\u015bci\u0107 w bloku \u2013 to si\u0119 dzieje. Wszystko, czego nie uwzgl\u0119dnia w bloku \u2013 nie dzieje si\u0119.<\/p>\n<p>W blockchainach g\u00f3rnicy r\u00f3wnie\u017c decyduj\u0105 o drugim problemie konsensusu: kolejno\u015bci. Maj\u0105 prawo porz\u0105dkowa\u0107 transakcje w bloku wed\u0142ug w\u0142asnego uznania.<\/p>\n<p>Jak wi\u0119c zdefiniowa\u0107 kolejno\u015b\u0107 transakcji w DAG?<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/b9ecdf3f01650876f6ba918b323269f3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTylko dlatego, \u017ce graf jest skierowany, mamy pewien porz\u0105dek. Ka\u017cda transakcja odnosi si\u0119 do jednej lub kilku poprzednich, rodzicielskich. Rodzice z kolei odnosz\u0105 si\u0119 do swoich rodzic\u00f3w, i tak dalej. Rodzice, oczywi\u015bcie, pojawiaj\u0105 si\u0119 przed transakcjami potomnymi. Je\u015bli jakakolwiek transakcja mo\u017ce by\u0107 osi\u0105gni\u0119ta przez przej\u015bcia po linkach \u201erodzic-dziecko\u201d, dok\u0142adnie znamy porz\u0105dek pomi\u0119dzy transakcjami w tym \u0142a\u0144cuchu transakcji.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/8f5e798d2b207dd01092c160578a1ae4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJednak porz\u0105dek pomi\u0119dzy transakcjami nie zawsze mo\u017ce by\u0107 okre\u015blony tylko na podstawie kszta\u0142tu grafu. Na przyk\u0142ad, gdy dwie transakcje znajduj\u0105 si\u0119 na r\u00f3wnoleg\u0142ych ga\u0142\u0119ziach grafu.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/02fdc355912499069a306b19da5a634f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAby rozwi\u0105za\u0107 niejednoznaczno\u015b\u0107 w takich przypadkach, polegamy na tak zwanych dostawcach porz\u0105dku. Nazywamy je r\u00f3wnie\u017c \u201e\u015bwiadkami\u201d. S\u0105 to zwykli u\u017cytkownicy, kt\u00f3rych zadaniem jest nieustanne przesy\u0142anie transakcji do sieci z zachowaniem porz\u0105dku, tzn. tak, \u017ce ka\u017cda ich poprzednia transakcja mo\u017ce by\u0107 osi\u0105gni\u0119ta przez przej\u015bcia po linkach \u201erodzic-dziecko\u201d. Dostawcy porz\u0105dku \u2013 <a href=\"https:\/\/prohoster.info\/ssl-sertifikat\/thawte-123-wildcard\/\"  data-wpil-monitor-id=\"3311\">zaufani u\u017cytkownicy<\/a>, a ca\u0142a sie\u0107 polega na tym, \u017ce nie b\u0119d\u0105 \u0142ama\u0107 tej zasady. Aby <b>racjonalnie<\/b> im ufa\u0107, wymagamy, aby ka\u017cdy dostawca porz\u0105dku by\u0142 znan\u0105 (nieanonimow\u0105) osob\u0105 lub organizacj\u0105 i mia\u0142 co\u015b, co mo\u017ce straci\u0107 w przypadku naruszenia zasad, na przyk\u0142ad reputacj\u0119 lub biznes oparty na zaufaniu.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/8d9a5605f781f3abe160cf142ac0df73.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDostawcy porz\u0105dku s\u0105 wybierani przez u\u017cytkownik\u00f3w, a ka\u017cdy u\u017cytkownik do\u0142\u0105cza list\u0119 swoich zaufanych dostawc\u00f3w do ka\u017cdej transakcji, kt\u00f3r\u0105 wysy\u0142a do sieci. Lista ta sk\u0142ada si\u0119 z 12 dostawc\u00f3w. To do\u015b\u0107 ma\u0142a liczba, aby osoba mog\u0142a zweryfikowa\u0107 to\u017csamo\u015bci i reputacj\u0119 ka\u017cdego z nich, i wystarczaj\u0105ca, aby sie\u0107 funkcjonowa\u0142a w przypadku nieuniknionych problem\u00f3w z mniejszo\u015bci\u0105 dostawc\u00f3w porz\u0105dku.<\/p>\n<p>Ta lista dostawc\u00f3w r\u00f3\u017cni si\u0119 od u\u017cytkownika do u\u017cytkownika, ale listy s\u0105siednich transakcji mog\u0105 r\u00f3\u017cni\u0107 si\u0119 maksymalnie o jednego dostawc\u0119.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/362e673ec4968152a7ccef6bd02c795a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeraz, gdy mamy dostawc\u00f3w porz\u0105dku, mo\u017cemy wydzieli\u0107 ich transakcje w DAG i uporz\u0105dkowa\u0107 wszystkie inne transakcje wok\u00f3\u0142 porz\u0105dku, kt\u00f3ry stworzyli. Istnieje mo\u017cliwo\u015b\u0107 stworzenia takiego algorytmu (patrz <noindex><a rel=\"nofollow\" href=\"https:\/\/obyte.org\/Byteball.pdf\">Obyte White Paper<\/a><\/noindex> po szczeg\u00f3\u0142y techniczne).<\/p>\n<p>Jednak\u017ce porz\u0105dek w ca\u0142ej sieci nie mo\u017ce by\u0107 ustalony natychmiast, potrzebujemy czasu, aby dostawcy porz\u0105dku wys\u0142ali wystarczaj\u0105c\u0105 liczb\u0119 swoich transakcji, aby upewni\u0107 si\u0119 co do ostatecznej kolejno\u015bci poprzednich transakcji.<\/p>\n<p>A poniewa\u017c porz\u0105dek okre\u015blany jest wy\u0142\u0105cznie przez pozycje transakcji dostawc\u00f3w w DAG, wszystkie w\u0119z\u0142y sieci pr\u0119dzej czy p\u00f3\u017aniej otrzymaj\u0105 wszystkie transakcje i dojd\u0105 do tej samej konkluzji odno\u015bnie porz\u0105dku transakcji.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/f2552c791ba8dea22027f1985f967d5f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZatem mamy zgodno\u015b\u0107 co do tego, co uwa\u017camy za zdarzenie: ka\u017cda transakcja, kt\u00f3ra trafi\u0142a do DAG, mia\u0142a miejsce. Mamy r\u00f3wnie\u017c zgodno\u015b\u0107 co do kolejno\u015bci zdarze\u0144: jest to widoczne na podstawie relacji rodzic-dziecko transakcji lub te\u017c wyprowadzane z porz\u0105dku transakcji wysy\u0142anych przez dostawc\u00f3w porz\u0105dku. Oznacza to, \u017ce mamy konsensus.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/4e444114e65ef6bfd3f64576772778f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTen wariant konsensusu mamy w Obyte. Mimo \u017ce dost\u0119p do rejestru Obyte jest ca\u0142kowicie zdecentralizowany, konsensus co do porz\u0105dku transakcji wci\u0105\u017c pozostaje scentralizowany, poniewa\u017c 10 z 12 dostawc\u00f3w jest kontrolowanych przez tw\u00f3rc\u0119 (Anton Churyumov), a tylko dw\u00f3ch z nich jest niezale\u017cnych. Szukamy kandydat\u00f3w, kt\u00f3rzy chc\u0105 zosta\u0107 jednym z niezale\u017cnych dostawc\u00f3w porz\u0105dku, aby pom\u00f3c nam w decentralizacji ustalania porz\u0105dku w rejestrze.<\/p>\n<p>Ostatnio pojawi\u0142 si\u0119 trzeci niezale\u017cny kandydat, kt\u00f3ry chce ustali\u0107 i utrzyma\u0107 w\u0119ze\u0142 dostawcy porz\u0105dku \u2013 Uniwersytet Nikozji.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/35106151208f4891f67c2fd4f12426a0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJak zatem kontrolujemy podw\u00f3jne wydatki (double-spends)?<\/p>\n<p>Wed\u0142ug zasad, gdy wykryte zostan\u0105 dwie transakcje wydaj\u0105ce t\u0119 sam\u0105 monet\u0119, transakcja, kt\u00f3ra pojawi\u0142a si\u0119 wcze\u015bniej w ostatecznym porz\u0105dku wszystkich transakcji, wygrywa. Druga zostaje uniewa\u017cniona przez algorytm konsensusu.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/5f1669b7f87c3de4a25995456e729aff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nW sytuacji, gdy istnieje mo\u017cliwo\u015b\u0107 ustalenia porz\u0105dku mi\u0119dzy dwiema transakcjami wydaj\u0105cymi jedn\u0105 monet\u0119 (na podstawie relacji rodzic-dziecko), wszystkie w\u0119z\u0142y odrzucaj\u0105 tak\u0105 pr\u00f3b\u0119 podw\u00f3jnego wydatku.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/30e482c5dc630663d3c9b23e8d2f093b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe\u015bli jednak porz\u0105dek nie jest widoczny z relacji rodzicielskich mi\u0119dzy dwiema takimi transakcjami, obie s\u0105 akceptowane w rejestrze, a my musimy poczeka\u0107 na konsensus i ustalenie porz\u0105dku mi\u0119dzy nimi przez dostawc\u00f3w porz\u0105dku. W\u00f3wczas wygrywa wcze\u015bniejsza transakcja, a druga staje si\u0119 niewa\u017cna.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/ab7944bea1b84b1d3cef53705f3f2817.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nChocia\u017c druga transakcja staje si\u0119 niewa\u017cna, nadal pozostaje w rejestrze, poniewa\u017c ma ju\u017c nast\u0119pne transakcje, kt\u00f3re si\u0119 na ni\u0105 powo\u0142uj\u0105, a kt\u00f3re nie narusza\u0142y niczego i nie wiedzia\u0142y, \u017ce w przysz\u0142o\u015bci ta transakcja stanie si\u0119 niewa\u017cna. W przeciwnym razie musieliby\u015bmy usun\u0105\u0107 rodzica z dobrych nast\u0119pnych transakcji, co naruszy\u0142oby g\u0142\u00f3wn\u0105 zasad\u0119 sieci \u2013 ka\u017cda prawid\u0142owa transakcja jest akceptowana w rejestrze.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/67e2741764c8e9e5cf46b1fab6d091bc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo bardzo wa\u017cna zasada, kt\u00f3ra pozwala ca\u0142emu systemowi by\u0107 odpornym na pr\u00f3by cenzury.\u00a0<\/p>\n<p>Za\u0142\u00f3\u017cmy, \u017ce wszyscy dostawcy porz\u0105dku wchodz\u0105 w zmow\u0119, pr\u00f3buj\u0105c \"cenzurowa\u0107\" jedn\u0105 konkretn\u0105 transakcj\u0119. Mog\u0105 j\u0105 ignorowa\u0107 i nigdy nie wybiera\u0107 jako \"rodzca\" dla swoich transakcji, ale to niedostateczne; ta transakcja wci\u0105\u017c mo\u017ce by\u0107 po\u015brednio uwzgl\u0119dniona jako rodzic innej transakcji wydanej przez dowolnego u\u017cytkownika sieci, kt\u00f3ry nie bierze udzia\u0142u w zmowie. Z biegiem czasu taka transakcja b\u0119dzie zdobywa\u0107 coraz wi\u0119cej dzieci, wnuk\u00f3w i prawnuk\u00f3w od zwyk\u0142ych u\u017cytkownik\u00f3w, rozwijaj\u0105c si\u0119 jak kula \u015bnie\u017cna, i wszyscy um\u00f3wieni dostawcy porz\u0105dku b\u0119d\u0105 musieli ignorowa\u0107 r\u00f3wnie\u017c te transakcje. Ostatecznie b\u0119d\u0105 musieli cenzurowa\u0107 ca\u0142\u0105 sie\u0107, co jest r\u00f3wnoznaczne z sabota\u017cem.<\/p>\n<p><img decoding=\"async\" alt=\"Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w\" src=\"\/wp-content\/uploads\/2019\/11\/02164f94b6fa93b8f888289c69dcb6ae.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW ten spos\u00f3b, DAG pozostaje odporny na cenzur\u0119, nawet je\u015bli dochodzi do zmowy dostawc\u00f3w porz\u0105dku, tym samym przewy\u017cszaj\u0105c blockchain pod wzgl\u0119dem trwa\u0142o\u015bci na cenzur\u0119, w kt\u00f3rym nic nie mo\u017cemy zrobi\u0107, je\u015bli g\u00f3rnicy zdecyduj\u0105 si\u0119 nie uwzgl\u0119dnia\u0107 \u017cadnej z transakcji. Z tego wynika g\u0142\u00f3wna cecha DAG: udzia\u0142 w rejestrze jest ca\u0142kowicie niezale\u017cny i bezpo\u015bredni, a transakcje s\u0105 nieodwracalne.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/obyte\/blog\/477032\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u043e DAG (Directed Acyclic Graph, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0433\u0440\u0430\u0444) \u0438 \u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0435\u0441\u0442\u0440\u0430\u0445, \u0438 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0435\u0433\u043e \u0441 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c. DAG \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u043c-\u0442\u043e \u043d\u043e\u0432\u044b\u043c \u0432 \u043c\u0438\u0440\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e \u043d\u0451\u043c \u043a\u0430\u043a \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u0432. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043d\u0435 \u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438, \u0430 \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53183","post","type-post","status-publish","format-standard","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=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u043e DAG (Directed Acyclic Graph, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0433\u0440\u0430\u0444) \u0438 \u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0435\u0441\u0442\u0440\u0430\u0445, \u0438 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0435\u0433\u043e \u0441 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c.\" \/>\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\/ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov\" \/>\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\udd47\u041e\u0442 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 \u043a DAG: \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u0441\u044f \u043e\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u043e DAG (Directed Acyclic Graph, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0433\u0440\u0430\u0444) \u0438 \u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0435\u0441\u0442\u0440\u0430\u0445, \u0438 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0435\u0433\u043e \u0441 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov\" \/>\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=\"2019-11-24T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-15T17:54:48+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\udd47Od blockchaina do DAG: pozbywamy si\u0119 po\u015brednik\u00f3w | ProHoster","description":"W tym artykule opowiem ci o DAG (Directed Acyclic Graph, skierowany acykliczny graf) i jego zastosowaniu w rozproszonych rejestrach oraz por\u00f3wnamy go z blockchainem.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov","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\udd47\u041e\u0442 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 \u043a DAG: \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u0441\u044f \u043e\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a\u043e\u0432 | ProHoster","og:description":"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u043e DAG (Directed Acyclic Graph, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0433\u0440\u0430\u0444) \u0438 \u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0435\u0441\u0442\u0440\u0430\u0445, \u0438 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0435\u0433\u043e \u0441 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ot-blokchejna-k-dag-izbavlyaemsya-ot-posrednikov","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":"2019-11-24T21:00:00+00:00","article:modified_time":"2026-02-15T17:54:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53183","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":"2026-02-15 17:55:40","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:29:27","updated":"2026-02-15 17:55:40","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\/53183","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=53183"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53183\/revisions"}],"predecessor-version":[{"id":161174,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53183\/revisions\/161174"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=53183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=53183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=53183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}