Monthly Archives April 2018

Blockchain Q&A#2 – Jaką technologią jest blockchain?

[Kto pyta nie błądzi]

Wiele popularnych tekstów o blockchain traktuje go jak technologię (zamiennie, system), w domyśle, gotowy do wdrożenia, o pewnych stałych cechach. Konsekwentnie, wielu zainteresowanych tematem jest przekonanych, że za takiego blockchaina, za jego utrzymanie i rozwój odpowiada jakaś jedna organizacja, ewentualnie firma. Czy tak jest naprawdę?

[Czym w sumie jest blockchain]

W sumie, aby odpowiedzieć na powyżej sformułowane pytanie należałoby zacząć od tego co jest istotą pierwszego blockchain, zaimplementowanego w ramach Bitcoin. W końcu, od tego się zaczęło.

W tym miejscu sprawa jest prosta. Istotą pierwszego blockchain jest oczywiście decentralizacja rejestru danych oraz dekoncentracja władzy nad siecią wymiany informacji. Temu właśnie służy koncepcja rozproszonego rejestru transakcji (Distributed Ledger), dzięki której rejestr ten jest dość odporny na zniszczenie i zmianę danych w nim zawartych (o tym jak to jest osiągane – w innym wpisie). Dodatkowo, to rozproszenie niesie za sobą określone konsekwencje w zakresie zarządzania siecią i jej nadzorowania.

Zmiana w zakresie zarządzania / funkcjonowania wyraża się to w likwidacji instytucji centralnej sieci w dotychczasowym rozumieniu. W świecie przed blockchain przyjęło się, że tzw. instytucje takiego czy innego zaufania, zazwyczaj za wynagrodzeniem, zajmują się utrzymywaniem scentralizowanego rejestru transakcji i mają monopol na mówienie „swojej” sieci co jest prawdą (czyli co ma być w rejestrze danych zapisane) oraz monopol na wprowadzanie tych zmian. Przy okazji dbają o bezpieczeństwo takiej sieci oraz dokonują autentykacji i autoryzacji stron transakcji.

Przy czym, Twórcom pierwszego blockchain nie zależało na likwidacji tych „prerogatyw” centralnej instytucji (serwera). Zależało im raczej na ich odpodmiotowieniu, tj. przeniesieniu na barki zdecentralizowanego i „random’owego” mechanizmu kryptograficznego oraz na ułożeniu na nowo podziału ról pomiędzy użytkownikami sieci. Oczywiście, przy okazji wykształciły się nowe ośrodki władzy w, tym razem, zdecentralizowanej sieci – górnicy i deweloperzy. Ale to także materiał na oddzielną opowieść.

W ten sposób powstało coś co obecnie nazywamy instynktownie blockchain’em. Niemniej, wracając do tytułowego pytania – nie ma, jak się okazuje, czegoś takiego jak jeden system / technologia blockchain. Wynika to z samej istoty tego arcyciekawego konstruktu, który jest zbiorem znanych pomysłów, mechanizmów i schematów po raz pierwszy w tak ciekawy sposób łącznie zastosowanych przez osobę lub osoby ukrywające się pod pseudonimem Satoshi Nakamoto. Blockchaina w wydaniu domniemanego Japończyka można sobie zatem wyobrazić jako ideę wyjściową, na którą składają się trzy warstwy (czyli blockchain jest jak Shrek, który z kolei był jak cebula ale wołał być jak tort):

1.     {Warstwa postulatywna vel architektoniczna} – cele, parametry i cechy podstawowe danego pomysłu na sieć opartą blockchain (tutaj do wyboru: stopień decentralizacji, rozproszony rejestr, komunikacja peer-to-peer, zastosowana kryptografia, zasady konsensusu, stopień odejścia od idei centralnego serwera),

2.     {Warstwa technologiczna} – Konkretna implementacja obejmująca wybrany zestaw celów i cech danego blockchaina zamkniętych w konkretnej technologii możliwej do implementacji w warunkach produkcyjnych ,

3.     {Warstwa wdrożeniowa} – Praktyczna, wdrożona i uruchomiona instancja danej implementacji blockchaina.

[Diabeł tkwi w szczegółach]

W tym miejscu należałoby nałożyć powyższy obraz teoretyczny na krajobraz blockchainowy jaki mamy na realnym rynku.

I tak, w Warstwie postulatywnej jest tak naprawdę zestaw cech i celów, które dany blockchain może w różnym stopniu adresować. Są to przede wszystkim wspomniane i wieczne:

  • Decentralizacja,
  • Działanie w sieci peer-to-peer,
  • Zdecentralizowany rejestr
  • Odporność na utratę i zmianę danych w rejestrze czyli zastosowana kryptografia.

Wybór wszystkich lub niektórych z powyższych (albo w ograniczonym zakresie) powoduje, że na etapach implementacji czy instancji, będziemy mieli do czynienia tak naprawdę z bardzo różnymi postaciami blockchain. A zatem, w Warstwie postulatywnej tak naprawdę dokonujemy wyborów analitycznych co do architektury przyszłego blockchain.

Mając za sobą fazę kluczowych decyzji, można płynnie przejść do fazy implementacji blockchaina (Warstwa technologiczna). Tutaj z kolei czeka nas świadomy wybór już czysto, jak sama nazwa wskazuje, technologiczny. W zależności bowiem od tego co wybierzemy sobie z Warstwy postulatywnej, ukierunkowuje nas to na wybór blokchain np. w wydaniu podobnym do BitcoinEthereum (różnice między tymi dwoma są momentami fundamentalne) czy też implementacji blockchaina prywatnego (permissioned), pozbawionego takiej cechy jak decentralizacja funkcji centralnej (brzmi jak masło maślane ale jednak).

W tym momencie (i trochę na marginesie) warto powiedzieć pokrótce czym się różni blockchchain publiczny (np. Bitcoin) od implementacji blockchaina prywatnego (permissioned).

Otóż, wracając do możliwych architektur sieci, mogą być one klasyfikowane ze względu na zadania centralnego węzła. I tak:

  • Sieci scentralizowane zawierają ściśle określone centrum, które odpowiada zarówno za przechowywanie danych, jak i wprowadzenie modyfikacji do bazy danych (większość obecnie znanych sieci),
  • Sieci o charakterze hybrydowym, w których przechowywanie danych jest zdecentralizowane (w trybie do odczytu kopie bazy danych synchronizują wszystkie węzły w sieci ale prawa modyfikacji ma tylko centralny węzeł). Tutaj przykładem mogą być niektóre sieci blockchain typu permissioned,
  • Wreszcie, sieci, w których dokonano decentralizacji pełnej, zarówno funkcji utrzymywania bazy danych, jak i jej modyfikacji (Bitcoin).

W sposób oczywisty, sieć nr 3 jest najmniej podatna na włamanie zewnętrzne czy nadużycia wewnętrzne. Jednocześnie jednak, stworzenie w niej mechanizmu programistycznego (kryptograficznego), który napędza i zarządza procesem zdecentralizowanego dodawania transakcji do rejestru (konsensus, w przypadku Bitcoin, jest to proof of work) jest właśnie emanacją funkcji centralnego węzła w sieci. Idąc dalej, mechanizm ten ma swoją wymierną cenę w postaci koniecznej do zaangażowania mocy obliczeniowej i, co za tym idzie, energii, potrzebnej do działania danej sieci. Dlatego mówi się, że blockchain w wydaniu publicznym bywa bardzo nieekologiczny i… relatywnie wolny. Jest to jednak cena za decentralizację systemu, decentralizację i podział władzy w niej oraz wysoki poziom bezpieczeństwa i pewności. Coś za coś… Choć oczywiście są inne mechanizmy (proof of stake) oraz eksperymenty, który klasyczne zdecentralizowane implementacje blockchain uczynią wydajnymi na poziomie systemów scentralizowanych bez utraty wcześniej wymienionych jego przymiotów. W tym obszarze blockchain jest w efekcie obszarem rozwojowym i na efekty tego rozwoju należy z dużymi nadziejami nadziejami oczekiwać. Połączenie zalet sieci rozproszonych i scentralizowanych – to byłaby prawdziwa rewolucja.

Przechodząc z wreszcie do Warstwy wdrożeniowej warto powiedzieć, że dana implementacja blockchain może posiadać wiele praktycznie wdrożonych instancji. I tak, np. Ethereum ma kilka instancji, które różni np. to, że niektóre z nich mają funkcje testowe, inne produkcyjne (instancje są ważne z perspektywy smart contracts) . Wreszcie, właściwie każdy chętny ma możliwość w danej implementacji blokchaina stworzyć swoje prywatne instancje (sieci) blockchain. Choćby dla celów edukacyjnych. Albo po to, aby stworzyć własną kryptowalutę/tokeny, które, być może, podbiją świat.

Od strony bardziej technicznej, każdą z instancji implementacji blockchain’a wyróżnia zestaw unikalnych cech. Są nimi przede wszystkim identyfikator danej sieci (instancji) oraz tzw. genesis block (blok początkowy).To także zagadnienia warte oddzielnego omówienia.

[Finis coronat opus]

Czas na końcowe podsumowanie. A zatem, czy i jaką technologią jest blockchain? Moim zdaniem blockchain w najbardziej ogólnym sensie, to pewna pojemna idea, która mieści w sobie kwestię decentralizacji sieci i rozproszonego rejestru danych, które to decentralizacje są możliwe dzięki, m. in. kryptografii.

Blokchain staje się technologią kiedy zaczynamy mówić o nim mniej ogólnie i pojawiają się takie słowa jak blockchain publiczny, prywatny czy też nazwy takie jak Ethereum.

Z wdrożoną zaś technologią mamy do czynienia na poziomie instancji, czyli praktycznej implementacji dokonanej do określonych celów.

Read More

Blockchain Q&A

Achieving systematic and sensible knowledge of blockchain phenomenon isn’t simple, especially when we start and we don’t have an ambition to read numerous white papers in this field. At this stage of development of the concept (for some reasons I would avoid the word „technology” which I try to explain later) an appropriate quantity of regular courses, certification and training is still lacking on the market. Actually, the things that we have, and a person who is hungry for new knowledge will find here, are two extremes. Already mentioned, sometimes strongly hermetic white papers, written by development and general and full of clichés and simplifications information. An ambitious and novice blockchain bread eater doesn’t have an easy task in such information society. Initially, at least.

Guided by the above remark and my own experience I considered that already gained knowledge is worth sharing (at last the more enthusiasts and adopters will be, the better). Regular writing Q&A about blockchain and issues associated with it is the idea. At the same time, I would like to fill in the gap between hermetic and development and newspaper, circular and popular knowledge. In other words, passed knowledge within the present inaugurated Q&A is supposed to present the old and good approach of happy medium.

The objective of the regularly updated cycle is another challenge. Not only does it result from the limitations of human nature, which might be lazy but also from the fact that the world of blockchain is constantly changing (it is estimated that thousands of white papers on this topic appear on the net per month). Finally, last but not least, formulating questions itself, so that answers to them contribute anything to knowledge of the potentially interested, is also a challenge.

Speaking of relevant and sensible questions, this raises the issue, which question/problem of Q&A cycle we should start from. Initially, the question „what blockchain actually is” seemed to be obvious to me. However, thinking of it for the second, third and another time, I reminded, that blockchain didn’t come into being autonomously as a goal itself. It was a resultant of entirely separate project. This in turn takes us to 2008 and leads once again to ask a cliched question about the relationship between blockchain and Bitcoin. And by the way it will work out, I hope, to answer the question what blockchain is to a certain extent. Therefore, the first question, in a separate entry, will be about the relation between two big „b” phenomena of contemporary internet. The answer will be neither short nor one of those, which can be quickly found in easily available sources of information.

Finally, attention, an organizational comment. While writing about blockchain, willy-nilly quite a lot specialized terminology must be used. In Q&A cycle, there is no place and point explaining it in an extended way, at the moment of the first appearance. A plenty of them will deserve to have a separate entry. Such key concepts are intended for a discussion in future entries they will be appropriately marked and we will go back to them later.

*****

Zdobycie systematycznej i sensownej wiedzy o fenomenie blockchain, zwłaszcza gdy zaczynamy i nie mamy, jeszcze, ambicji czytania licznych white papers z tej dziedziny, nie jest proste. Na tym etapie rozwoju tego konceptu (z pewnych względów unikałbym słowa “technologia” czego powody za jakiś czas postaram się wyjaśnić) brakuje jeszcze na rynku odpowiedniej ilości regularnych kursów, certyfikacji czy szkoleń. To co mamy to właściwie osoba głodna nowej wiedzy znajdzie to dwie skrajności. Wspomniane już, czasem mocno hermetyczne white papers, pisane przez deweloperów oraz informacje obiegowe, ogólne, pełne klisz i uproszczeń. Ambitny aczkolwiek początkujący zjadacz blockchainowego chleba nie ma w takim środowisku informacyjnym łatwego zadania. Przynajmniej na początku.

Kierując się powyższym spostrzeżeniem i własnymi doświadczeniami uznałem, że wiedzą już zdobytą warto się podzielić (w końcu im więcej entuzjastów i adopterów, tym lepiej). Pomysłem na to jest regularne pisanie Q&A na temat blockchaina i kwestii z nim związanych. Jednocześnie działaniem tym chciałbym wypełnić lukę między wiedzą hermetyczną i deweloperską oraz gazetową, obiegową i popularną. Innymi słowy, wiedza przekazywana w ramach niniejszym inaugurowanego Q&A ma prezentować podejście starego i dobrego złotego środka.

Kolejnym wyzwaniem jest przy tym zamierzenie, aby cykl ten był regularnie aktualizowany. Wyzwanie wynika nie tylko z ograniczeń natury ludzkiej, która bywa leniwa, ale także z faktu, że świat blockchain stale się zmienia (szacuje się, że miesięcznie pojawia się w sieci tysiące white papers na ten temat). Wreszcie, last but not least, wyzwaniem jest samo formułowanie pytań tak, aby odpowiedzi na nie cokolwiek wnosiły do wiedzy potencjalnie zainteresowanych. Dlatego, mam nadzieję, że nie będzie zbytnią śmiałością, aby prosić ewentualnych czytelników o pomysły jakie obszary funkcjonowania blockchain mogłyby stać się częścią niniejszego Q&A.

Skoro mowa o trafnych i sensownych pytaniach, powstaje jeszcze kwestia od jakiego pytania / problemu cykl Q&A zacząć. Początkowo oczywiste wydawało mi się pytanie „czym właściwie jest blockchain”. Niemniej, myśląc o tym po raz drugi, trzeci i kolejny, przypomniałem sobie , że blockchain nie powstał autonomicznie jako cel sam w sobie. Był wypadkową zupełnie innego przedsięwzięcia. To z kolei przenosi nas w 2008 r. i każe po raz kolejny zadać wyświechtane pytanie o relację blockchain i Bitcoin. A przy okazji uda się mam nadzieję odpowiedzieć do pewnego stopnia na pytanie czym jest sam blockchain. A zatem, pierwszym pytaniem, w oddzielnym od tego wpisie, będzie to o relację dwóch wielkich “b” zjawisk współczesnego internetu. Odpowiedź nie będzie krótka ani nie będzie jedną z tych, które można szybko znaleźć w łatwo dostępnych źródłach informacji.

Na koniec uwaga uwaga organizacyjna. Pisząc o blockchain chcąc nie chcąc trzeba używać sporo specjalistycznych terminów. W cyklu będącym Q&A nie będzie jednak sensu i miejsca aby je wyjaśniać w rozbudowany sposób od razu, w momencie pierwszego pojawienia się . Wiele z nich bowiem będzie zasługiwać na odrębny wpis. Takie kluczowe pojęcia przeznaczone do omówienia w przyszłych wpisach będą więc stosownie zaznaczane i będziemy do nich szczegółowo wracać później.

Read More