Blockchain
Blockchain to rozproszony, zdecentralizowany cyfrowy rejestr, który zapisuje transakcje na wielu komputerach, czyniąc dane odpornymi na manipulacje i transparentnymi.
Blockchain to rozproszona, niezmienna i przejrzysta cyfrowa księga, która rejestruje transakcje na wielu komputerach. Zamiast pojedynczej centralnej bazy danych, księga jest współdzielona i synchronizowana w sieci peer-to-peer. Transakcje są grupowane w 'bloki', a każdy nowy blok zawiera kryptograficzny skrót poprzedniego bloku, znacznik czasu i dane transakcji. Ten mechanizm łańcuchowy tworzy chronologiczny i odporny na manipulacje zapis.
Kluczowe cechy to:
- Decentralizacja: Dane są replikowane na wielu węzłach, eliminując zależność od centralnego organu i zwiększając odporność. Żadna pojedyncza jednostka nie kontroluje całej księgi.
- Niezmienność: Po dodaniu bloku do łańcucha za pomocą mechanizmu konsensusu (takiego jak Proof-of-Work lub Proof-of-Stake), staje się niezwykle trudne do zmiany lub usunięcia. Każda próba modyfikacji przeszłego bloku unieważniłaby wszystkie kolejne bloki ze względu na powiązania kryptograficzne.
- Przejrzystość: Chociaż tożsamość uczestników może być pseudonimowa (reprezentowana przez adresy publiczne), same transakcje są zazwyczaj publicznie dostępne w księdze.
- Bezpieczeństwo: Kryptograficzne haszowanie i mechanizmy konsensusu zabezpieczają sieć przed oszustwami i nieautoryzowanymi zmianami.
Blockchains służą jako technologia podstawowa dla kryptowalut, takich jak Bitcoin i Ethereum, ale ich zastosowania wykraczają poza zarządzanie łańcuchem dostaw, systemy głosowania, tożsamość cyfrową i inne. Kompromis często polega na równowadze między stopniem decentralizacji, szybkością transakcji (skalowalnością) i bezpieczeństwem. Wysoce zdecentralizowane i bezpieczne blockchainy mogą poświęcić szybkość, podczas gdy szybsze systemy mogą naruszyć decentralizację lub bezpieczeństwo.
graph LR
Center["Blockchain"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Pre_hashing["hashing"]:::pre --> Center
click Pre_hashing "/terms/hashing"
Pre_distributed_systems["distributed-systems"]:::pre --> Center
click Pre_distributed_systems "/terms/distributed-systems"
Center --> Child_block["block"]:::child
click Child_block "/terms/block"
Center --> Child_consensus_mechanism["consensus-mechanism"]:::child
click Child_consensus_mechanism "/terms/consensus-mechanism"
Center --> Child_merkle_tree["merkle-tree"]:::child
click Child_merkle_tree "/terms/merkle-tree"
Rel_bitcoin["bitcoin"]:::related -.-> Center
click Rel_bitcoin "/terms/bitcoin"
Rel_ethereum["ethereum"]:::related -.-> Center
click Rel_ethereum "/terms/ethereum"
Rel_blockchain_security["blockchain-security"]:::related -.-> Center
click Rel_blockchain_security "/terms/blockchain-security"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Sprawdzenie wiedzy
🧒 Wyjaśnij jak 5-latkowi
🔗 Blockchain to jak gigantyczny czat grupowy, w którym nikt nie może usunąć ani edytować starych wiadomości. Jeśli ktoś spróbuje zmienić wczorajszą wiadomość, wszyscy inni zobaczą, że się nie zgadza!
🤓 Expert Deep Dive
Projekt architektoniczny blockchaina równoważy rozproszony konsensus, bezpieczeństwo kryptograficzne i efektywność struktury danych. Wybór mechanizmu konsensusu (np. konsensus Nakamoto w PoW, warianty BFT w PoS) określa tolerancję sieci na błędy, gwarancje finalności i podatność na określone ataki (np. ataki 51%, ataki długoterminowe). Propagacja danych i synchronizacja bloków w dużej, potencjalnie wrogiej sieci stanowią kluczowe wyzwania, często rozwiązywane za pomocą protokołów plotkarskich i wydajnych mechanizmów przekazywania bloków. Struktura drzewa Merkle w blokach pozwala na efektywne weryfikowanie włączenia transakcji bez konieczności pobierania całej księgi. Kompromisy są nieodłączne: blockchainy bez zezwoleń oferują większą odporność na cenzurę i decentralizację, ale napotykają wąskie gardła skalowalności, podczas gdy blockchainy z zezwoleniami mogą osiągnąć wyższą przepustowość i kontrolę, ale poświęcają decentralizację i otwarty dostęp. Rozrost stanu (state bloat) i długoterminowe archiwizowanie danych historycznych również stanowią znaczące wyzwania architektoniczne.