Jeśli zadalibyście mi pytanie, co jest bolączką Bitcoina, odpowiedziałbym bez chwili zastanowienia – skalowalność. Ok, ale czym jest skalowalność? Najprościej rzecz ujmując, to zdolność do rozbudowy, do adaptacji względem zwiększonego zapotrzebowania na moc.

Bitcoin, jako dinozaur kryptowalut cierpi na problem braku rozwoju infrastruktury. Bitcoin stoi w miejscu. Jest zbyt wolny jak na swój wiek i konkurencję wokół niego. Prosty przykład z podwórka. Bitcoin rywalizować ma z aktualnym liderem rynku transakcji – Visa. Visa przetwarza około 4.000 transakcji na sekundę. Jak wypada Bitcoin? Dosyć blado. Z jego 1mb blokiem, może on przetworzyć 7 transakcji na sekundę. Najbliższym przykładem polepszenia działania Bitcoina jest hardfork Segwit2x. Jest to próba ratowania okropnych czasów tworzenia bloku oraz procedowania transakcji w sieci. Jednakże, oprócz Segwit2x, społeczność Bitcoina wyszła z zupełnie innym pomysłem. Jest nim Lightning network. Czym jest? Już tłumaczę.

Idea

Lightning Network powstało, aby rozwiązać problem skalowalności. Główną ideą jest to, że transakcje które zostają zawierane codziennie, np. zakupy kawy nie są przechowywane w głównym rejestrze. Jest to tak zwany off-chain approach.

Działanie

Posłużmy się przykładem. Każdego ranka Adam kupuje kawę w swojej ulubionej kawiarni. W tym momencie, używanie Bitcoina do zapłaty za kawę jest bezsensowne zważywszy na to, że Adam mógłby zapłacić więcej pieniędzy w postaci opłaty za transakcje, niż wynosi sama wartość kawy. Jednakże, jeżeli zaadoptowanoby rozwiązanie Lightning Network, to ta transakcja miałaby sens. Działało by to w taki sposób, że Adam ustanowiłby kanał płatniczy pomiędzy nim a kawiarnią. Aby to zrobić, zarówno Adam jak i kawiarnia musiałby zdeponować pewną ilość BTC w czymś rodzaju sejfu, który nazywany jest multi-signature adress. Sejf ten może być otwarty tylko i wyłącznie wtedy, kiedy obydwie strony, które zdeponowały w nim pieniądze się na to zgodzą. W momencie stworzenia kanału płatniczego, strony określają także w jaki sposób kwoty przesłane do sejfu, mają zostać rozdysponowane. Cały kanał płatniczy, wraz z zapisem zdeponowania środków w sejfie, zostaje zapisany w Blockchainie Bitcoina. Stanowi to poświadczenie, że każda ze stron w tym przypadku Adam, przekazał np. 0.005 BTC do sejfu.

Teraz wychodzimy z Blockchainu i skupiamy się na zapisie transakcji lokalnie, po stronie Adama jak i kawiarni. Za każdym razem, jak Adam kupuje kawę w tej kawiarni, otwierany jest ponownie kanał płatniczy i z dostępnego salda ubywa koszt kawy, na rzecz salda kawiarni. Po zaktualizowaniu sald zarówno Adam jak i kawiarnia, podpisują za pomocą swoich kluczy prywatnych zaktualizowane salda. Tak tworzy się lokalny rejestr transakcji. Taka sytuacja może się powtarzać i 100-tysięcy razy, nie obciążając przy tym głównej sieci. Przypominam, wszystko dzieje się lokalnie, poza Blockchainem. W momencie w którym np. skończy się dostępne saldo Adama, wtedy kanał płatniczy jest zrywany, do sieci Bitcoin przesyłany jest ostatni stan zarejestrowanych lokalnych rejestrów, który to sieć traktuje jako jedna transakcja. Wtedy kopacze walidują te rejestry i jeżeli osiągną konsensus, uwalniane są środki z sejfu.

Co więcej, w przypadku powstałego już kanału płatniczego między Adamem a kawiarnią, dodając do naszej historii Kasię, Kasia nie musi otwierać nowego kanału płatniczego pomiędzy nią a kawiarnią. Jeżeli kiedykolwiek wcześniej za pomocą Lightning Network, wymieniała Bitcoiny z Adamem, to może użyć kanału płatniczego Adama aby rozliczyć się z kawiarnią.

W sieci Lightning, twoja płatność próbuje znaleźć najbardziej optymalne rozwiązanie aby najszybciej oraz najtaniej dostać się do adresata twojej płatności. Wykorzystuje do tego wszystkie kanały płatnicze jakie kiedykolwiek nawiązałaś, aby niebezpośrednio dostać się do celu.

Dodatkowo w ramach Lightning Network, planowane jest wprowadzenie tzw. ‘atomic swap’. Na czym to polega?

Na przesyłaniu kryptowaluty np. BTC w zamian za inną kryptowalutę np. LTC. Kojarzymy to skądś? Po prostu giełdy przestaną być potrzebne. Wszystko to jest możliwe dzięki wykorzystaniu multisig i kryptovoodo.

Konkluzje

Lightning network ma potencjał do zredukowania obciążenia sieci Blockchain w znaczący sposób, przenosząc większą cześć pracy poza samą sieć. Wymaga on tak naprawdę tylko wykonania 2ch płatności – tej która otwiera kanał płatniczy oraz tej, która go zamyka. Dodatkowo, jest to bardzo bezpieczne rozwiązanie. System dba o to, że tylko i wyłącznie ostatni zaktualizowany rejestr lokalny zostaje wysłany do sieci – w nim widnieją wszystkie ostatnie transakcje zarejestrowane lokalnie. Wyłącza to powstanie możliwości zaległości w płatności. Jeżeli dostępne jest ogólne saldo przekazane przez obydwie strony i obydwie strony dysponują najbardziej aktualnymi rejestrami transakcji to każda strona, poprzez zerwanie kanału płatniczego może spowodować wysłanie rejestrów lokalny do sieci. Efektem tego będzie uwolnienie środków z sejfu, pomimo faktu, że druga strona nie chciałaby wywiązać się z transakcji.

W tym momencie, Lightning Network znajduje się w fazie testów na Bitcoin testnet.

Szansne na wprowadzenie? Ogromne.

Odciąży sieć? Tak myślę.

Kiedy? Być może w 2018 roku.

IamHellToday

Aby zobrazować czym jest Fork – nie widelec, który widzicie po lewej – posłużymy się przykładem Bitcoina, ale wszystko to dotyczy również innych kryptowalut. Przypomnijmy sobie, że Bitcoin to waluta, która ma w sobie pewien program komputerowy, który nazywamy Bitcoin protocol. Ustanawia on standard, który trzeba osiągnąć, aby Bitcoina używać.
W tym zawiera się choćby to, jakie są opłaty za transfer, jaka jest wielkość bloku, jakie nagrody przewidziane są dla kopaczy Bitcoina itd. Bitcoin jak każdy twór developerów jest usprawniany oraz pchany w jakimś kierunku rozwoju.

Jednakże, w pewnym momencie pomimo, że developerzy stworzyli sieć osiągającą konsensus w celu zamiany rejestru, tak ci sami developerzy nie mogą osiągnąć konsensusu pomiędzy sobą w celu określenia planów na swój program. Ale konsensusu mogą nie osiągnąć także kopacze, którzy patrzą na zysk – dana droga rozwoju, mniejszy zysk dla nas. My tak nie chcemy. To wszystko może prowadzić do rozdzielenia się projektu, czyli tak zwanego Forka. Inaczej mówiąc, do zmiany protokołu.

Bitcoin składa się z dwóch części. Z Bitcoin Protocol – reguły gry oraz z Blockchainu – miejsce gry. Jeżeli developerzy stwierdzą, że chcą się oddzielić to zaczynają od zmiany Bitcoin Protocol. Jeżeli stwierdzą do kopacze, mogą to zrobić ponieważ kod źródłowy Bitcoina jest open-source. Po wprowadzeniu swoich zmian do Bitcoin Protocol, trzeba ustalić kiedy dokładnie Fork wejdzie w życie. Określa się to poprzez wskaznie dokładnego nr. bloku przy powstaniu którego, zostanie wprowadzony nowy protokół.

W momencie, w którym Blok nr 60000 zostaje stworzony, powstaje rozgałęzienie. Wszystkie transakcje opisane na starym Blockchainie zostają skopiowane do nowego Blockchainu. Dlatego właśnie dostajecie tzw. dywidendę w postaci nowych monet w stosunku 1:1.

Rodzaje

W przypadku, w którym następuje rozgałęzienie i powstaje brak kompatybilności nowej wersji np. Bitcoina ze starą(oryginalną) – mówimy o HARD FORKU – przykład Bitcoin Cash.

Kiedy dochodzi do sytuacji, w której następuje rozgałęzienie ale nowa wersja Bitcoina jest kompatybilna z wersją oryginalną – mówimy o SOFT FORKU – przykład P2SH (zmiana formatowania adresu Bitcoina).

Najbliższy Hard Fork – Segwit2x – przewidywany na blok nr 501451 ~ 28.12.2017 r.

IamHellToday

 

Omówienie

Segwit2x jest efektem wytężonych prac społeczności Bitcoin nad usprawnieniem Blockchainu. Pogadajmy jednak najpierw o problemach, które spowodowały to, że Segwit2x ujrzy światło dzienne.

Wszyscy wiemy, że Bitcoin nie jest najszybszym narzędziem do przekazywania pieniędzy. W tym momencie na potwierdzenia sieci oczekuje 200 tyś transakcji, z lekkim trendem do zwiększania się tej liczby. Dzieje się to przez założenie twórców Bitcoina, aby jeden block Bitcoina nie przekraczał wartości 1mb. Pozwala to na uniknięcie ataków, które mogłyby być wywoływane z powodu odrzucenia bloku. Działoby się to w momencie, kiedy block jest większy od 1mb. Takie ograniczenie spowodowało wydłużony czas transakcji wraz z popytem na nie, oraz zapchaniem sieci i wiszącymi 200 tysiącami potwierdzeń. To wszystko przyczyniło się do zwyżki opłat za transakcję oraz niezadowolenia społeczności. Deweloperzy Bitcoin musieli rozwiązać ten problem oraz rozprawić się także z czymś co nazywa się ‘malleability bug’.

Ten bug występuje wtedy, kiedy ID danej transakcji ulega mutacji, zmienia swój oryginalny kształt oraz ciąg znaków na skutek problemów z portfelem lub celowego ataku. Efektem wystąpienia malleability bug’a jest następna warstwa problemów zapychających sieć. Jeśli skala występowania tego buga przybierze charakter globalny, będziemy świadkami ataku DDoS na sieć Bitcoin i masowym odrzucaniem transakcji. Jednym słowem, paraliż. Póki co Developerzy Bitcoin jakoś sobie radzili z tym problemem, ale brakuje im rozwiązań.

Tutaj przychodzi na pomoc społeczność ze swoim rozwiązaniem – Segwit2x. Twórcy określają segwit2x jako hard fork. Chcą poprzez wgranie stworzonego oprogramowania usunąć dane dotyczące podpisów z transakcji przeprowadzanych w sieci Bitcoin.

I tutaj zaczyna się drama..

Jest tylu samo zwolenników jaki przeciwników takiego rozwiązania. W opozycji stoją wielkie mining poole np. Bitmain, ponieważ zmieniany jest algorytm kopania i ich zyski w postaci wydobywanych Bitcoinów zmaleją w związku z ilością wykorzystywanej energii, która musi zostać zwiększona. Dodatkowo negatywnie odnośnie hard forka wypowiedział się Coinbase. Jednakże, czytanie o kłótniach pozostawiam waszej lekturze.

Przejdźmy do konkretów, abyśmy wiedzieli co ulega zmianie.

Data

Fork z Blockchainu Bitcoina mieć miejsce będzie podczas stworzenia bloku o numerze 501451, który przewidywany jest na około 28.12.2017 roku.

Jednakże, zalecam ostrożność i monitorowanie sytuacji, ponieważ przewidywania co do forka Super Bitcoina się nie sprawdziły i nastąpił on szybciej niż planowano.

Zmiany

Co nowego wprowadza Segwit2x?

  • Zmiana algorytmu kopania z SHA-256 na X11
  • Zwiększenie wielkości bloku z 1mb do 4mb
  • Zmiana prędkości tworzenia bloków z 10min do 2,5minut
  • Wprowadzenie unikalnego adresu transakcji

Czy to dobrze? Ciężko ocenić. Trzeba sprawdzić, jak ich system będzie działać w praktyce i czy osiągnie zamierzone cele.

Twórcy Segwit2x obiecują, że każda osoba która trzyma Bitcoina zostanie wynagrodzona w postaci odpowiadającej mu ilości B2X bo tak się nazywać będzie moneta, ale także dodatkową liczbę Bitcoinów.

Chwytliwe?

Trochę tak. Jest sporo spekulacji odnośnie tego zabiegu.

Giełdy?

Wymieniane jest między innymi HitBTC.

IamHellToday