Mara van der Laan ist Entwicklerin, bekannt unter dem Konto laanwj und in historischen Unterlagen als Wladimir van der Laan. Sie betreute Bitcoin Core, eine Software zur eigenständigen Prüfung der Bitcoin-Kette. Diese Aufgabe bedeutete Verantwortung für ein Programm, nicht Entscheidungsgewalt über das gesamte Netzwerk.
Das öffentliche Profil laanwj nennt heute Mara van der Laan und ihre frühere Tätigkeit als Bitcoin-Core-Maintainerin. Ältere Unterlagen verwenden den historischen Namen Wladimir van der Laan. Gemeint ist die Arbeit derselben Entwicklerin, nicht zweier verschiedener Personen. Projektpflege besteht nicht nur darin, neue Funktionen zu erfinden. Dazu gehören auch die Beurteilung, ob Änderungen bereit sind, ihre koordinierte Übernahme sowie die Zusammenarbeit mit Menschen, die Code prüfen und testen. Diese weniger sichtbare Arbeit hilft, ihren Beitrag einzuordnen. [1] [4]
Am 21. Januar 2021 beschrieb van der Laan ein bekanntes Problem langlebiger Projekte: Zu viel Arbeit kann von einer bestimmten Person abhängen. Bitcoin Core hatte bereits mehrere Maintainer, dennoch wollte sie weitere Aufgaben abgeben und ihr Engagement reduzieren. Das war keine Ankündigung eines vollständigen Endes ihrer Beiträge. Wichtige Schritte sollten nicht ausgerechnet auf sie warten müssen. Stellen Sie sich eine fertige Veröffentlichung vor, die nur deshalb liegen bleibt, weil eine unverzichtbare Person nicht erreichbar ist. Geteilte Verantwortung soll solche Situationen verhindern. [2]
Der Plan von 2021 betraf die Verteilung der Software, Signaturen von Veröffentlichungen und die Zusammenarbeit der Entwickler. Van der Laan erwog IPFS für verteilten Dateiaustausch und Radicle für die Arbeit am Code ohne Abhängigkeit von einem zentralen Server. So sollte der Ausfall einer Person, einer Website oder eines Anbieters nicht alle anderen aufhalten. Die Erwähnung eines Werkzeugs dokumentiert aber einen Vorschlag, keine abgeschlossene Einführung. Eine Schwachstelle erkennen, eine Lösung planen und sie tatsächlich einsetzen sind verschiedene Schritte. [2]
Beim Entwicklertreffen am 11. August 2022 kündigte laanwj ihren Rückzug als Maintainerin von Bitcoin Core an. Konkret wollte sie keine Änderungen mehr in den gemeinsamen Code übernehmen und keine Veröffentlichungen mehr vorbereiten. Gelegentliche Codeprüfungen blieben möglich: Andere Vorschläge kann man auch ohne Maintainerrolle beurteilen. Sie äußerte zudem Vertrauen in die Menschen, die bereits viel Arbeit übernahmen. Deshalb gehören Daten zu dieser Geschichte. Ein früherer Titel beschreibt nicht automatisch die heutige Rolle, und ein Rückzug beendet nicht jede Möglichkeit, weiter beizutragen. [3]
Bitcoin Core beschreibt Maintainer als Menschen, die geprüfte Änderungen mit Zustimmung des Teams übernehmen und eine letzte Kontrolle durchführen. Ein Repository speichert Code und seine Geschichte. Zugriff darauf befiehlt den Betreibern von Knoten nicht, ein neues Programm zu installieren. Ein Knoten ist ein Computer, der mit seiner gewählten Software Bitcoin-Regeln prüft. Einfluss auf ein wichtiges Programm bedeutet daher nicht, das Verhalten aller Teilnehmer per Befehl ändern zu können. Projektpflege und die vom Netzwerk angenommenen Regeln auseinanderzuhalten macht Dezentralisierung greifbarer. [4]
Auch wer Bitcoin Core herunterlädt, übernimmt einen Teil der Prüfung. Die Datei SHA256SUMS enthält Prüfsummen der Veröffentlichung. Der Vergleich zeigt, ob die geladene Datei dem angegebenen Fingerabdruck entspricht. Ein Angreifer könnte allerdings Programm und Liste gemeinsam austauschen. Deshalb prüft man zusätzlich digitale Signaturen und den Schlüsselfingerabdruck, eine kurze Kennung des öffentlichen Signaturschlüssels. Vergleichen Sie ihn mit einer vertrauenswürdig ermittelten Angabe. Ein Name am Schlüssel ist kein Identitätsbeweis. Datei, Signatur und Zuordnung des Schlüssels sind zusammenhängende, aber unterschiedliche Prüfungen. [5]
Quellcode ist die lesbare und bearbeitbare Form des Programms. Beim Bauen entstehen daraus ausführbare Dateien. Reproduzierbare Builds von Bitcoin Core erlauben anderen, unabhängig dieselben Dateien zu erzeugen und ihre Prüfsummen mit der Veröffentlichung abzugleichen. Dadurch muss man nicht blind dem einzelnen Computer vertrauen, der den Download vorbereitet hat. Die Übereinstimmung beweist jedoch nicht, dass der Quellcode fehlerfrei ist. Ein dort vorhandener Fehler kann in jedem identischen Build genauso enthalten sein. Herkunftsprüfung und fachliche Codeprüfung ergänzen sich; sie ersetzen einander nicht. [5]
Eine weitere Frage bleibt: Erhält die Version noch Korrekturen? Bitcoin Core veröffentlicht den Lebenszyklus seiner Versionen und unterscheidet unterstützte von solchen nach dem Supportende. Letztere erhalten in der Regel keine Sicherheitskorrekturen mehr. Eine alte gültige Signatur kann weiterhin die Herkunft der damaligen Datei bestätigen, ohne heutige Wartung zu garantieren. Prüfen Sie bei der Auswahl deshalb auch den Supportstatus und die Versionshinweise. Die Geschichte des Projekts, die Echtheit der Datei und ihre heutige Eignung hängen zusammen, sind aber verschiedene Fragen. [6]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Peter Todd, Andrew Poelstra, Bitcoin Core. Auf diesen Eintrag verweisen außerdem Peter Todd, Andrew Poelstra.