Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

Rozmowny
Posty: 141
Rejestracja: 17 stycznia 2015
Reputacja: 42
Reputacja postu: 
0
Napiwki za post: 0 BTC

Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

Postautor: AnarchicCluster » środa, 28 stycznia 2015, 14:45

Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

26 Styczeń 2015
Autor: Evan Duffield eduffield
Tłumaczenie: AnarchicCluster (napiwki mile widziane: XfubR6FJmwzASMdH9Av2Wd5CiMaAZdaGnv :) )
Oryginał


Jak powszechnie wiadomo, anonimowość transakcji Bitcoina jest trywialnie łatwa do złamania. Wiele nowych projektów krypto walut powstało z myślą o stworzeniu prawdziwej anonimowości transakcji finansowych co miałoby ulepszyć ochronę zarówno konsumentów jak i biznesu.

Darkcoin jest pierwszą cyfrową formą pieniądza, która całkowicie skupia się na anonimowości. Aby chronić fundusze swoich użytkowników oraz chronić sam blockchain, Darkcoin używa technologii anonimizującej transakcje znanej pod nazwą Darksend. Aby dobrze wymieszać transakcje miedzy sobą Darksend używa sieci drugiego stopnia znaną jako sieć masternode. Dzięki zaimplementowaniu tej technologii, użytkownicy Darkcoina mogą osiągnąć bardzo wysoki poziom anonimowości. Darksend nie wymaga zaufania do osób trzecich oraz jest bardzo tani w użyciu.

CoinShuffle oraz Darkwallet są nowymi rozwiązaniami których celem jest zapewnienie anonimowości w sieci Bitcoina. CoinShuffle został stworzony przez pracowników naukowych Uniwersytetu Saarland: Tima Ruffinga, Pedro Moreno-Sancheza oraz Aniket Kate. Pod tym linkiem można przeczytać ich publikację naukową.

DarkWallet został stworzony przez Amira Taakiego i Codyiego Wilsona w 2013 roku, jednak później został on zaadaptowany przez grupę koderów zajmujących się otwarto źródłowym oprogramowaniem.

Źródłem problemu z CoinShuffle jest potrzeba zwrotu reszty. W sytuacjach w których zależy nam na anonimowości, należy obchodzić się z resztą w bardzo ostrożny sposób. Jest to niezmiernie ważne, ponieważ jeśli nie obchodzi się z nią w wystarczająco dobrze to może być ona użyta do deanonimizacji transakcji przez obserwacje tego co się z nią dzieje zaraz po dokonaniu transakcji.

Każdy kto chce stworzyć technologię do anonimizacji, musi pamiętać o tym, że blockchain może być badany w obu kierunkach. Jeśli zanonimizujesz 1BTC i wydaesz część z tych pieniędzy, to reszta jaką otrzymujesz musi być trzymana z dala od jakichkolwiek innych transakcji które mogły by być skojarzone z nadawcą. W przeciwnym przypadku, można po prostu podążać od identyfikowalnej transakcji wstecz, aż do tej, która miała być anonimowa.

Cytat z publikacji badaczy z Uniwersytetu Saarland:

„Coinshuffle umożliwia używanie osobnych adresów dla reszty: Jeśli uczestnicy transakcji nie posiadają adresu z dokładną kwotą B v to mogą oni podać dodatkowe adresy dla reszty, w fazie pierwszej. W fazie piątej, każdy uczestnik transakcji dodaje wszystkie adresy dla reszty jako adresy docelowe dla transakcji mieszania tx zanim zostaną one podpisane. CoinShuffle zachowuje anonimowość i uniemożliwia stworzenie powiązania pomiędzy adresem wejściowym oraz wyjściowym (zwykłym) uczciwego uczestnika transakcji."


Istnieją dwa powiązane ze sobą problemy wynikające ze złego obchodzenia się z resztą. Mario Müller (użytkownik DarkcoinTalk Aswan) jako pierwszy znalazł tę samą podatność w Darksend. Jednak problem ten już dawno został rozwiązany i Darksend nie jest podatny na tego rodzaju ataki.

1. Słabe punkty CoinShuffle

Kojarzenie adresów reszty przez śledzenie następujących po sobie transakcji

Obrazek

W powyższym przykładzie, Alicja anonimizuje 1.2BTC , które jest rozdzielane na 1BTC oraz 0.2BTC i wysyłane do dwóch adresów wyjściowych. Potem wydaje ona 0.7BTC z adresu który zawiera 1BTC, po czym dostaje 0.3BTC reszty. Te 0.3BTC wysyłane jest na adres który można zidentyfikować jako należący do Alicji, co automatycznie jest potwierdzeniem, że w poprzedniej transakcji wydała ona 0.7BTC.

Aby zidentyfikować osobę dokonującą anonimowej transakcji, należy zacząć od transakcji z ‘Coinbase’ i podążać wstecz przyglądając się każdej poprzedniej transakcji, aż dojdzie się do transakcji: ‘’Alicja anonimowo wysłała 0.7BTC’’. Jeśli w tym wypadku jesteś Coinbase, to wiesz, że to był właśnie twój klient ostatnio kupował coś przy czym chciał pozostać anonimowy.

Przez kojarzenie adresów reszty

Obrazek

W drugim przykładzie, Alicja kupuje 1.2BTC z Coinbase po czym anonimizuje 1BTC przez wysłanie go na adres wyjściowy. Następnie wydaje ona 1BTC otrzymując 0.3BTC reszty która zostaje wysłana do tego samego adresu który zawiera wcześniejsze 0.2BTC.

Przez połączenie reszty z anonimowej transakcji (0.3BTC) razem z resztą jaką otrzymała od CoinShuffle (0.2BTC), powstaje możliwość odtworzenia całej historii transakcji przed i po.

Rozwiązanie:

Wszystkie wymienione powyżej problemy mogą być rozwiązane, jednak wymagają one denominowanych transakcji wejśiowych i wyjściowych. Tak samo jak Dolar jest denominowany w postaci banknotów 1$, 5$, 10$ i 20$ Darksend używa 0.1DRK, 1DRK, 10DRK, 100DRK. Aby wymieszać monety, użytkownicy mogą wysyłać i otrzymywać kwoty w takich właśnie nominałach. Później transakcje są dalej chronione przez łączenie ze sobą różnych nominałów aby zapłacić trochę powyżej wymaganej kwoty.

Na przykład, jeśli ktoś chce anonimowo wysłać 1.17DRK, kwota ta zostaje wysłana jako 1DRK+0.1DRK+0.01DRK. Wynikiem jest transakcja o wartości dokładnie 1.17DRK dla odbiorcy oraz 0.03DRK jest uiszczane jako opłata dla kopaczy aby zapobiec możliwości deanonimizacji transakcji przez śledzenie reszty.

1. Słabe punkty w DarkWallet: Unikatowo identyfikowalne transakcje.

Ten mechanizm miksujący został zaprojektowany w taki sposób aby w czasie rzeczywistym wielu użytkowników (lub boty) zostało sparowanych z użytkownikami chcącymi dokonać transakcji. Każda transakcja dokonana przy użyciu DarkWalet jest bardzo łatwa do wyśledzenia, z powodu unikatowych wielkości kwot zawartych w transakcji.

Na przykład:

Załóżmy że wysyłamy 0.05BTC przez mikser. Aby zidentyfikować źródło transakcji, potrzeba jedynie dodać wartości znajdujące się po prawej stronie aż będą one takie same jak wartości po lewej.

0.05+0.0499+0.0001(fee) = 0.10BTC

0.0499+0.05940182+0.0001(fee)=0.10940182BTC.

Wraz z dodawaniem większej ilości użytkowników do miksowania trudność deanonimizacji wzrasta wykładniczo, jednakże sesje te będą mogły zostać retro-aktywnie zdeanonimizowane w przyszłości.

Przykład dwóch powiązanych ze sobą transakcji
https://blockchain.info/tx/4eb3b2f9fe59 ... e57ee6d603
https://blockchain.info/tx/1694122b34c8 ... 139aed7617

Rozwiązanie:

Na chwilę obecną nie istnieje rozwiązanie tego problemu.

2. Podatność DarkWallet oraz CoinShuffle na ataki DOS.

CoinShuffle oraz DarkWallet są podatne na ataki DOS, w których użytkownik o złych intencjach, może po prostu odmówić podpisania ostatniej transakcji lub wyloguje się podczas trwania ostatniej fazy. Ponieważ do przeprowadzenia transakcji wymagany jest podpis , cały ten proces może zostać zatrzymany przez odmowę współpracy.

Darkwallet i Coinshuffle zasugerowali kilka możliwych rozwiązań, ale każde z tych rozwiązań zezwala na zainicjowanie ataku zanim zostają podjęte działania ochronne.

Rozwiązanie:

Darksend korzysta z nowatorskiego podejścia do ochrony sieci przed tego rodzaju atakami. To rozwiązanie znane jest jako zastawianie transakcji. Kiedy rozpoczyna się sesja miksowania monet, użytkownik musi wysłać do wybranego masternoda kompletną oraz podpisaną transakcje. Jak tylko ten proces się rozpocznie, użytkownik musi go zakończyć przez wysłanie odpowiedzi na żądanie sfinalizowania sesji. Jeśli użytkownik tego nie zrobi zastawiona transakcja zostaje egzekwowana. Jest to bardzo podobne do uiszczania depozytu pod wynajem samochodu lub mieszkania. Po jakimś czasie otrzymujesz swój depozyt z powrotem jeśli wszystkie warunki umowy zostają spełnione.

Przykład transakcji wysłanej przez Darksend:

Poniżej umieściłem w pełni anonimową transakcje jako przykład rodzaju anonimowości jaką oferuje Darkcoin. Transakcja ta przeszła przez 10 sesji miksowania (fundusze przeszły przez proces mieszania na dziesięciu osobnych masternodach, każdy z trzema uczestnikami). Warto zwrócić uwagę na to, że nie ma tutaj reszty która mogłaby doprowadzić do nadawcy płatności, oraz wszystkie płatności w każdej fazie dokonywane są za pomocą tych samych nominałów.

http://explorer.darkcoin.io/tx/14be41bf ... 9f689f6474(anonimowo wysłane 3.2DRK)
http://explorer.darkcoin.io/tx/1d7072ab ... 46cbad7955
http://explorer.darkcoin.io/tx/d71ba5ed ... 5d0bde9525
http://explorer.darkcoin.io/tx/327c3987 ... 32944c1255
http://explorer.darkcoin.io/tx/05be05e3 ... de18b152f7
http://explorer.darkcoin.io/tx/fd946e98 ... 9e23722d5d
http://explorer.darkcoin.io/tx/de8be67e ... 57229bfe05
http://explorer.darkcoin.io/tx/5ce1b10d ... daa96445ec
http://explorer.darkcoin.io/tx/d438fbdc ... 50fa3d3a06
http://explorer.darkcoin.io/tx/12d0d2f8 ... 02e1e0784d
http://explorer.darkcoin.io/tx/faa07d6d ... cd54a4dc7f
http://explorer.darkcoin.io/tx/278ac690 ... 5c340b1b35
http://explorer.darkcoin.io/tx/0c1c8796 ... 38491625d7
http://explorer.darkcoin.io/tx/990e5d83 ... 5525b94116
http://explorer.darkcoin.io/tx/01edb919 ... b9c2ec4595
http://explorer.darkcoin.io/tx/6b32a47e ... 7ffe254a05
http://explorer.darkcoin.io/tx/0c16df38 ... 2f7c9757a6
http://explorer.darkcoin.io/tx/e5a084b5 ... 6240d09074
http://explorer.darkcoin.io/tx/bd2f5435 ... d150cfafde
http://explorer.darkcoin.io/tx/a8452f95 ... e99c0e5d88
http://explorer.darkcoin.io/tx/54e88579 ... b48720abd4
http://explorer.darkcoin.io/tx/26906bef ... 085579a0de
http://explorer.darkcoin.io/tx/1777adc8 ... f7e7c4388b
http://explorer.darkcoin.io/tx/2edccdb8 ... 746a27b15c
http://explorer.darkcoin.io/tx/15383602 ... e7e6902496
http://explorer.darkcoin.io/tx/37ec592c ... 39a67a569d
http://explorer.darkcoin.io/tx/995c8ad4 ... 48aa4cd423
http://explorer.darkcoin.io/tx/b8d1475c ... f83c3cdcf7
http://explorer.darkcoin.io/tx/32ee32b2 ... d5c4c5b670
http://explorer.darkcoin.io/tx/4162c8bf ... 1d381c3eb7
http://explorer.darkcoin.io/tx/59f9bfb8 ... a85f200faa
http://explorer.darkcoin.io/tx/57a403ab ... 91dfc4d2ea
http://explorer.darkcoin.io/tx/e00181d3 ... 850d81d26c
http://explorer.darkcoin.io/tx/92c4774c ... 55a3475114
http://explorer.darkcoin.io/tx/bbba3c93 ... daed055228
http://explorer.darkcoin.io/tx/c802ef9a ... 7298d9aefc
http://explorer.darkcoin.io/tx/741b07d7 ... af41004e04
http://explorer.darkcoin.io/tx/fd2f659f ... 8e(źródło)

Warto również zwrócić uwagę na to, że Darksend ukrywa duże porcje darkcoinów za każdym razem, dzięki czemu taka sesja miksowania funduszy jaką widzimy powyżej może zostać użyta do przeprowadzenia wielu różnych transakcji zaraz po tej pierwszej.

Podsumuwując:

Z powodu swoich fundamentalnych wad, sugerowalibyśmy aby CoinShuffle i DarkWallet nie były używane do wykonywania żadnych transakcji które wymagają pozostania anonimowymi. Problemy o których tutaj wspomniałem dotyczą dużej części transakcji które przechodzą proces anonimizacji i mogą stać się powodem całkowitej utraty anonimowości.
Ostatnio zmieniony środa, 28 stycznia 2015, 16:26 przez AnarchicCluster, łącznie zmieniany 1 raz.

Weteran
Awatar użytkownika
Posty: 1422
Rejestracja: 30 września 2014
Reputacja: 1006
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Komentarz na temat bezpieczeństwa CoinShuffle i DarkWall

Postautor: splawik21 » środa, 28 stycznia 2015, 15:18

AnarchicCluster miales co tlumaczyc tutaj.
No i Evan znalazl dziore w mieszaczu bitka.
Napisal takze w pozniejszych postach na dct ze gdy wyjdzie latka to napiosze skrypt ktory je odszyfrowuje. Zaczne go chyba nazywac Megamocny ;)

Rozmowny
Posty: 141
Rejestracja: 17 stycznia 2015
Reputacja: 42
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Komentarz na temat bezpieczeństwa CoinShuffle i DarkWall

Postautor: AnarchicCluster » środa, 28 stycznia 2015, 16:29

splawik21 pisze:AnarchicCluster miales co tlumaczyc tutaj.
No i Evan znalazl dziore w mieszaczu bitka.
Napisal takze w pozniejszych postach na dct ze gdy wyjdzie latka to napiosze skrypt ktory je odszyfrowuje. Zaczne go chyba nazywac Megamocny ;)
Hehe jakby Evan rzeczywiscie napisal takiego skrypta to by mi szczeka opadla. Mysle ze wtedy Znaczna czesc Deepweb przerzucilaby sie na darkcoina.

Tak poza tematem to dziwie sie dlaczego taki geniusz jak Evan nie pracuje na Harwardzie czy NASA.

Weteran
Awatar użytkownika
Posty: 1422
Rejestracja: 30 września 2014
Reputacja: 1006
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Komentarz na temat bezpieczeństwa CoinShuffle i DarkWall

Postautor: splawik21 » środa, 28 stycznia 2015, 16:37

AnarchicCluster pisze:
splawik21 pisze:AnarchicCluster miales co tlumaczyc tutaj.
No i Evan znalazl dziore w mieszaczu bitka.
Napisal takze w pozniejszych postach na dct ze gdy wyjdzie latka to napiosze skrypt ktory je odszyfrowuje. Zaczne go chyba nazywac Megamocny ;)
Hehe jakby Evan rzeczywiscie napisal takiego skrypta to by mi szczeka opadla. Mysle ze wtedy Znaczna czesc Deepweb przerzucilaby sie na darkcoina.

Tak poza tematem to dziwie sie dlaczego taki geniusz jak Evan nie pracuje na Harwardzie czy NASA.
Tak pisal gdzies o tym poszperam moze znajde jego cytat.
Ja sie ciesze ze nei pracuje tam gdzie wspomniales, bo nei byloby darkcoina ;)

Weteran
Awatar użytkownika
Posty: 1422
Rejestracja: 30 września 2014
Reputacja: 1006
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Komentarz na temat bezpieczeństwa CoinShuffle i DarkWall

Postautor: splawik21 » czwartek, 29 stycznia 2015, 05:06

Znalazlem!
Na bct. Koncowka drugiego paragrafu

https://bitcointalk.org/index.php?topic ... sg10277766

Rozmowny
Posty: 141
Rejestracja: 17 stycznia 2015
Reputacja: 42
Reputacja postu: 
0
Napiwki za post: 0 BTC

Re: Komentarz na temat bezpieczeństwa CoinShuffle i DarkWall

Postautor: AnarchicCluster » piątek, 30 stycznia 2015, 07:37

splawik21 pisze:Znalazlem!
Na bct. Koncowka drugiego paragrafu

https://bitcointalk.org/index.php?topic ... sg10277766
Dzieki.Ciekaw jestem jak zareaguja Taaki, Wilson i inni tworcy DarkWalleta jak Evan dotrzyma slowa i zdeanonimizuje im transakcje. :)

Dyskutant
Posty: 233
Rejestracja: 6 lipca 2011
Reputacja: 34
Reputacja postu: 
0
Napiwki za post: 0 BTC

Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

Postautor: Wojciech » czwartek, 9 marca 2017, 19:06

AnarchicCluster pisze: Na przykład, jeśli ktoś chce anonimowo wysłać 1.17DRK, kwota ta zostaje wysłana jako 1DRK+0.1DRK+0.01DRK.
@AnarchicCluster, przepraszam, za "złotą łopatę" ale wydaje mi się, że jest tutaj błąd w ilości zer po przecinku.
Powinno chyba być : 1DRK+0.1DRK+0.1DRK

Początkujący
Posty: 1
Rejestracja: 5 marca 2017
Reputacja: 0
Reputacja postu: 
0
Napiwki za post: 0 BTC

Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

Postautor: ternizz72 » czwartek, 9 marca 2017, 22:40

@splawik21, hej czy od momentu pisania tego postu w dash'u coś sie zmieniło w sprawie miksowania i kwesti anonimiwości?

Weteran
Awatar użytkownika
Posty: 1422
Rejestracja: 30 września 2014
Reputacja: 1006
Reputacja postu: 
1
Napiwki za post: 0 BTC

Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

Postautor: splawik21 » piątek, 10 marca 2017, 09:52

Zasada pozostaje ta same.
w wersji 12.1 doszło mieszanie z tzw multisession co znacznie zwiększa prędkość mieszania a także zdjęta denominate 100 Dash i dodano 0.01.

W wersji 12.2 dojdzie parę udoskonalen między innymi:
https://github.com/dashpay/dash/pull/1248
https://github.com/dashpay/dash/pull/1307

Wróć do „Dash”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości