Jak przygotować się do hardforka Bitcoina?

1 Sierpnia 2017 prawdopodobnie będziemy świadkami rozdzielenia łańcucha bloków Bitcoina na dwa łańcuchy: BTC i BCC. Oznacza to, że łańcuch, który mamy aktualnie zostanie skopiowany i powstaną dwa identyczne. Jednakże od momentu podziału - łańcuchy zaczną się od siebie różnić. Przykładowo mając aktualnie 1 BTC na adresie aaaa, po podziale będziemy mieli 1 BTC na adresie aaaa i 1 BCC na tym samym adresie. Od tej chwili możemy wysłać zarówno BCC jak i BTC na dowolny adres z adresu aaaa. Przykładowo możemy wysłać 1 BTC na adres bbbb i 1 BCC na adres cccc. Od tego momentu oba łańcuchy już się różnią, ponieważ wykonaliśmy dwie różne transakcje.

Giełdy

W zależności od polityki danej giełdy – te przyjmują różne stanowiska. Jedne deklarują wsparcie obu łańcuchów(polskie giełdy: beatcoin i bitmarket), większość jednak prawdopodobnie będzie wspierać tylko jeden łańcuch(Łańcuch BTC). Giełdy w większości wydają oświadczenia, że przed 1 sierpnia należy swoje środki wyjąć z giełdy(o ile ktoś chce być posiadaczem środków na obu łańcuchach), w przeciwnym wypadku będzie jedynie możliwość operować środkami tylko w ramach jednego łańcucha.
Ja osobiście odradzam trzymanie BTC na jakiejkolwiek giełdzie przed 1 sierpnia.
Dlaczego powinno nam zależeć na tym, żeby być właścicielami środków na obu łańcuchach? Ponieważ zarówno BTC, jak i BCC będą posiadały jakąś wartość. Pomimo opinii, że jeden z łańcuchów upadnie, bądź będzie bezwartościowy - prawda jest taka, że osoba posiadająca 1 BTC i 1 BCC będzie bogatsza od osoby posiadającej jedynie 1 BTC.

Portfele:


Niestety twórcy portfeli również deklarują wsparcie głównie jednego łańcucha. Twórcy Electrum przykładowo wydali oświadczenie, że transakcje, które będą wykonane za pomocą ich portfela na łańcuchu BCC zostaną potraktowane jako nieprawidłowe.

Oficjalna lista portfeli i giełd wspierających łańcuch BCC znajduje się na stronie: https://www.bitcoincash.org/

gieldywaluty.png

I tak widzimy, że na dzień 26.07 mamy 3 portfele, które sygnalizują wsparcie BCC: BitcoinABC, ElectrumCash* i Ledger.

Co to oznacza?

Oznacza to, że aby w ramach łańcucha BCC wysłać swoje monety na jakiś inny adres(np. na giełdę viaBTC, która ten łańcuch wspiera), potrzebujemy jeden z powyższych portfeli. Portfel ElectrumCash jest prawdopodobnie kopią oryginalnego portfela Electrum właśnie przystosowanym do łańcucha BCC.

Co należy zrobić, jeśli posiadamy aktualnie Bitcoiny na portfelu nie wspierającym BCC?

Nadal jesteśmy bezpieczni. O ile używamy portfela, który daje bezpośredni, lub pośredni(seed) dostęp do kluczy prywatnych, nadal mamy kontrolę nad środkami w ramach jednego i drugiego łańcucha. W takim wypadku, aby przesłać środki BCC np. na giełdę należy z portfela, na którym trzymamy środki wyeksportować klucz prywatny, a następnie zaimportować go w portfelu wspierającym BCC(BitcoinABC, ElectrumCash* i Ledger). Następnie z tego portfela należy wysłać środki np. na giełdę(np. bit market, beatcoin).
Nie polecam przechowywać środków 1 sierpnia na: giełdach, portfelach online(blockchain.info), oraz Jaxx(to akurat złodzieje).

Ważne!!!

Jeśli wysyłamy środki w ramach jednego łańcucha należy upewnić się, że zarówno portfel, jakiego używamy, jak i giełda obsługują dany łańcuch. Dotyczy to szczególnie łańcucha BCC. Na giełdzie należy się upewnić że adres, na który wysyłamy bitcoiny jest adresem BCC.

Reply attack

Reply attack jest atakiem, który już miał miejsce w przeszłości na łańcuchu ETH, w czasach kiedy ten był w trakcie podziału(podział na ETH i ETC). Chodzi o to, że po podziale istnieje prawdopodobieństwo, że poprawna transakcja wykonana w ramach jednego łańcucha(np. BTC) może być skopiowana i ogłoszona w ramach drugiego łańcucha(np. BCC). Ostatecznie na obu łańcuchach ta sama transakcja zostanie wykonana. Przykład: wysyłamy 1 BCC z adresu aaaa na adres cccc. Sprawdzamy stan adresu cccc na łańcuchu BCC i mamy 1 BCC. Sprawdzamy stan adresu cccc na łańcuchu BTC i również mamy 1 BTC! W skrócie – chodzi o to, że ta sama transakcja zostanie powtórzona na drugim łańcuchu. Aby transakcja mogła być powtórzona, historia danego adresu musi zgadzać się na obu łańcuchach. Więc aby obronić się przed atakiem należy zmienić historię adresu na danym łańcuchu.

Developerzy BCC ogłosili, że mają zaimplementowane rozwiązanie, które nie pozwoli na atak. Jednak, aby być w 100% pewnym przygotowałem mini-instrukcję jak się obronić:

  1. jeśli mamy BTC na portfelu papierowym, bądź innym portfelu, należy zaimportować klucz prywatny na portfel ze wsparciem BCC(np. ElectrumCash*).
  2. Należy wygenerować osobny unikalny adres(np. na bitaddress.org), i na ten adres przesłać monety w ramach łańcucha BCC za pomocą portfela np. ElectrumCash*. Adres nazwijmy dddd.
  3. W tym momencie należy sprawdzić, czy w ramach drugiego łańcucha(BTC) ktoś(lub jakiś bot) skopiował transakcję i zastosował reply attack(wpisujemy np. na blockchain.info adres dddd i sprawdzamy, czy atak się udał).
  4. Jeśli atak się udał, znaczy to że wszelkie zabezpieczenia i obietnice BCC się nie sprawdziły i wybuchnie panika :D Na szczęście my jako nieliczni zachowaliśmy rozsądek i pierwszą transakcję wykonaliśmy na inny swój adres, do którego posiadamy klucz(adres dddd z punktu 2), dzięki temu nadal mamy kontrolę nad środkami w ramach obu łańcuchów. W takim wypadku należy cierpliwie poczekać, aż sytuacja się wyjaśni. W tym czasie mnóstwo osób potraci środki z drugiego łańcucha. Możemy kontrolnie co jakiś czas powtarzać punkt 1-4(należy pamiętać że każda próba wiąże się z opłatą transakcyjną w sieci) do momentu aż nikt nie skopiuje naszej transakcji, wtedy przechodzimy do punktu 5.
  5. Nikt nie skopiował naszej transakcji, więc żeby definitywnie rozdzielić oba łańcuchy generujemy kolejny adres (np. bitaddress.org). Nazwijmy go eeee.
  6. W naszym ulubionym portfelu wspierającym łańcuch BTC (np. zwykły Electrum) wykonujemy transakcję na nowo utworzony adres eeee. W tym momencie mamy środki BTC na adresie eeee i środki BCC na adresie dddd. Nikt nie jest w stanie już powtórzyć żadnej z naszych przyszłych transakcji, ponieważ historia na obu adresach w ramach obu łańcuchów już się różni.

Od tej pory możemy bezpiecznie oba łańcuchy traktować jako osobne kryptowaluty.


UPDATE!!!

Dostałem informację, że mniej więcej w czasie pisania postu Electrum oficjalnie ustosunkowało się do nowego tworu ElectrumCash:
https://electrum.org/bcc.txt

Z tego wynika, że twórcy ElectrumCash bez wiedzy Electrum przywłaszczyli sobie logo i nazwę produktu, oraz że oficjalny portfel Electrum odcina się od działań ElectrumCash. W świetle tych informacji należy podejść do tematu portfeli wspierających BCC z dodatkową ostrożnością. Proponuję na początek przetestować rozwiązanie dla małych kwot, lub wstrzymać się kilka dni z transakcjami. Porada twórców Electrum, co należy zrobić aby zachować środki BTC przed importem na portfel ElectrumCash:

"Therefore, after the BCC fork, but before you enter a seed or
private key in a BCC wallet, you should move all your funds to a new
Electrum wallet, with a new seed. You will still be able to use the
old seed or private key with BCC, because BCC has replay
protection. Wait until your funds are confirmed in your new Bitcoin
wallet, before you enter the old private key in a BCC wallet. This
will protect your BTC funds from rogue/untrusted software."

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now