Autor: Ivan Campos | Tłumaczenie: Şelale Malkoçoğlu | Medium
Wersja skrócona
Wyobraź sobie, że chcesz przekazać przyjacielowi pieniądze online (drogą elektroniczną), ale tak jak byś mógł zrobić to osobiście. Zamiast dawać mu pieniądze przez jakiś bank lub sklep, możesz wysłać mu je bezpośrednio przez Internet. To właśnie nazywamy „elektroniczną gotówką”. Znaleźliśmy sposób, aby nikt nie został oszukany i nie wydał dwa razy tych samych pieniędzy; sposób, w którym zostaje użyta tak zwana sieć „peer-to-peer” (sieć typu „każdy z każdym”). Odnosi się ona do grupy komputerów, które komunikują się ze sobą i śledzą wszystkie przelewy pieniężne. Sieć ta dba o to, aby pieniądze trafiły do właściwej osoby i aby nikt nie dostał ich dwa razy. Im więcej komputerów pracuje razem, tym bezpieczniej dla wszystkich. To jak duży współpracujący ze sobą zespół, który upewnia się, że wszystko odbywa się uczciwe i sprawiedliwe.
Wstęp
Kiedy kupujemy rzeczy przez Internet, czasami musimy zaangażować pośredników, takich jak bank lub inne instytucję, czy firmy, aby pomogli nam dokonać płatności. Ale czasami tacy pośrednicy mogą popełniać błędy lub powodować problemy. Chcemy opracować nowy sposób płacenia online bez pomocy osób trzecich; bez pośredników, czy to firm, czy instytucji. Niczym tajny kod, który znają tylko kupujący i sprzedający, którego nie można ani zmienić, ani wycofać, czy skasować. W ten sposób sprzedający nie musi się obawiać, że zostanie oszukany, a kupujący bez problemu może zapłacić nawet za drobne rzeczy. To jak magiczne pieniądze, które trafiają prosto do właściwej osoby i nie można ich cofnąć. Aby upewnić się, że wszystko jest bezpieczne i uczciwe, używamy właśnie grupy komputerów.
Transakcje
Wyobraź sobie, że masz specjalną monetę, za pomocą której możesz robić zakupy online, przez Internet. Możesz dać ją swojemu przyjacielowi, a on kolejno może przekazać ją swojemu przyjacielowi, i tak dalej i tak dalej. Za każdym razem, gdy ktoś przekazuje monetę komuś innemu, kolejnej osobie, pisze na niej swoje imię, tak jakby się na niej podpisał. Osoba otrzymująca taką monetę może zweryfikować wszystkie zebrane podpisy, aby upewnić się, że jest to moneta prawdziwa. Problem jednak może polegać na tym, że niektórzy ludzie oszukują i używają tej samej monety dwa razy. Aby temu zapobiec, niektórzy używają specjalnego pomocnika, np. banku, który zapewnia, że moneta nie zostanie użyta dwukrotnie. Ale taki pomocnik może popełniać błędy lub powodować problemy. Chcemy zatem znaleźć nowy sposób używania monety, który nie wymaga żadnych pomocników. Chcemy mieć pewność, że ktokolwiek użyje monety, powie o tym wszystkim innym, aby nikt nie mógł nikogo oszukać, czy sam zostać oszukanym. Chcemy również mieć pewność, że kiedy większość ludzi użyje monety, zgodzi się, że jest to ich pierwszy raz. W ten sposób moneta jest bezpieczna i porządna (czysta i sprawiedliwa) dla wszystkich.
Serwer znaku czasowego
(znak czasowy, to takie oznaczenie czasu, trochę jak niezmywalna pieczątka, która dokładnie określa konkretny moment – czyli czas)
Mamy pomysł, aby nasza specjalna moneta nie została użyta dwukrotnie. Zamierzamy użyć czegoś, co nazywa się „serwerem znaku czasowego”. Jest to rodzaj pomocnika, który umieszcza specjalny znak (znacznik, oznaczenie) na monecie za każdym razem, gdy zostaje ona użyta. Niczym wielka księga, w której zapisane są wszystkie zakłady z użyciem danej monety oraz kolejność zrobienia tych zakładów.
W ten sposób każdy może zobaczyć, kiedy dokładnie moneta została już użyta i czy ktoś na przykład nie próbuje oszukiwać. I za każdym razem, gdy moneta jest używana, serwer znaku czasowego (czyli po angielsku właśnie timestamp) przypisuje nowy znak monecie i dodaje go w księdze. Niczym łańcuszek znaków. Tak więc każdy znak jest powiązany z poprzednim, wzmacnia go i wzmacnia w ten sposób też całość. W ten sposób nikt nie może zmieniać znaków ani oszukiwać, czyli po prostu robić żadnych niecnych sztuczek z monetą.
Dowód pracy
Aby upewnić się, że system z wykorzystaniem znaczników czasu (znaku czasowego) jest uczciwy i działa dobrze, użyjemy czegoś, co nazywa się „dowodem pracy” (po angielsku: proof-of-work). To trochę jak gra, w której biorą udział wszystkie komputery w grupie, aby upewnić się, że wszystkie one ze sobą współpracują. Gra polega na znalezieniu specjalnej liczby, która daje tajny kod (z języka angielskiego: Hash) zaczynający się od wielu zer.
Im więcej zer, tym trudniejsza gra, a im więcej komputerów, tym jeszcze trudniejsza staje się cała gra. Gdy komputer znajdzie specjalny numer, może umieścić go w bloku i dodać do łańcucha znaków (pamiętacie łańcuszek wspominany powyżej, zapisywany w wielkiej księdze). A kiedy już dany numer znajdzie się w łańcuchu, nikt nie może go zmienić bez ponownego rozegrania całej gry i późniejszego odbudowania wszystkich bloków. W ten sposób największe znaczenie ma (czyli wygrywa) łańcuch z największą liczbą bloków wykonanych z największą ilością włożonej pracy (stąd właśnie ‘dowód pracy’, czyli z angielskiego proof-of-work). A jeśli większość komputerów, która gra w tę grę jest uczciwa, utworzy najdłuższy łańcuch i nikt nie będzie mógł oszukiwać. Aby upewnić się, że gra nie jest ani za łatwa, ani za trudna, w zależności od tego, jak szybko powstają dane bloki, wprowadziliśmy zasadę, która zmienia grę w jej trakcie.
Sieć
Jak działa sieć:
- Jeśli ktoś chce skorzystać ze specjalnej monety, informuje o tym wszystkich członków sieci.
- Wszystkie komputery, które są w danej sieci, zbierają wszystkie nowe zastosowania monety w jednym bloku.
- Każdy komputer gra w grę Proof-of-Work (polegającą na sprawdzeniu wykonanej pracy), aby upewnić się, że blok jest ważny, poprawny.
- Kiedy komputer znajdzie specjalny numer (czyli Hash), ogłasza to wszystkim w sieci i udostępnia nowy blok.
- Wszystkie komputery sprawdzają taki nowy blok, aby upewnić się, że wszystkie użyte (i związane z nim) monety są oryginalne i nie były one wcześniej używane.
Jeśli blok jest w porządku, wszystkie komputery rozpoczynają pracę nad następnym blokiem, używając specjalnego kodu (Hash) z ostatniego bloku. Wszystkie komputery zawsze i jednogłośnie zgadzają się, że najdłuższy łańcuch jest tym właściwym i to do niego właśnie dodają nowe, kolejne bloki.
Jeśli dwa komputery zakończą nowy blok w tym samym czasie i poinformują o tym wszystkich, niektóre komputery z sieci mogą odbierać jeden jako pierwszy, a inne ten drugi. Zatrzymają oba, ale wybiorą ten dłuższy, gdy następny blok zostanie ukończony. Nic się nie stanie, jeśli niektóre komputery nie otrzymają nowego bloku od razu, poproszą o niego później, gdy zdadzą sobie sprawę, że wcześniej go przegapiły.
Zachęta
Za każdym razem, gdy tworzymy nowy blok, umieszczamy w nim specjalną monetę, która należy do osoby, która ten blok utworzyła. To jak nagroda za utworzenie danego bloku, która motywuje ludzi, by ciągle tworzyć więcej bloków i w ten sposób pomagać całej sieci.
I tak powstają i wchodzą do obiegu nowe monety, bo nie ma władcy, który by je emitował (czyli wydawał, produkował). To tak, jakby poszukiwacze złota znajdowali nowe grudki złota. Używają oni jednak zasobów, takich jak energia elektryczna i czas, aby znaleźć nowe monety. Czasami też ludzie, używając monety, dają trochę dodatkowych pieniędzy, w podziękowaniu, jak napiwek w restauracji. Te dodatkowe pieniądze mogą również pomóc w zwiększeniu nagrody za tworzenie bloków. A jeśli w obiegu jest wystarczająco dużo monet, nagrodą mogą być po prostu dodatkowe pieniądze, bez konieczności tworzenia nowych monet. Taka nagroda (nagroda za tworzenie bloków) może też pomóc zachować uczciwość. A jeśli ktoś stałby się zbyt chciwy i chciał zarobić więcej monet lub wycofać swoją zapłatę, musiałby wybrać między zarobieniem większej ilości monet a złamaniem zasad. Lepiej więc trzymać się zasad i zarobić więcej monet, niż stracić wszystko, łamiąc zasady.
Odzyskiwanie miejsca na dysku
Jeśli dana specjalna moneta była często używana i ma już wiele znaków (mówimy o znakach czasowych, temat wspomniany powyżej), nie musimy przechowywać ich wszystkich na zawsze. Część z nich możemy wyrzucić (pozbyć się ich), aby zaoszczędzić miejsce. Wszystkie zaniki umieszczamy wtedy w specjalnym drzewku, zachowując tylko wierzchołek takiego drzewka.
W ten sposób nadal możemy zweryfikować autentyczność każdej monety (sprawdzić, czy jest ona prawdziwa), ale nie musimy zachowywać wszystkich znaków. Stare bloki można pomniejszać, odcinając dolną część drzewka. Nie musimy zachowywać wszystkich środkowych znaków. Blok bez nich ma około 80 znaków. Jeśli będziemy tworzyć nowy blok co 10 minut, to za rok będzie miał on 4,2 MB (cztery przecinek dwa mega bajta) . Nie jest to zbyt dużo, nawet dla komputerów z ograniczoną pamięcią. Nie musimy się zatem martwić, że zabraknie nam miejsca.
Uproszczona weryfikacja płatności
Nie potrzebujesz całego komputera w sieci, aby sprawdzić, czy specjalna moneta jest prawdziwa. Możesz po prostu zachować kopię bloków z najdłuższym rzędem bloków ze specjalnym numerem. Możesz zapytać inne komputery w sieci, czy masz najdłuższy łańcuch. Możesz także zobaczyć znak specjalnej monety na drzewie, w sieci, aby upewnić się, że jest autentyczna. Ale nie możesz sam sprawdzić specjalnej monety. Po prostu wiesz, że sieć ją zaakceptowała, bo jest w najdłuższej linii bloków. To wystarczy, o ile większość komputerów w sieci jest uczciwa, ale jeśli ktoś próbuje oszukać, może oszukać też i ciebie. Jednym ze sposobów ochrony jest słuchanie innych komputerów w sieci i jeśli mówią, że coś jest nie tak, możesz sprawdzić to samodzielnie. Ale jeśli zarabiasz dużo, prawdopodobnie lepiej jest mieć własny komputer w sieci dla dodatkowego bezpieczeństwa i szybszego sprawdzania, weryfikacji.
Łączenie i dzielenie wartości
Czasami chcesz dać lub otrzymać więcej niż jedną specjalną monetę na raz. Trudno byłoby dodać nowy znak dla każdej monety. Więc kiedy dodajesz znak, możesz przypisać mu więcej niż jedną monetę lub możesz uzyskać z niego więcej niż jedną monetę. Zwykle znak będzie miał jedną dużą monetę lub wiele małych monet łącznie, a następnie będzie miał dwa miejsca na monety: jedno dla osoby, której dajesz monety, i jedno na monety, których nie używasz, nie potrzebujesz, a chcesz zachować. I nie stanowi to problemu, jeśli znak jest połączony z wieloma innymi znakami. Nie musisz zatrzymywać wszystkich znaków, tylko te, których potrzebujesz.
Prywatność
Gdy korzystasz z usług banku, przechowuje on Twoje dane w tajemnicy i wiedzą o tym tylko zaangażowane osoby oraz sam bank. Jednakże, w tym systemie (w tym którym piszemy) każdy może zobaczyć, kiedy ktoś daje monety innej osobie. Ale nie wiedzą, kto to jest. To tak, jakbyś widział ludzi kupujących i sprzedających rzeczy na giełdzie; wiesz, co kupowali i sprzedawali, ale nie wiesz, kim są. Aby zachować jeszcze większą prywatność, najlepiej używać nowego zestawu kluczy do każdej specjalnej transakcji z monetą, którą przeprowadzasz. W ten sposób trudniej jest zorientować się, że wszystkie monety należą do tej samej osoby. Ale czasami, gdy używasz wielu monet razem w jednym znaku, może to wskazywać, że należą one do jednej i tej samej osoby. Dlatego ważne jest, aby zachować ostrożność.
Obliczenia
Dobra, wyobraźmy sobie, że jest gdzieś zła osoba, która próbuje oszukać system, zarabiając własne fałszywe pieniądze. Ale nawet jeśli jest on w stanie zarobić swoje fałszywe pieniądze szybciej niż prawdziwe pieniądze, nadal nie może oszukać systemu. Ponieważ inni uczestnicy sieci akceptują tylko prawdziwe pieniądze, a nie fałszywe pieniądze. To jak gra, w której dobrzy ludzie próbują zarobić więcej prawdziwych pieniędzy, niż zła osoba może zarobić na fałszywych pieniądzach.
A im więcej prawdziwych pieniędzy mają dobrzy ludzie, tym trudniej jest złej osobie ich dogonić i oszukać system.
Ok, więc jest coś takiego jak moneta elektroniczna, która jest jak łańcuszek podpisów cyfrowych. Każda osoba będąca właścicielem monety podpisuje ją i przekazuje następnej osobie. Ale czasami ludzie mogą próbować oszukiwać i użyć monety dwukrotnie, co nazywa się podwójnym wydatkiem (po angielsku: double-spending). Aby temu zapobiec, używamy tak zwanego serwera znaku czasowego (z języka angielskiego: a timestamp server). Zapewnia, że moneta została użyta tylko raz, sprawdzając, kiedy została użyta, oraz że nikt inny wcześniej jej nie użył. Używamy również czegoś, co nazywa się dowodem pracy (z angielskiego: proof of work), co przypomina grę, w której musisz rozwiązać zagadkę, aby upewnić się, że moneta jest wykorzystana prawidłowo. W ten sposób możemy mieć pewność, że moneta jest używana uczciwie i nikt nie próbuje oszukiwać. Aby chronić prywatność, dbamy o to, aby nazwiska osób były utrzymywane w tajemnicy i używamy nowego klucza do każdej transakcji.
Podsumowanie
Mamy pomysł jak dokonywać można transakcji online bez konieczności ufania komukolwiek. Używamy czegoś, co nazywa się podpisami cyfrowymi, co pomaga upewnić się, że osoba kupująca lub sprzedająca coś jest prawdziwym właścicielem, że coś naprawdę to posiada. Potrzebujemy jednak również sposobu, aby upewnić się, że ten sam przedmiot nie jest sprzedawany wiele razy, dlatego używamy czegoś, co nazywa się dowodem pracy (proof-of-work). To jak wielka gra, w której wiele komputerów rywalizuje ze sobą o rozwiązanie problemu, a pierwszy, który go rozwiąże, dodaje blok informacji do łańcucha. Ten łańcuszek śledzi i zapisuje wszystkie wykonane transakcje i staje się trudniejszy do zmiany w miarę dodawania coraz większej liczby bloków. Sieć jest jednak prosta i nie wymaga, aby ktokolwiek był odpowiedzialny, czy ją kontrolował.
Dowolny komputer może dołączyć lub opuścić grę i może również głosować, które bloki są ważne, pracując nad nimi. Pomaga to upewnić się, że wszystko jest sprawiedliwe.
Oficjalna Biała Księga Bitcoin, czyli oficjalny dokument dotyczący Bitcoina (z jezyka angielskiego: Bitcoin Whitepaper) znajduje się pod adresem.
Bitcoin: Elektroniczny System Pieniężny Typu Peer-to-Peer
{ https://bitcoin.org/files/bitcoin-paper/bitcoin_pl.pdf }
Bitcoin: A Peer-to-Peer Electronic Cash System
{ https://bitcoin.org/bitcoin.pdf}
Język Polski:
Język Angielski:
Şelale Malkoçoğlu
Born in Poland, raised in a multi-culti family, I quickly developed a passion for travel & respect for others. The digital nomad lifestyle is my natural fit. For years, I'm a happy Bictoiner as well.
follow me :
Related Posts
Lightning Network to Wspólny Język Ekonomii Bitcoina
Oct 25, 2024
Poczuj Hash Power + Kinowe Wibracje: NiceHashX oraz Bitcoin FilmnFest!
Oct 07, 2024
Kryzys wieku średniego Bitcoinera
Jun 21, 2024