Blockchain dla Nie-TechnikówNew Economy

Planowanie Blockchain



Podstawowe pojęcia zarządzania własnością za pomocą blockchaina

Poprzednie kroki ujawniły związek między zaufaniem, uczciwością, czysto rozproszonymi systemami peer-to-peer i łańcuchem bloków. W rezultacie dobrze rozumiesz, czym jest blockchain, dlaczego jest potrzebny i jaki problem rozwiązuje. Jednak nadal nie wiesz, jak działa blockchain. Ten krok daje pierwsze wrażenie na temat działania blockchaina, wyjaśniając ogólny scenariusz aplikacji, który poprowadzi cię przez kolejne etapy. Podkreśla także główne zadania związane z projektowaniem blockchaina do zarządzania własnością i zawiera przegląd jego głównych koncepcji. Ten krok służy jako punkt wyjścia do kolejnych kroków, które szczegółowo omówią koncepcje i technologie, które składają się na blockchain.

Cel

Celem jest zrozumienie pojęć składających się na blockchain. Ze względów dydaktycznych przedstawię wyzwanie związane z zaprojektowaniem własnego systemu zarządzania własnością. W związku z tym staniesz przed tymi samymi wyzwaniami, przed którymi kiedyś stanął twórca blockchain, i którym udało się skutecznie rozwiązać: zaprojektować oprogramowanie, które zarządza własnością w czysto rozproszonym systemie ksiąg rachunkowych peer-to-peer, który działa w całkowicie otwartym i niewiarygodnym środowisku.

Punkt początkowy

Na początek najważniejsze fakty dotyczące rozważanego systemu można podsumować następująco:

•  System będzie czysto rozproszonym systemem peer-to-peer, jeśli składa się z zasobów obliczeniowych wniesionych przez jego użytkowników.
•  System peer-to-peer wykorzystuje Internet jako sieć do łączenia poszczególnych węzłów.
•  Nie znana jest ani liczba węzłów, ani ich wiarygodność i niezawodność.
•  Celem systemu peer-to-peer jest zarządzanie własnością towaru cyfrowego (np. punkty premiowe ze sprzedaży lub pieniądze cyfrowe).

Ścieżka do naśladowania

Istnieje siedem głównych zadań, które należy wykonać przy projektowaniu i rozwijaniu systemu oprogramowania zarządzającego własnością za pomocą czysto rozproszonego systemu ksiąg równorzędnych w otwartym i niewiarygodnym środowisku:

•  Opis własności
•  Ochrona własności
•  Przechowywanie danych transakcji
• Przygotowywanie ksiąg do dystrybucji w niewiarygodnym środowisku
•  Dystrybucja ksiąg rachunkowych
•  Dodanie nowej transakcji do ksiąg rachunkowych
•  Podejmowanie decyzji, które księgi reprezentują prawdę

Zadanie 1: Opisanie własności

Zanim zaczniesz rozwijać blockchain, musisz zadać sobie pytanie, co chcesz z nim zrobić. Ponieważ będziesz chciał zaprojektować system oprogramowania zarządzający własnością, musisz najpierw zdecydować, jak opisać własność. Okazuje się, że transakcje są dobrym sposobem na opisanie każdego przeniesienia własności, a pełna historia transakcji jest kluczem do zidentyfikowania obecnych właścicieli. Dlatego później wyjaśnimy transakcje, czym są, w jaki sposób można je opisać i jak wykorzystać je do wyjaśnienia własności.

Zadanie 2: Ochrona własności

Opis własności za pomocą transakcji to tylko punkt wyjścia. Ponadto potrzebujesz sposobu, aby uniemożliwić ludziom dostęp do własności innych osób. W prawdziwym życiu możesz łatwo uniemożliwić ludziom korzystanie z samochodu lub wchodzenie do domu za pomocą drzwi z zamkami. Okazuje się, że kryptografia zapewnia sposób ochrony transakcji na poziomie indywidualnym, podobnie jak drzwi z zamkami chronią Twój samochód lub dom. Ochrona własności ma trzy główne elementy: identyfikację i uwierzytelnianie właścicieli, a także ograniczenie dostępu do nieruchomości dla jej właścicieli. Później wyjaśnimy te pojęcia bardziej szczegółowo. Jednak opierają się one na koncepcji wartości skrótu. Jeśli nigdy wcześniej nie słyszałeś o wartościach skrótu, nie musisz się martwić. Szczegółowo wyjaśnienimy wartości skrótu wkrótce. Te dwa kroki zapewnią również ciekawe spostrzeżenia dla tych, którzy mają już zaplecze techniczne lub znają wartości skrótu.

Zadanie 3: Przechowywanie danych transakcji

Opisanie własności za pomocą transakcji i posiadanie środków bezpieczeństwa, które chronią własność na poziomie poszczególnych transakcji, są ważnymi krokami w kierunku zaprojektowania systemu oprogramowania zarządzającego własnością. Jednak potrzebujesz sposobu na przechowywanie całej historii transakcji, ponieważ ta historia służy do wyjaśnienia własności. Ponieważ historia transakcji jest kluczowym elementem w wyjaśnianiu własności, musi być przechowywana w bezpieczny sposób. Okazuje się, że struktura danych blockchain jest cyfrowym odpowiednikiem księgi. Wyjaśnimy wymóg, jaki musi spełniać struktura danych blockchain, aby mogła służyć jako księga cyfrowa, i sposób jej realizacji.

Zadanie 4: Przygotowanie ksiąg rachunkowych do dystrybucji w niewiarygodnym środowisku

Posiadanie jednej izolowanej struktury danych księgowych lub blockchain, która zawiera dane transakcyjne, jest świetne, ale Twoim celem jest zaprojektowanie rozproszonego systemu ksiąg rachunkowych peer-to-peer, który działa w niewiarygodnym środowisku. W związku z tym będziesz mieć kopie księgi działającej na niewiarygodnych węzłach w niewiarygodnej sieci. Ponadto przekażesz kontrolę ksiąg rachunkowych całej sieci bez żadnego centralnego punktu kontroli lub koordynacji. Jak można zapobiec fałszowaniu lub manipulowaniu księgami (np. poprzez usuwanie transakcji z historii lub dodawanie do niej nielegalnych transakcji)? Okazuje się, że najlepszym sposobem, aby zapobiec zmianie historii transakcji, jest uczynienie jej niezmiennym. Oznacza to, że księgi, a zatem historii transakcji nie można zmienić po napisaniu. W rezultacie nie będziesz musiał obawiać się, że księgi zostaną zmienione lub sfałszowane, ponieważ nie można ich zmienić w pierwszej kolejności. Jednak posiadanie rozproszonego systemu ksiąg rachunkowych peer-to-peer, którego nigdy nie można zmienić, brzmi jak bardzo bezpieczna, ale dość bezużyteczna rzecz, ponieważ nie pozwoli ci dodawać nowych transakcji. Dlatego wyzwaniem dla struktury danych blockchain jest z jednej strony niezmienność, z drugiej zaś akceptacja dodawania do niej nowych transakcji. Brzmi to jak sprzeczność, ale okazuje się, że można to osiągnąć za pomocą sztuczki technicznej wyjaśnionej w kroku 16. Rezultatem jest struktura danych blockchain, która jest dostępna tylko jako append: możliwe jest dodawanie nowych transakcji, ale zmiana danych dodanych w przeszłości jest prawie niemożliwa.

Zadanie 5: Dystrybucja ksiąg rachunkowych

Gdy tylko księga jest dołączana, możesz utworzyć rozproszony system ksiąg peer-to-peer, udostępniając jej kopie wszystkim, którzy o to poproszą. Jednak samo dostarczenie kopii ksiąg tylko dołączających nie spełnia twoich celów. Rozproszony system zarządzający własnością obejmuje interakcje odpowiednio między równorzędnymi urządzeniami lub węzłami. Dlatego w kroku 17 wyjaśniono, w jaki sposób węzły w systemie oddziałują na siebie i jakie informacje są między nimi wymieniane.

Zadanie 6: Dodawanie nowych transakcji do ksiąg rachunkowych

Rozproszony system peer-to-peer będzie składał się z członków, których komputery przechowują indywidualne kopie struktury danych blockchain tylko z dołączaniem. Ponieważ struktura danych pozwala dodawać nowe dane transakcji, musisz upewnić się, że dodawane są tylko prawidłowe i autoryzowane transakcje. Okazuje się, że jest to możliwe, umożliwiając wszystkim członkom systemu peer-to-peer dodawanie nowych danych i dodatkowo przekształcając każdego członka systemu peer-to-peer w nadzorców swoich peerów . W rezultacie wszyscy członkowie będą się wzajemnie nadzorować i wskazywać na błędy popełniane przez swoich peerów.

Zadanie 7: Zdecydowanie, które księgi reprezentują prawdę

Po dodaniu nowych transakcji do poszczególnych ksiąg w systemie peer-to-peer pojawia się problem typowy dla każdego rozproszonego systemu peer-to-peer: różni peerowie mogli otrzymać różne transakcje i wkrótce historie transakcji utrzymywane przez nich różnią się. Dlatego w systemie peer-to-peer mogą istnieć różne wersje historii transakcji. Ponieważ historia transakcji jest podstawą do identyfikacji legalnych właścicieli, posiadanie różnych sprzecznych historii transakcji stanowi poważne zagrożenie dla integralności systemu. Dlatego ważne jest, aby znaleźć sposób na zapobieganie pojawianiu się różnych historii transakcji w pierwszej kolejności lub na sposób decydowania, która historia transakcji reprezentuje prawdę. Ze względu na charakter czysto rozproszonego systemu peer-to-peer poprzednie podejście nie jest możliwe. W rezultacie potrzebujesz kryterium, aby znaleźć i wybrać jedną historię transakcji, która reprezentuje prawdę. Istnieje jednak inny problem: w czysto rozproszonym systemie peer-to-peer nie ma centralnego organu, który mógłby zadeklarować, którą historię transakcji należy wybrać. Okazuje się, że można rozwiązać ten problem, każąc każdemu węzłu w systemie peer-to-peer samodzielnie decydować, która historia transakcji reprezentuje prawdę, w taki sposób, że większość peerów niezależnie zgadza się z tą decyzją. Okazuje się również, że sposób, w jaki blockchain pozwala dodawać nowe transakcje do struktury danych blockchain tylko z dołączaniem, zawiera już rozwiązanie tego problemu. Krok 19 wyjaśnia szczegółowo te kryteria i sposób ich wykorzystania.

Perspektywy

W tym kroku zidentyfikowano siedem zadań, które stanowią trudną intelektualną podróż przez koncepcje składające się na blockchain. Po wypełnieniu tych zadań dotrzesz na szczyt: zrozumienie łańcucha bloków.

PODSUMOWANIE

•  Aby zaprojektować czysto rozproszony system ksiąg peer-to-peer do zarządzania własnością, należy wykonać następujące zadania:

-Opisywanie własności
-Ochrona własności przed nieautoryzowanym dostępem
-Storing danych transakcji
-Przygotowanie ksiąg, które mają być dystrybuowane w niewiarygodnym środowisku
-Formowanie systemu rozproszonych ksiąg rachunkowych
-Dodanie i weryfikacja nowych transakcji do ksiąg rachunkowych
-Decydowanie, które księgi reprezentują prawdę