Kapitalizacja rynkowa —Wolumen 24h —BTC —Indeks strachu —
MistrzInwestujInwestycje & Zyski
Reklama
Reklama

Open Source vs. Source-Available: Czego uczy nas porażka Coldcard w kontekście zachęt do oprogramowania Bitcoin

czytaj4810UdziałWersja do druku
Open Source vs. Source-Available: Czego uczy nas porażka Coldcard w kontekście zachęt do oprogramowania Bitcoin

Bitcoin Magazine

Open Source vs. Źródło Dostępne: Czego uczy nas awaria Coldcard o zachętach w oprogramowaniu Bitcoin

Kod zamknięty a otwarty dzielił społeczność Bitcoin i szerszy przemysł kryptowalutowy przez ponad dekadę. Zwolennicy Bitcoina od dawna argumentują, że infrastruktura finansowa świata powinna być budowana publicznie. Przejrzystość i możliwość audytu, jak mówią, są niepodważalne, gdy w grę wchodzą prawdziwe pieniądze. Jednak warstwy aplikacji i tradycyjnych finansów często się nie zgadzają.

Jednak niedawny atak na Coldcard, popularny portfel sprzętowy do samodzielnego przechowywania, w wyniku którego użytkownicy stracili ponad 100 milionów dolarów w bitcoinach (ponad 1,500 BTC), rzucił cień na to, co tak naprawdę oznacza „Open Source”. Ujawnił, że być może większość ludzi, nawet wielu zapalonych bitcoinowców, ma słabe zrozumienie filozofii rozwoju oprogramowania Open Source i kiedy ona zawodzi.

Zasady i Terminologia

Język związany z Open Source może być skomplikowany. Wolne i Otwarty Oprogramowanie (FOSS) oraz Wolne/Liberacyjne i Otwarty Oprogramowanie (FLOSS) odnoszą się do oprogramowania, które spełnia formalne definicje wolności użytkownika.

Fundacja Wolnego Oprogramowania (FSF) definiuje wolne oprogramowanie poprzez cztery podstawowe wolności:

  • Wolność 0: Wolność uruchamiania programu według własnego uznania, w dowolnym celu.
  • Wolność 1: Wolność badania, jak działa program, oraz zmieniania go tak, aby spełniał twoje potrzeby obliczeniowe (dostęp do kodu źródłowego jest warunkiem wstępnym dla tego).
  • Wolność 2: Wolność do redystrybucji kopii, abyś mógł pomagać innym.
  • Wolność 3: Wolność do dystrybucji kopii swoich zmodyfikowanych wersji innym (dostęp do kodu źródłowego jest warunkiem wstępnym dla tego).

FSF podkreśla, że „wolny” odnosi się do wolności, a nie ceny, w powszechnym cytacie słyszanym od zwolenników FOSS: „‘wolny’ jak w ‘wolności słowa’, a nie jak w ‘darmowym piwie’.”

Definicja Open Source Inicjatywy Open Source dodaje dziesięć praktycznych kryteriów. Obejmują one wolną redystrybucję bez tantiem, dostępność kodu źródłowego w preferowanej formie do modyfikacji, prawo do tworzenia i dystrybucji prac pochodnych oraz brak dyskryminacji wobec osób, grup lub dziedzin działalności — w tym użycia komercyjnego. Licencja musi spełniać wszystkie dziesięć kryteriów, aby kwalifikować się jako Open Source zgodnie z normą OSI.

„Dostępny kod źródłowy” lub „widoczny kod źródłowy” to coś innego. Kod może być publicznie czytelny, podczas gdy licencja ogranicza prawo do jego sprzedaży. Oprogramowanie układowe Coldcarda, na przykład, jest wydawane na warunkach MIT plus Klauzula Commons. Klauzula ta szczególnie odbiera prawo do „Sprzedaży” oprogramowania — definiowanego jako udostępnienie go osobom trzecim za opłatą lub innym wynagrodzeniem w produkcie lub usłudze, której wartość pochodzi całkowicie lub w dużej mierze z samego oprogramowania. Innymi słowy, oprogramowanie układowe Coldcarda nie mogłoby być używane komercyjnie.

FAQ Klauzuli Commons wyraźnie określa różnicę: „Czy to jest 'Open Source'? Nie.” Zauważa, że zastosowanie klauzuli oznacza, że oprogramowanie spełnia wiele elementów Definicji Open Source, ale nie wszystkie z nich, a zatem nie powinno być nazywane Open Source.

Te różnice mają znaczenie. Publikowanie kodu źródłowego stwarza możliwość inspekcji. Przyznanie pełnego zestawu praw zdefiniowanych przez Definicję Wolnego Oprogramowania lub Definicję Open Source sprawia, że oprogramowanie jest FOSS lub FLOSS. Ale posiadanie znaku zatwierdzenia, możliwość machania flagą FOSS lub FLOSS, nie jest celem. Wolność komercyjna w FOSS odblokowuje zachęty ze strony osób trzecich do testowania i przeglądania kodu, który w przeciwnym razie mógłby nie istnieć, twierdzą krytycy.

Cztery wolności stanowią filozoficzne jądro Open Source. W praktyce opierają się na założeniu ekonomicznym: że wystarczająco zmotywowani ludzie rzeczywiście zbadają kod. Kiedy to założenie zawodzi, system produkuje klasyczną tragedię wspólnego dobra, sytuację, w której wspólny zasób jest nadmiernie wykorzystywany lub zaniedbywany, ponieważ poszczególni użytkownicy działają w swoim krótkoterminowym interesie, a nie w długoterminowym interesie grupy.

Każda osoba ma motywację, aby wziąć więcej (lub wnieść mniej) niż jest to zrównoważone, a zasób ulega degradacji w wyniku tego. Dzieje się tak, gdy istnieje niezgodność między krótkoterminowym interesem jednostki a długoterminowym interesem grupy. Czasami istnieje zgodność; czasami nie.

Jeden z deweloperów Bitcoina ujął problem wprost: „Używanie mocków i stubów kodu Open Source w testach jest nieodpowiedzialne i krótkowzroczne. Kod Open Source uważany jest za bezpieczny, ponieważ każdy może go zweryfikować. Jeśli nie jesteś gotów zrobić minimalnego testowania funkcji, na których naprawdę polegasz, to zachowujesz się jak pijawka.”

W rezultacie, Open Source sam w sobie nie tworzy bezpieczeństwa. Tworzy możliwość weryfikacji. To, czy ta weryfikacja nastąpi, zależy od zachęt, umiejętności i uwagi. Historyczny FOSS uważa się za utwardzający się z czasem, gdy odkrywane są luki, ujawniane i łatanie, tworząc solidne fundamenty, na których inni budują. Jądro Linuxa jest doskonałym przykładem takiego utwardzonego FOSS; napędza ogromną większość serwerów na świecie, infrastruktury chmurowej, urządzeń z Androidem i systemów wbudowanych, co czyni go jednym z najczęściej wdrażanych programów w historii.

Open Source, jak pokazuje Bitcoin Core

Bitcoin Core, referencyjna implementacja Bitcoina, jest kolejnym przenikliwym przykładem funkcjonowania czystego open-source w praktyce. Oprogramowanie, które działa za większością infrastruktury związanej z Bitcoinem, jest wydawane na licencji MIT. Jego proces rozwoju jest z założenia szeroko publiczny.

Każdy może otworzyć prośbę o włączenie zmian. Przegląd kodu jest głównym filtrem i zalecanym punktem wejścia dla nowych współpracowników. Recenzenci używają formalnego słownictwa—Concept ACK (potwierdzenie i zgoda na cel), Approach ACK (zgoda na cel i metodę), ACK z konkretnym hashem zatwierdzonego commita (przetestowane i zatwierdzone do połączenia), lub NACK (niezgoda, która powinna być poparta uzasadnieniem technicznym).

Utrzymujący oceniają konsensus wśród współpracowników oraz techniczne zalety zmiany przed połączeniem. Zmiany krytyczne dla konsensusu stawiają jeszcze wyższe wymagania i zazwyczaj wymagają propozycji ulepszenia Bitcoina oraz obszernej, wieloletniej dyskusji na liście mailingowej bitcoin-dev i IRC.

Nie ma uprzywilejowanej kasty „deweloperów Bitcoin Core”. Zaufanie zdobywa się poprzez wykazaną kompetencję w czasie. Utrzymujący istnieją z praktycznych powodów—audyt i łączenie kodu, zarządzanie wydaniami oraz podstawowa moderacja—ale wytworzona praca to czysty kod open-source, który każdy może przeglądać, budować, forkować lub uruchamiać. Deweloperzy, którzy mają swoje zmiany kodu 'commits' włączone do Bitcoin Core, są powszechnie nazywani Współpracownikami Bitcoin Core.

Calle, długoletni deweloper open-source Bitcoin, niedawno podsumował rzeczywistość: „Ludzie, którzy myślą, że rdzeń to jakiś nieprzejrzysty instytucja działająca w cieniu, są albo zbyt leniwi, albo zbyt głupi, aby sami się temu przyjrzeć. Dosłownie wszystko, co robią, jest publiczne, każdy może się włączyć, a wynik ich pracy to czysty kod Open Source.”

Finansowanie tej pracy pochodzi głównie z organizacji non-profit i struktur grantowych, takich jak Brink, OpenSats, Spiral i innych, a nie z tradycyjnej mapy produktów firmy. Dyskusje techniczne i debaty odbywają się publicznie na liście mailingowej bitcoin-dev oraz w kanale IRC #bitcoin-core-dev na Libera Chat, gdzie propozycje są dokładnie analizowane przed i w trakcie procesu pull-request. Problemy i pull-requesty na GitHubie często mają historię komentarzy sięgającą dekady. Efektem jest kultura rozwoju zoptymalizowana pod kątem poprawności i audytowalności, a nie szybkości czy komercyjnej prędkości funkcji.

Ekonomia Oprogramowania Open Source

Większość użytkowników oprogramowania open-source lub dostępnego źródłowo nigdy nie czyta kodu samodzielnie. Polegają na założeniu, że inni go analizują. W przypadku Coldcarda krytyczna wada entropii pozostawała w publicznie dostępnej wersji oprogramowania przez około pięć lat, zanim została wykorzystana i tym samym odkryta.

Błąd wszedł do bazy kodu podczas dużego przepisania w 2021 roku, które również usunęło pozostały kod pochodzący z GPL z Trezora, pierwszego portfela sprzętowego, a teraz drugiego co do wielkości w branży samodzielnego przechowywania. Biblioteka będąca w centrum awarii entropii, która zastąpiła trezor-crypto, nazywa się libngu i miała minimalną zewnętrzną kontrolę, zaledwie 7 gwiazdkami i mniej niż 20 forkami w ciągu ponad 5 lat użytkowania w produkcji. Porównaj to z 512 gwiazdkami, które posiada biblioteka trezor-crypto oraz 212 forkami, lub 793 forkami i 1,8k gwiazdkami nowocześniejszego trezor-firmware. Sama dostępność źródła nie przyniosła przeglądu, który miał znaczenie, ponieważ inne firmy nastawione na zysk, dobrze finansowane, były ograniczone w korzystaniu z tego, lub tak twierdziliby krytycy.

Stawka jest wyższa w Bitcoinie niż w większości dziedzin oprogramowania. Krytyczna wada może być bezpośrednio przekształcona w płynne środki na otwartym rynku. Podczas gdy pierwsza połowa skradzionych funduszy Coldcard jest nadal przechowywana w kilku adresach, a haker może pewnego dnia zostać złapany, hakerzy naśladowcy, którzy przyszli po nim, byli bardziej ostrożni, a niektórzy skradli więcej bitcoinów i skutecznie je wyprać, według Galaxy Research. Oporność Bitcoina na cenzurę i niezmienność transakcji tworzą zarówno potężny bodziec dla atakujących, jak i darwinowski filtr; tylko projekty, które nieustannie przyciągają kompetentne przeglądy, oraz użytkownicy i firmy, które podejmują poważne środki ostrożności, mają tendencję do przetrwania w dłuższej perspektywie.

Wybory licencyjne kształtują te zachęty według zwolenników FOSS, którzy przez lata krytykowali decyzje licencyjne Coinkite. Czyste licencje open-source maksymalizują pulę potencjalnych recenzentów i forków. Ograniczone licencje „dostępne źródło” mogą zmniejszyć komercyjne korzystanie z pracy innych, ale także zmniejszyć krąg osób z prawem prawnym i ekonomicznym motywem do głębokiego zaangażowania. Niestety, ciężar przeglądu kodu spada z powrotem na firmę działającą na podstawie restrykcyjnej licencji, co w pewnym sensie zbliża ją do zamkniętego źródła niż do otwartego.

Jak AI zmienia rozwój oprogramowania otwartego i zamkniętego

Sztuczna inteligencja zmienia teraz również równowagę między FOSS a zamkniętym źródłem.

Po incydencie z Coldcard, wysiłek wolontariuszy znany jako Bitcoin Red Team — kierowany przez deweloperów, w tym Calle i Roba Hamiltona z AnchorWatch, oraz wspierany przez OpenSats — wykorzystał nowoczesne modele AI do skanowania setek otwartych repozytoriów Bitcoin. W jednym intensywnym okresie zespół zgłosił tysiące ustaleń, w tym dziesiątki sklasyfikowanych jako krytyczne lub o wysokim stopniu powagi, w setkach projektów. Odpowiednie ujawnienia zostały dokonane do opiekunów przed szerszą publikacją. Ćwiczenie wykazało, że systematyczny przegląd wspomagany przez AI może ujawniać problemy w skali i szybkości, które wcześniej były niepraktyczne dla czysto ludzkich zespołów.

W tej kwestii warto zauważyć, że Zespół Czerwony uznał chińskie modele o otwartej wadze za znacznie bardziej wiarygodne niż amerykańskie modele o zamkniętym kodzie, które, nawet przy zezwoleniach cybernetycznych i dostępie na najwyższym poziomie, odmawiały odpowiedzi na zapytania Zespołu Czerwonego, co jest tendencją, którą amerykańscy deweloperzy ubolewają.

Jednocześnie zalew kodu generowanego przez AI stworzył nową presję w postaci ataków typu denial-of-service na utrzymujących FOSS. Przeglądanie wyników AI często zajmuje więcej czasu niż ich generowanie. Niektóre projekty open-source poza Bitcoinem ograniczyły śledzenie problemów lub wprowadziły surowe zasady dotyczące wkładów AI, aby po prostu pozostać funkcjonalnymi.

Źródło: BitcoinMagazine

Więcej na temat «Wiadomości o kryptowalutach»

Wszystkie posty
Losowy cytat o pieniądzach
Pieniądze albo panują nad swoim właścicielem, albo mu służą.
— Horacy (Kwintus Horacjusz Flakkus)

Interesujące w innych sekcjach

Cały blog

Komentarze 0

Brak komentarzy

Bądź pierwszym, który podzieli się swoją opinią lub doświadczeniem na ten temat.

Reklama