Co to jest blockchain? Jak stworzyć sieć, kod i jego architekturę?
Opublikowany: 2020-02-06Podobnie jak sztuczna inteligencja i uczenie maszynowe, Blockchain szybko się rozwija, stając się obecnie główną technologią w branży. Technologia Blockchain nie ogranicza się już do sektora BFSI i ujawnia swoją obecność w innych dziedzinach, w tym w opiece zdrowotnej, zarządzaniu, handlu detalicznym i logistyce, żeby wymienić tylko kilka. Jednak chociaż Blockchain znalazł się w powszechnym słowniku, niewielu jest świadomych architektury Blockchain i tego, jak ona działa.
W tym poście omówimy wszystko, co musisz wiedzieć o architekturze Blockchain i Blockchain. Najpierw zacznijmy od podstaw.
Ucz się programów online z najlepszych uniwersytetów na świecie. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Spis treści
Co to jest Blockchain?
Blockchain to zdecentralizowana i rozproszona księga, która została zaprojektowana już w 1991 roku do przechowywania i rejestrowania transakcji finansowych. Jest jednak w stanie przechowywać wszystko, co ma wartość. Zasadniczo Blockchain to połączona sieć lub sieć komputerów połączonych ze sobą zamiast połączenia z jednym centralnym serwerem. Wszystkie maszyny (lub węzły) w tej sieci mogą definiować i uzgadniać współdzielony stan danych, przy jednoczesnym przestrzeganiu niektórych jednogłośnie uzgodnionych ograniczeń – chociaż system składa się z wielu węzłów, żaden pojedynczy węzeł nie może zmienić danych bez zgody całego sieć.
Ponieważ Blockchain jest siecią rozproszoną, każdy węzeł w sieci utrzymuje, zatwierdza, a także aktualizuje nowe wpisy. Każdy członek weryfikuje krzyżowo zapisy i procedury, dzięki czemu sieć Blockchain jest ważna i bezpieczna. W ten sposób, nawet jeśli członkowie nie ufają sobie nawzajem, mogą ustanowić jedność na wspólnych podstawach.
Jak sama nazwa wskazuje, Blockchain składa się z bloków zawierających określone informacje, które są udostępniane przez wszystkie podłączone maszyny w sieci peer-to-peer (P2P). Bloki te to struktury danych, które łączą zestawy transakcji i dystrybuują je do wszystkich węzłów w sieci P2P. Każdy blok jest zabezpieczony wysoce wyspecjalizowanym kluczem kryptograficznym. Ponadto każdy blok zawiera nagłówek bloku – metadane – które weryfikuje ważność bloku. Metadane bloku składają się z następujących sześciu elementów:

- Wersja — aktualna wersja struktury bloku.
- Hash nagłówka poprzedniego bloku — odwołanie do bloku nadrzędnego tego bloku .
- Merkle root hash – Jest to skrót kryptograficzny wszystkich transakcji zarejestrowanych w bloku.
- Znacznik czasu – Czas utworzenia bloku.
- nBits – Zakodowana forma progu docelowego w nagłówku bloku.
- Nonce (liczba użyta raz) — losowa wartość, którą twórca bloku może dowolnie manipulować i jak chce.
Źródło obrazu
Podczas gdy te sześć elementów tworzy nagłówek bloku, pozostała część bloku zawiera transakcje zawarte przez górnika podczas tworzenia bloku. Użytkownicy w sieci tworzą takie transakcje i przesyłają je do sieci w celu włączenia do bloku. Ponieważ transakcje te nadal rosną, rozmiar Blockchain również się zwiększa.
Zdecentralizowane i rozproszone funkcje Blockchain sprawiają, że jest on przejrzysty i odpowiedzialny (każdy użytkownik w sieci jest odpowiedzialny za wszelkie zmiany w łańcuchu). A fakt, że wszystko, co jest zapisane w Blockchain, jest zabezpieczone za pomocą kryptografii, czyni go bezpiecznym i niezawodnym. Te cechy Blockchain sprawiły, że jest on atrakcyjny dla entuzjastów ze wszystkich branż, którzy chętnie inwestują w architekturę Blockchain, aby tworzyć aplikacje oparte na Blockchain.
Architektura Blockchain
Teraz, gdy wyjaśniliśmy podstawy architektury Blockchain, zagłębimy się w to głębiej. Architektura Blockchain składa się z dwóch podstawowych struktur danych:
- Wskaźniki – Są to zmienne, które rejestrują informacje o lokalizacji innej zmiennej. Innymi słowy, wskazują pozycję innej zmiennej.
- Połączone listy — są to sekwencje bloków, w których każdy blok ma unikalne dane i jest połączony z blokiem następującym po nim za pomocą wskaźnika.
Źródło obrazu
Idąc zgodnie z tą logiką, pierwszy blok, czyli blok Genesis, w łańcuchu nie zawiera wskaźnika (jest to blok początkowy). Podobnie, ostatni blok w łańcuchu będzie miał wskaźnik zerowy (bez wartości).
Charakterystyka architektury Blockchain
Architektura Blockchain ma kilka unikalnych cech, w tym:
- Kryptografia — każda transakcja zarejestrowana w Blockchain jest zabezpieczona złożonymi obliczeniami kryptograficznymi, które zostały zweryfikowane przez wszystkich zaangażowanych interesariuszy.
- Decentralizacja – Każdy członek sieci Blockchain ma dostęp do pełnej bazy danych.
- Pochodzenie — pochodzenie każdej transakcji zawartej w księdze Blockchain może być śledzone i monitorowane.
- Niezmienność — Po zarejestrowaniu transakcji w łańcuchu bloków nie można jej usunąć. Tylko za zgodą wszystkich stron zapis może zostać zmieniony.
- Anonimowość – Każdy użytkownik w sieci ma adres wygenerowany przez sam system – nie ma tożsamości. W ten sposób użytkownicy mogą zachować swoją anonimowość (szczególnie wymagana w publicznej strukturze blockchain).
- Przejrzystość — ponieważ każdy członek Blockchain może uzyskać dostęp do systemu i monitorować operacje, proces jest całkowicie przejrzysty. Zmiana jednego bloku oznaczałaby konieczność zmiany całego łańcucha, co jest wysoce nieprawdopodobne (wymaga ogromnej mocy obliczeniowej, aby nadpisać sieć blockchain).
Rodzaje architektury Blockchain
Istnieją przede wszystkim trzy rodzaje architektury Blockchain:
- Publiczna architektura Blockchain
W publicznej architekturze blockchain dostęp zarówno do danych, jak i systemu jest dostępny dla każdej osoby, która chce uczestniczyć w sieci Blockchain. Bitcoin, Ethereum i Litecoin to doskonałe przykłady publicznych systemów blockchain.
- Prywatna architektura Blockchain
W przeciwieństwie do publicznej architektury blockchain, prywatna architektura blockchain może być kontrolowana tylko przez grupę autoryzowanych użytkowników należących do określonej organizacji lub tych, którzy mają zaproszenie do udziału w sieci.
- Architektura Blockchain konsorcjum
Architektura blockchain konsorcjum składa się z grupy organizacji, a procedury dla systemu są ustalane i kontrolowane przez wybraną grupę przydzielonych użytkowników.
Publiczny Blockchain to czysto zdecentralizowany Blockchain, ponieważ jest otwarty i może uzyskać do niego dostęp każdy, kto chce wziąć udział w umowie lub systemie. Wszystkie zapisy są widoczne dla każdego uczestniczącego użytkownika w sieci. Wręcz przeciwnie, prywatny Blockchain przedstawia zachowanie bardziej scentralizowanego systemu, ponieważ jest administrowany i kontrolowany przez wybraną grupę użytkowników, którzy cieszą się większą prywatnością.
Podstawowe elementy architektury Blockchain
Sześć podstawowych komponentów tworzy architekturę Blockchain. Oni są:
- Węzeł – odnosi się do użytkownika/komputera w architekturze blockchain. Każdy węzeł przechowuje niezależną kopię całej księgi blockchain.
- Transakcja – odnosi się do najmniejszego elementu budulcowego systemu blockchain, czyli zapisów i informacji przechowywanych w bloku.
- Blok – jest to struktura danych, która przechowuje/rejestruje zestaw transakcji, który jest następnie udostępniany (rozprowadzany) między wszystkimi węzłami w sieci.
- Łańcuch – Termin określający sekwencję bloków ułożonych w określonej kolejności.
- Górnicy – jest to termin określający określone węzły, które weryfikują bloki przed dodaniem ich do struktury blockchain.
- Algorytm konsensusu – Jest to zbiór zasad i procedur, których należy ściśle przestrzegać przy wykonywaniu operacji blockchain.
Poniższy diagram architektury blockchain wyjaśnia dalej, jak system działa jako rozproszony portfel cyfrowy:
Źródło obrazu
Wcześniej omówiliśmy składniki metadanych bloku. Teraz przyjrzymy się elementom bloku w Blockchain. Każdy blok składa się z:
- Dane — dane bloku w dużej mierze zależą od rodzaju architektury blockchain, pod którą się znajduje. Na przykład w przypadku Bitcoin lub Litecoin dane zawarte w blokach będą zawierać informacje o nadawcy, odbiorcy i liczbie monet.
- Hash bloku – Hash to unikalny klucz, prawie jak odcisk palca. Jest to złożona kombinacja cyfr i liter. Każdy skrót blokowy jest tworzony przy użyciu określonego algorytmu skrótu kryptograficznego – SHA256. Natychmiast tworzony jest blok, generowany jest klucz skrótu. Wszelkie zmiany wprowadzone w bloku automatycznie zmienią również jego hash. Innymi słowy, hash bloku pomaga wykryć wszelkie modyfikacje wprowadzone do bloku.
- Skrót z poprzedniego bloku — oprócz tego, że zawiera swój unikalny klucz skrótu, blok musi również zawierać skrót bloku bezpośrednio przed nim. To właśnie ta funkcja pomaga stworzyć połączony łańcuch w architekturze blockchain i jest głównym elementem stojącym za jego bezpieczeństwem.
Ponieważ wszystkie zatwierdzone bloki w łańcuchu bloków pochodzą z bloku Genesis, każda próba uszkodzenia lub naruszenia pojedynczego bloku spowoduje reakcję łańcuchową, promując wszystkie bloki do zmiany. Jeśli tak się stanie, wszystkie bloki przeniosą nieprawidłowe informacje do przodu, co spowoduje, że cały Blockchain będzie nieważny. Jednak zmiany w architekturze Blockchain można wprowadzić za pomocą algorytmu konsensusu.

Co to jest algorytm konsensusu?
Algorytm konsensusu odnosi się do mechanizmu lub protokołu, który zapewnia, że lokalna kopia księgi Blockchain posiadana przez poszczególnych członków jest ze sobą spójna i jest aktualizowana do najnowszej wersji. Pomaga to zapewnić jednolitość i synchroniczność w ramach architektury blockchain. Oto trzy najczęściej używane algorytmy konsensusu:
Dowód pracy (POW)
POW wymaga rozwiązania złożonej zagadki obliczeniowej, aby utworzyć i dodać nowe bloki w sieci Blockchain. Musisz więc odgadnąć konkretny ciąg, który daje 256-bitowy skrót, propagowany przez algorytm skrótu SHA256. Ponieważ trzeba zrobić miliony zgadnięć, aby zweryfikować hash, otrzymuje on nazwę „dowód pracy”.
Dowód stawki (POS)
Protokół POS traktuje wszystkie węzły w systemie jako walidatory, które mogą weryfikować transakcje w celu uzyskania opłat transakcyjnych. POS losowo wybiera te węzły w celu walidacji bloków – prawdopodobieństwo losowego wyboru węzła zależy od wysokości stawki, jaką ma dany węzeł.
Uproszczona bizantyjska tolerancja błędów (SBFT)
W tym podejściu istnieje pojedynczy węzeł (walidator), który łączy proponowane transakcje w celu utworzenia nowego bloku w Blockchain. Walidator określany jest jako Strona. Tutaj, gdy minimalna liczba innych węzłów w sieci koryguje nowo utworzony blok, osiągany jest konsensus.
Jak stworzyć architekturę Blockchain?
Aby zbudować architekturę Blockchain, najpierw musisz zadbać o dwie rzeczy:
- Sieć Blockchain – dotyczy infrastruktury aplikacji Blockchain umieszczonej w określonym środowisku w jednej lub kilku organizacjach.
- Kod Blockchain – Odnosi się do zadań i celów, do których realizacji dąży aplikacja Blockchain.
Dzisiaj tworzenie architektury Blockchain jest łatwiejsze dzięki powszechnej dostępności rozwiązań open-source. Hyperledger firmy Linux Foundation to najpopularniejsza platforma wykorzystywana do budowy prywatnej architektury blockchain. Oprócz Hyperledgera, Ethereum i Corda są również doskonałymi narzędziami do rozwijania architektury Blockchain.
Źródło obrazu
Jak stworzyć sieć Blockchain?
Sieć Blockchain powstaje, gdy jedna lub grupa organizacji decyduje się na inwestycję w rozwiązanie Blockchain. Sieć tę można uznać albo za pojedyncze organizacje wraz z pracownikami, albo za całość z punktu widzenia infrastruktury technicznej wszystkich połączonych organizacji.
Zwykle w sieci Blockchain zaangażowanych jest wiele stron. Celem aplikacji/rozwiązań Blockchain jest zorganizowanie tych stron poprzez utworzenie przejrzystego systemu peer-to-peer, w którym każdy członek może śledzić i monitorować wszystkie działania w czasie rzeczywistym. Ta funkcja pomaga wyeliminować wszelkie ryzyko związane z transakcją lub biznesem.
W sieci Blockchain każda uczestnicząca organizacja posiada indywidualną kopię księgi, która jest zsynchronizowana z unikalnymi protokołami i warstwami technicznymi sieci Blockchain (rówieśnikami). Usługa zamawiania może być udostępniona wszystkim stronom kontrolującym transakcje i ich kolejność w sieci Blockchain. Ponownie, funkcja dostawcy usług członkowskich (MSP) umożliwia dostęp do określonych użytkowników w sieci w celu zachowania prywatności i bezpieczeństwa sieci. Ostatecznie wszystkie transakcje zawarte w sieci są rejestrowane w księdze głównej.
Jak stworzyć kod Blockchain?
Po utworzeniu sieci Blockchain zaangażowane strony muszą osiągnąć konsensus w sprawie rodzaju transakcji biznesowych, które powinny mieć miejsce w ramach architektury Blockchain. Ten konsensus jest osiągany w formie umowy prawnej, znanej jako inteligentne kontrakty. To jest kod Blockchain, znany również jako Chaincode. Podobnie jak każdy dokument prawny, inteligentne kontrakty zawierają informacje o uczestnikach, aktywach i transakcjach, które mają nastąpić. Każda transakcja wymaga funkcji procesora transakcyjnego, która określa procesy, które nastąpią po wykonaniu transakcji.
Korzyści z architektury Blockchain
Dzięki skonfigurowaniu architektury Blockchain organizacje mogą czerpać następujące korzyści:
- Redukcja kosztów
Firmy zazwyczaj wydają znaczne kwoty na utrzymywanie scentralizowanych baz danych, które są podatne na cyberataki. Dzięki strukturze Blockchain jedno jest pewne, że organizacje nie muszą się martwić o naruszenia bezpieczeństwa i systemu. Dlatego nie muszą wydawać dodatkowych pieniędzy na wzmacnianie bezpieczeństwa systemu.

- Zwiększona przejrzystość
W strukturze Blockchain członkowie mogą w dowolnym momencie sprawdzić historię dowolnej transakcji. Tak więc, w przeciwieństwie do scentralizowanej bazy danych, jest to stale rosnące archiwum, w którym członkowie cieszą się całkowitą przejrzystością.
- Ochrona danych
Po wprowadzeniu informacji (danych) do struktury Blockchain, prawie niemożliwe jest ich manipulowanie lub uszkodzenie. Wszelkie zmiany wprowadzone w Blockchain muszą zostać zatwierdzone przez wszystkich członków sieci, co czyni ten proces długotrwałym i czasochłonnym. Oczywiście współczynnik bezpieczeństwa danych jest bardzo wysoki w architekturze Blockchain.
Oto w skrócie Architektura Blockchain!
Mamy nadzieję, że pomoże to w lepszym zrozumieniu tej nowej technologii.
Wzrasta liczba karier w technologii blockchain, a blockchain ogromnie zmienił oblicze branży technologicznej na zawsze. Jeśli chcesz zostać programistą blockchain i budować inteligentne kontrakty i kody łańcuchowe, sprawdź zaawansowany program certyfikacji IIIT-B i upGrad w technologii blockchain .
Jakie są niektóre wyzwania związane z korzystaniem z architektury blockchain?
Opracowanie architektury blockchain to trudne zadanie, które wiąże się z pokonaniem szeregu przeszkód. Najtrudniejszym zadaniem jest zapewnienie, że blockchain jest bezpieczny i nienaruszony. Wymaga to stworzenia solidnego systemu bezpieczeństwa zdolnego do ochrony łańcucha bloków przed złośliwymi atakami. Kolejnym istotnym problemem jest zapewnienie skalowalności blockchaina i możliwości przetwarzania wielu transakcji. Wymaga to stworzenia systemu, który może zarządzać ogromną liczbą transakcji bez spowalniania sieci. Trzecim głównym problemem jest stworzenie schematu zarządzania, który zagwarantuje, że blockchain działa wydajnie i uczciwie. Wymaga to stworzenia mechanizmu do administrowania blockchainem i jego użytkownikami. Ostatnim zadaniem jest stworzenie systemu płacenia tym, którzy wnoszą wkład w blockchain. Wymaga to ustanowienia metody płacenia ludziom za ich usługi.
Co się dzieje, gdy łańcuch bloków jest zbyt duży, aby obsługiwać infrastrukturę sieciową?
Sieć ulegnie awarii, a łańcuch bloków stanie się bezużyteczny, jeśli łańcuch bloków stanie się zbyt duży, aby mógł być obsługiwany przez infrastrukturę sieciową. Każdy blok w łańcuchu bloków ma inne transakcje. Węzłom sieci staje się coraz trudniej śledzić wszystkie transakcje w miarę rozwoju łańcucha bloków. Węzły nie będą w stanie nadążyć, jeśli łańcuch bloków stanie się zbyt duży, a sieć się załamie. W rezultacie blockchain stanie się bezużyteczny i żadne transakcje nie będą możliwe.
Jakie są konsekwencje technologii blockchain dla zaufania?
Konsekwencje technologii blockchain dla zaufania są znaczące. Technologia Blockchain ma potencjał do tworzenia zaufania tam, gdzie wcześniej go nie było, lub do poprawy zaufania tam, gdzie już istnieje. Na przykład technologia blockchain może stworzyć bezpieczne, przejrzyste i odporne na manipulacje systemy głosowania, zwiększając wiarygodność wyborów. Ponadto technologia blockchain może tworzyć szybkie, przejrzyste i odporne na manipulacje łańcuchy dostaw, zwiększając niezawodność kupowanych przez nas produktów.