Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

Komentarz na temat bezpieczeństwa CoinShuffle i DarkWallet

Discussion in 'Polska Polish' started by AnarchicCluster, Jan 28, 2015.

  1. AnarchicCluster

    AnarchicCluster Active Member

    Joined:
    Dec 22, 2014
    Messages:
    399
    Likes Received:
    408
    Trophy Points:
    133
    Dash Address:
    XgJkzjmW1onXH8EsaaZakN1GswjjnAYhUE
    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 przedsiębiorców.

    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 wydasz 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
    [​IMG]
    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 kupował coś ostatnio przy czym chciał pozostać anonimowy.

    Przez kojarzenie adresów reszty

    [​IMG]

    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 wartości 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.1DRK. 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 botów) 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.
    [​IMG]
    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/4eb3b2f9fe597d0aef6e43b58bbaa7b8fb727e645fa89f922952f3e57ee6d603
    https://blockchain.info/tx/1694122b34c8543d01ad422ce600d59f8d8fde495ac9ddd894edc7139aed7617

    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. Jesli proces mieszania juz raz sie 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.
     
    #1 AnarchicCluster, Jan 28, 2015
    Last edited by a moderator: Jan 30, 2015
    • Like Like x 1
  2. AnarchicCluster

    AnarchicCluster Active Member

    Joined:
    Dec 22, 2014
    Messages:
    399
    Likes Received:
    408
    Trophy Points:
    133
    Dash Address:
    XgJkzjmW1onXH8EsaaZakN1GswjjnAYhUE
    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/14be41bfbcda630615be6a7e7df5d2391f60c570bc2280763e22349f689f6474(anonimowo wysłane 3.2DRK)
    http://explorer.darkcoin.io/tx/1d7072ab9448d8b59b453fcb53f49f3601f4418e21adc00b03a9bf46cbad7955
    http://explorer.darkcoin.io/tx/d71ba5edd833e0a13cc3f4f828e7ae8bdebb7b8eeabc3a780099695d0bde9525
    http://explorer.darkcoin.io/tx/327c39874c5e6bb981001b5ac4e14a59549007d202bc42bf404b9232944c1255
    http://explorer.darkcoin.io/tx/05be05e35917043ec128fffac6d1c18832f62ed93616cfc805cca1de18b152f7
    http://explorer.darkcoin.io/tx/fd946e98a4e4168ba426e69d0a7d2c8a871973c013698900aa4a3c9e23722d5d
    http://explorer.darkcoin.io/tx/de8be67ed9a45ded8c179d5cb9e4ca5dc958a57804645cc83ad30a57229bfe05
    http://explorer.darkcoin.io/tx/5ce1b10d8d39ee12fada352f646a0bc7fd10e5c68be3657b7e1f25daa96445ec
    http://explorer.darkcoin.io/tx/d438fbdc1cd08a9335d0d85705cca1b4b16ae02ccf4c912202288750fa3d3a06
    http://explorer.darkcoin.io/tx/12d0d2f81eabc990556126e8e86abd7f6587ce9a252e697d49babe02e1e0784d
    http://explorer.darkcoin.io/tx/faa07d6d48cbaabc6cf7f6167cd851b722d8b5d56ed5b45be4c221cd54a4dc7f
    http://explorer.darkcoin.io/tx/278ac690ed283b2f8c6d27173fb45d777198b612b3a67484724fea5c340b1b35
    http://explorer.darkcoin.io/tx/0c1c8796010c466d340c209bf3804d14f8ded70e523fa92baa25d938491625d7
    http://explorer.darkcoin.io/tx/990e5d83a66fa189241af04492496f7d1d2ea7ebb958cc7e3a75185525b94116
    http://explorer.darkcoin.io/tx/01edb919d043e7f34a54e58714cd0e4796a7752132d7d7498938b6b9c2ec4595
    http://explorer.darkcoin.io/tx/6b32a47efebf9c2d8ed4fd97f6f3787cb01b47100a51fc38cd63457ffe254a05
    http://explorer.darkcoin.io/tx/0c16df3800da43b22cfb1caeeedb6ac77e919a8609d0a863337a992f7c9757a6
    http://explorer.darkcoin.io/tx/e5a084b5ca7d0f98b80f142fc4a216b5f210e29d5a1c143ac376416240d09074
    http://explorer.darkcoin.io/tx/bd2f5435ef5a3ba2ff9c873606745d2ced11854977119a017dbe6ad150cfafde
    http://explorer.darkcoin.io/tx/a8452f95817a42531f42440dc5ff489eda0fcf76c3219847cb6bb4e99c0e5d88
    http://explorer.darkcoin.io/tx/54e885792b0d7e07604ed3d2915f6b86499b932ebc2c888125ab68b48720abd4
    http://explorer.darkcoin.io/tx/26906bef4c41e02565561a54dcdaf9e242d3830921b0ba4d5e5bfa085579a0de
    http://explorer.darkcoin.io/tx/1777adc8c015d8282c562d9401902330e9db1ffb18c830222d51c4f7e7c4388b
    http://explorer.darkcoin.io/tx/2edccdb8e9544d6d096b0369c02db7b4c8d3350465ca5b7b772609746a27b15c
    http://explorer.darkcoin.io/tx/15383602cf81ed5e3ddfac17211b5078cbbd1dcec882c4ec8d0a8ce7e6902496
    http://explorer.darkcoin.io/tx/37ec592c7b609e837a6265d7ba28e944e43319a072528e3e6c9e6d39a67a569d
    http://explorer.darkcoin.io/tx/995c8ad4347d7157683a3ac40625d366e1f5f8773e5dc8ac2c3a8148aa4cd423
    http://explorer.darkcoin.io/tx/b8d1475ca6d43934f4d6ce3d4b2cc7e2a01782c506a4e73e036ed4f83c3cdcf7
    http://explorer.darkcoin.io/tx/32ee32b2c2458100a64ee04679c3961f7b714ba3a58e5c425c9ec9d5c4c5b670
    http://explorer.darkcoin.io/tx/4162c8bf1704a2eb3d1e8a4e81dfcae144d231c52e33f992814c0a1d381c3eb7
    http://explorer.darkcoin.io/tx/59f9bfb8d822b8044e143a8a2c32e753aaa50cc34e179579314a0ca85f200faa
    http://explorer.darkcoin.io/tx/57a403abac5e3c244b2206101d4419bf21ede3aee79a69a49eb9bf91dfc4d2ea
    http://explorer.darkcoin.io/tx/e00181d3a04aca647501cea5970b84e932838a71e4bbd4e1ed4a0c850d81d26c
    http://explorer.darkcoin.io/tx/92c4774c1459b71a111ed9dc04eac80a287040797a179c2618590455a3475114
    http://explorer.darkcoin.io/tx/bbba3c932ce873be4d7fcc99832f289e24e94e85dd4fe267d5f9a9daed055228
    http://explorer.darkcoin.io/tx/c802ef9a3c7bf82fa95a6bd9afd05eb8ce656e6a292246c2600ae47298d9aefc
    http://explorer.darkcoin.io/tx/741b07d77cc42c586228a4704bb9c25e2552277399f443c79e08c1af41004e04
    http://explorer.darkcoin.io/tx/fd2f659f41239383bd3ff48062adfee3735c5c35155d2bee045cb044f4f4218e(ź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 anonimowym. Problemy o których tutaj wspomniałem dotyczą znacznej części transakcji, które przechodzą przez proces anonimizacji, oraz mogą stać się powodem całkowitej utraty anonimowości.
     
    #2 AnarchicCluster, Jan 28, 2015
    Last edited by a moderator: Jan 28, 2015
    • Like Like x 2
  3. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,843
    Likes Received:
    6,696
    Trophy Points:
    1,283
    Great job !
    that must have been a challenge !

    Please post in your local outlets
    Tx
     
  4. AnarchicCluster

    AnarchicCluster Active Member

    Joined:
    Dec 22, 2014
    Messages:
    399
    Likes Received:
    408
    Trophy Points:
    133
    Dash Address:
    XgJkzjmW1onXH8EsaaZakN1GswjjnAYhUE
    Yeah, there is a bit of technical jargon, but I think I got it fairly right. If anybody spots any mistakes with syntax or typos please let me know. I'll correct it asap
     
    • Like Like x 1
  5. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group

    Joined:
    Apr 8, 2014
    Messages:
    1,891
    Likes Received:
    1,277
    Trophy Points:
    1,283
    Piekny kawal dobrej roboty AnarchicCluster, chyba poprosze kolegow abys byl glownym tlumaczem a ja przejde w cien :) jesli nie masz nic przeciwko.
    Twoje tlumaczenia sa na poziomie i widac masz troche wiecej czasu jak ja na to.
    Piwko leci w twoim kierunku ;) mam nadzieje ze nie wpadniesz w alkoholizm przez nas ;)
    tx: 9b6a6762ce00fbff3b260e2fce2c89ecec8ccde905c40603ed77ae98f6f4d00a

    Jak mozesz wrzuc na osobny temat w dziale darkcoina na forum polskim.
     
    • Like Like x 1
  6. AnarchicCluster

    AnarchicCluster Active Member

    Joined:
    Dec 22, 2014
    Messages:
    399
    Likes Received:
    408
    Trophy Points:
    133
    Dash Address:
    XgJkzjmW1onXH8EsaaZakN1GswjjnAYhUE
    Dzieki wielkie, splawik21 zimno piwko zawsze sie przyda w te upaly po tej stronie swiata :)
    Rzeczywiscie mam troche wolnego czasu wieczorami, ale z drugiej strony to chyba nie swiadczy dobrze o moim zyciu towarzyskim lol :p
     
  7. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group

    Joined:
    Apr 8, 2014
    Messages:
    1,891
    Likes Received:
    1,277
    Trophy Points:
    1,283
    Rzycie towarzyskie konczy sie jak zaczynasz miec dzieci, potem jak dzieci zaczna byc "swiadome" :D i sie jakos zachowuja zaczniesz znow wychodzic, a czas TYLKO wieczorami po polnocy, baaa rano o 7 trzeba znow wstac wiec ciezko bywa z czasem ;)
    Dzieki za Twoj wklad.
    ps. dobranoc bo zaraz spac idziesz :)
    ps2. tx z darksenda :) milo sie patrzy :)
     
    #7 splawik21, Jan 28, 2015
    Last edited by a moderator: Jan 28, 2015
    • Like Like x 1
  8. AnarchicCluster

    AnarchicCluster Active Member

    Joined:
    Dec 22, 2014
    Messages:
    399
    Likes Received:
    408
    Trophy Points:
    133
    Dash Address:
    XgJkzjmW1onXH8EsaaZakN1GswjjnAYhUE
    No dzieciakow to jeszcze nie mam pewnie dlatego jeszcze mam czas :)
    Dzieki za zyczenia dobrej nocy. Ide ide spac u mnie juz pora nocna a jutro do pracy trzeba wstawac.
     
    • Like Like x 1
  9. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group

    Joined:
    Apr 8, 2014
    Messages:
    1,891
    Likes Received:
    1,277
    Trophy Points:
    1,283
    • Like Like x 1
  10. AnarchicCluster

    AnarchicCluster Active Member

    Joined:
    Dec 22, 2014
    Messages:
    399
    Likes Received:
    408
    Trophy Points:
    133
    Dash Address:
    XgJkzjmW1onXH8EsaaZakN1GswjjnAYhUE
    Ok, w takim razie lepiej zebym je jeszcze raz przegladnal pod katem stylistyki i zagadnien technicznych.
     
    • Like Like x 1

Share This Page