-----------------------
Rozwiązanie problemu prywatności leży w sercu dziedziny kryptografii, jest jego fundamentem. Dla wielu entuzjastów, kryptowaluty jako gotówka muszą mieć prawdopodobnie największą jej zaletę – anonimowość. CoinSpice usiadła przy jednym stole z Cliffordem Mackiem, głównym developerem CashShuffle, protokołem ulepszającym prywatność/interzamienialność dla Bitcoin Casha (BCH). Czytelnicy CoinSpice otrzymują wgląd do wewnętrznych szczegółów dotyczących planów rozwoju, integracji z portfelami i to jak rozwiązują problem zbyt długiego czasu oczekiwania [na mieszanie monet].
Bitcoin Cash i CashShuffle obierają kierunek na cel prywatności
CoinSpice: Dla tych, którzy nie są z nim zaznajomieni : czym jest CashShuffle?
Clifford Mack, developer CashShuffle: CashShuffle jest protokołem pozwalającym osiągnąć prywatność i interzamienialność [tłumaczenie własne ze słowa „fungibility” - przyp. tłum.] dla kryptowaluty Bitcoin Cash. Udostępnia mechanizm, dzięki któremu użytkownicy mogą łączyć swoje transakcje z transakcjami innych użytkowników w sposób taki, żeby nikt nie był w stanie dojść które z monet wejściowych odpowiadają którym monetom na wyjściu. Podstawowa koncepcja łączenia wejść i wyjść różnych użytkowników w pojedynczą transakcje nie jest nowa. Została po raz pierwszy zaproponowana przez developera Bitcoin, Gregorego Maxwella w roku 2013. Następnie, praca naukowa nazwana „CoinShuffle” została opublikowana w roku 2014 przez Toma Ruffinga i innych. To rozbudowało koncept bardziej, dodając „zdecentralizowany protokół mieszania” czyli inaczej sposób dla użytkowników na uczestnictwo w transakcjach CoinJoin bez ujawniania innym ich adresów wyjściowych.

CashShuffle rozbudowuje ten protkół jeszcze bardziej poprzez stworzenie sposobu dzięki któremu użytkownicy mogą odnaleźć siebie nawzajem i zorganizować w małe grupy dla każdej transakcji. Oryginalnemu protokołowi CoinShuffle brakowało tego istotnego elementu.
Dodatkowo, projekt CashShuffle nie jest tylko protokołem. Jest także działającą implementacją używającą serwera napisanego w języku GoLang i pluginu dla portfela Electron Cash.
CoinSpice: A więc protokół używa modelu klient-serwer ?
Clifford Mack: Na tą chwilę, tak. Z tego powodu można powiedzieć że jest pewien aspekt CashShuffle, który jest scentralizowany. Ale serwer nie może ukraść środków użytkownikom. Nie jest także w stanie powiedzieć które wejścia korespondują z którymi wyjściami. Jest – można by powiedzieć – głupim mechanizmem przekaźnika.
Z czasem planujemy uczynić CashShuffle całkowicie zdecentralizowanym. Można zacząć od stworzenia mechanizmu pozwalającego wielu serwerom współdzielić informacje na temat pasujących uczestników, co oznaczałoby że więcej i więcej serwerów może być dodane bez rozcieńczania „płynności” tych uczestników. Później możemy zaimplementować protokół jako część węzłów Bitcoin Casha; dla przykładu, węzłów implementacji Bitcoin Unlimited.

Może również istnieć sposób na to aby pominąć warstwę serwerową całkowicie i uczynić cały ten system osobną siecią peer-to-peer.
Ale jest zbyt wcześnie aby o tym mówić. Nie zawsze jest praktycznym aby planować wszystko z wyprzedzeniem. Czasami w trakcie rozwoju nowego protokołu musimy wypróbować rzeczy i zobaczyć jak dobrze działają one w praktyce, zarówno z punktu widzenia technologicznego jak i użytkowego.
Nowy plan rozwoju
CoinSpice: Słyszeliśmy o „nowym planie rozwoju”, możesz coś nam o nim opowiedzieć ?
Clifford Mack: Tak. Są tutaj dwie istotne sprawy tutaj. Pierwsza to że nareszcie otrzymaliśmy przyzwolenie na bezpośrednią, natywną integrację CashShuffle w samym portfelu od ekipy rozwijającej Electron Casha zamiast osobnej wtyczki tak jak to było dotychczas. Wtyczki są świetnym sposobem na eksperymentowanie, ale CashShuffle będzie znacznie częściej używane jeżeli zostanie częścią portfela dostępnego dla wszystkich. To jest tak naprawdę główny punkt tego projektu. Chcemy aby zintegrować to w portfelach.
Druga sprawa to fantastyczny pomysł, który wyszedł od Josha Ellithorpe (który zaprogramował komponent serwerowy w GoLang) i tym pomysłem jest aby portfel mieszał wszystkie monety w tle automatycznie tak aby gdy użytkownik będzie chciał wysłać pieniądze, jego monety będą już wymieszane. Co oznacza, że użytkownik nie będzie musiał czekać.
Jeżeli użytkownik będzie musiał czekać zbyt długo, prawdopodobnie zrezygnuje. To było problemem od samego początku. Jak zachęcić odpowiednią ilość osób do używania tej rzeczy w tym samym momencie tak by użytkownik zawsze miał z kim mieszać swoje monety ? Jeżeli Twój portfel robi to w tle, oczekiwanie godzinami nie jest żadnym problemem. Użytkownik nie będzie czekał.

Te dwie rzeczy (natywna integracja w portfelu oraz mieszanie w tle) powinny razem osiągnąć efekt synergiczny i, miejmy nadzieję, nareszcie uczynią [CoinShuffle] użytecznym w codziennej praktyce.
CoinSpice: W jaki sposób portfel zapobiegnie ponownemu mieszaniu zmiksowanych monet z powrotem z codziennie używanymi środkami? [czyli „zabrudzeniu” czystych monet monetami „naznaczonymi” tak że będzie możliwa identyfikacja do kogo należą – przyp. tłum.]
Clifford Mack: Za każdym razem gdy otrzymujesz resztę z transakcji, zostanie ona ponownie zmiksowana. Podniesiemy także próg pyłu tak że drobne ilości monet (te, które są zbyt małe do miksowania) nigdy nie zostaną w ogóle utworzone. Może nie jest to perfekcyjne rozwiązanie, ale możemy ulepszyć ten aspekt z czasem.