Myślę, że w tym tygodniu powinniśmy spróbować czegoś innego. Spójrzmy na BSV z perspektywy inżyniera sieci. Teraz najpierw zastrzeżenia: nie jestem inżynierem sieci, znam się na sieciach komputerowych, wywodząc się z informatyki i elektrotechniki, ale nie jestem członkiem IEEE i nie wykonałem żadnej pracy w mojej karierze zawodowej w sieci, z wyjątkiem konfiguracji sieci LAN (Local Area Networks) z powrotem w ciągu dnia, aby zorganizować imprezy związane z Command and Conquer i Quake. To powiedziawszy, po skonfigurowaniu sporej liczby sieci LAN w ciągu dnia, miałem sporo praktycznych doświadczeń z routerami, przełącznikami, jednostkami MAU i wszelkiego rodzaju interfejsami, i pamiętam stare dobre dni przed PnP (Plug and play dla wszystkich waszych dzieciaków) podczas instalacji sprzętu i przyjemnego korzystania z systemu operacyjnego było całkiem zabawnym doświadczeniem1.
Więc chociaż nadal jestem osobą, która musiałaby sięgnąć po mój egzemplarz przełomowego podręcznika Williama Stallingsa, jeśli miałabym wyjaśnić szczegóły protokołów sieciowych, przynajmniej zaliczam się do grupy na tyle piśmiennej, by zrozumieć tekst bez sprawdzania słownik co drugie zdanie. A tak na marginesie, pozwólcie, że zabiorę was w podróż w głąb pamięci, zanim Internet stał się powszechnym narzędziem domowym, termin „World Wide Web” był wciąż czymś, co ludzie mówili w całości, a Duran Duran grał na radio. (A „radio” nie oznaczało Apple iTunes ani Spotify!). W tamtych czasach istniało wiele różnych protokołów sieciowych, które konkurowały ze sobą: x.25, FDDI vs Frame Relay, vs ATM (nie, nie bankomat)… ale konkurencja, która była w tamtych czasach VHS vs BetaMax2, była najważniejsza bitwa w sieciach LAN toczona pomiędzy Ethernetem a Token Ring.
Prawdopodobnie słyszałeś o Ethernet (lub 802.3 zgodnie z oficjalnym oznaczeniem IEEE), nawet jeśli jest to tylko termin, który pamiętasz na tylnej etykiecie routera WiFi. Jest to obecnie wszechobecny protokół, który obsługuje większość sieci LAN. Jego popularne kable CAT6 są teraz znane jako „kable sieciowe”, chyba że jesteś inżynierem, a nawet wtedy nie ma potrzeby odwoływania się do żadnego innego rodzaju kabla sieciowego. Ale 25 lat temu toczyła się gorąca bitwa o standardy sieciowe i sprzęt, a Ethernet konkurował z zasiedziałą technologią wspieraną przez giganta IBM o nazwie Token Ring. Zanim będziemy mogli porozmawiać o tym, jak się różniły i jak to wszystko odnosi się do BSV, najpierw musimy krótko omówić, co robi protokół LAN (lub „Datalink” w mowie OSI).
Zasadniczo istnieje w celu zdefiniowania procesu komunikacji, dzięki któremu karty interfejsu sieciowego (karty sieciowe – tak! Kiedyś były oddzielnymi płytami rozszerzeń od płyty głównej komputera), komunikowałyby się ze sobą za pośrednictwem współdzielonego medium, zwykle kilku komputery podłączone do wspólnego urządzenia koncentratora. Ethernet pozwalał dowolnemu urządzeniu na transmisję do dowolnego innego w dowolnym momencie, bez ustalania wyznaczonego czasu lub kolejności wysyłania wiadomości, co oznaczało, że gdyby dwa hosty próbowały nadawać w tym samym czasie, doszłoby do kolizji i wiadomości byłyby zniekształcone . Pomyśl o tym jak o grupie ludzi trzymających megafony w bardzo dużym pokoju3. Dopóki mówi tylko jedna osoba, każdy może zrozumieć, co to jest przesłanie, ale gdy więcej niż jedna osoba próbuje wypowiedzieć przesłanie w tym samym czasie, trudno jest cokolwiek zrozumieć.
Kiedy tak się dzieje, w żargonie Ethernet dochodzi do „kolizji”, głośniki to wykrywają i po prostu próbują ponownie nadać tę samą wiadomość w jakimś losowym późniejszym czasie, mając nadzieję, że nie zderzy się ponownie z innym nadawcą. To działa, ale prawdopodobnie widać, że im więcej i więcej hostów współdzieli to samo medium (koncentrator LAN lub segment sieci), tym większe prawdopodobieństwo wystąpienia kolizji i większa przepustowość jest marnowana, gdy hosty próbują przekrzykiwać się nawzajem. Podczas gdy Ethernet ostatecznie się w tym poprawił i ostatecznie rozwiązał problem z przełączaniem, w tym czasie bardziej eleganckie rozwiązanie tego problemu ze współdzielonym medium sieciowym przedstawił Token Ring. W sieci Token Ring hosty były połączone topologicznym pierścieniem, w przeciwieństwie do koncentratora i szprychy Ethernetu. Wiadomości mogły podróżować tylko w dwóch kierunkach, przeciwnie do ruchu wskazówek zegara lub zgodnie z ruchem wskazówek zegara, przez pierścień gospodarzy. Hosty dołączające lub opuszczające sieć musiałyby być obsługiwane w sposób, który nie zakłócałby pracy sieci podczas zmiany topologii sieci.
To jest część nazwy „pierścień”. Część „token” wynikała z faktu, że host mógł wysłać wiadomość tylko wtedy, gdy trzymał token wiadomości. Ten token był specjalną ramką sieciową, do której można było dołączyć wiadomość, która była stale przesyłana w pierścieniu hostów i krążyła, nawet jeśli host nie miał wiadomości do wysłania. Wróć myślami do dużego pokoju z ludźmi, ale tym razem nie ma megafonów. Jest tylko pusta koperta. Ta koperta jest przekazywana od lewej do prawej i jeśli ją otrzymasz i okaże się, że jest pusta, możesz włożyć wiadomość. Jeśli zawiera wiadomość i nie jest zaadresowana do Ciebie, po prostu przekazujesz ją następnej osobie. Jeśli wiadomość jest dla Ciebie, wyjmujesz wiadomość i przekazujesz pustą kopertę dalej. Był to cyfrowy „gadatliwy patyk”4. Dzięki temu prostemu protokołowi komunikaty nigdy się nie nakładały, komunikacja i wydajność były deterministyczne, degradowane z wdziękiem i liniowo przy większej liczbie hostów, a dostęp do medium był sprawiedliwy, ponieważ nie było możliwości, aby jakikolwiek host mógł zmonopolizować kanał5, ponieważ wszyscy musieli czekać na swoją kolej i ponownie otrzyma pusty token, aby móc wysłać następną wiadomość. Działało dobrze. W rzeczywistości był znacznie szybszy niż Ethernet, a walka o dominację trwała lata, aż w końcu lepsze algorytmy unikania kolizji Ethernet wraz z tańszymi kablami i sprzętem Ethernet zdominowały rynek.
Token Ring był jak na swoje czasy eleganckim rozwiązaniem problemu koordynacji komunikacji. To prowadzi nas do BSV. Wracając do teraźniejszości, jakie znaczenie ma stara technologia sieciowa na dzisiejszych platformach? Jak sugeruje tytuł tego artykułu, BSV można traktować jako masowo równoległą, dynamiczną topologię sieci Token Ring. Tyle że nie jest tylko jeden token, ale dowolna ich liczba, specjalnie stworzonych dla każdego „pierścienia” hostów, które muszą się ze sobą komunikować.
W tokenie można zaprogramować sekwencję, która reprezentowałaby „kolejność przekazywania” hostów, z odpowiednimi limitami czasu, jeśli host nie odpowiada, aby tokeny nie utknęły. Możesz zbudować nieograniczoną liczbę „wirtualnych sieci LAN” na górze Internetu za pomocą BSV, bez faktycznej zmiany okablowania sieciowego. Każdy host byłby identyfikowany za pomocą podpisanych wiadomości, a routing wiadomości mógłby być identyfikowalny i rozliczalny za pomocą podpisów cyfrowych. Nawet pojęcie „hosta” jest przeskalowane nie tylko do określonego interfejsu sieciowego (adres MAC) lub adresu IP, ale potencjalnie do podmiotu prawnego, ponieważ podpisy mogą być rejestrowane na znanych tożsamościach mapujących na osoby fizyczne lub korporacje.
Możliwości są nieograniczone. To, co przedstawiłem, to tylko wierzchołek góry lodowej. Mam nadzieję, że dałem wam wystarczająco dużo do przemyśleń, aby przez chwilę je przetrawić i zacząć postrzegać Bitcoin jako coś więcej niż tylko system tokenów, ale globalną sieć z dynamiczną i konfigurowalną topologią. Co mógłby zrobić świat z nieograniczoną liczbą skalowalnych w poziomie i dostosowywanych sieci VLAN? Zostawiam to twojej wyobraźni, ale jestem pewien, że będzie to bardziej istotne niż tylko przekazywanie ether7. ***
[1] Zwłaszcza, gdy miałeś do czynienia z systemem operacyjnym takim jak OS/2, który miał nierówną obsługę sprzętu innego niż IBM.
[2] Przypuszczam, że BluRay vs HDDVD byłoby lepszą analogią dla was, milenialsów, lub iPhone vs Android dla was NAPRAWDĘ młodych.
[3] O wiele lepszą analogią jest to, jak działają radia CB i dlaczego mówcy kończą każdą wiadomość słowem „over” – ale domyślam się, że większość milenialsów również nie dostanie tego odniesienia, chyba że ich rodzice byli kierowcami ciężarówek, pilotami lub żeglarzami.
[4] Och, jak żałuję, że nie mamy gadających patyków dla dzisiejszych szamb w mediach społecznościowych.
[5] Wyobraź sobie hosta ethernetowego, który po prostu wysyła wiadomości rozgłoszeniowe, skutecznie wykonując odmowę usługi.
[6] Jedna implementacja może być wykonana przy użyciu tokenów STAS
[7] Wszelkie dorozumiane odniesienia do ETH są całkowicie przypadkowe i niezamierzone