Warum unveränderliche Verträge [geschlossen]

Ich bin ein erfahrener Ingenieur, aber ziemlich neu in Blockchain-Technologien.

Ich versuche, das „Warum“ und den wahren „Wert“ unveränderlicher Verträge zu verstehen.

Noch nie gesehen oder gehört von Softwareteilen, die beim ersten Versuch perfekt veröffentlicht und geschrieben wurden.

Meiner Meinung nach sollte ein Stück Code / Logik, das sich nicht weiterentwickeln kann, nicht als "intelligenter" Vertrag bezeichnet werden ...

Ich weiß, dass Sie einen Vertrag haben können, der auf einen anderen Vertrag verweist, und die Aktualisierung dieses Verweises auf eine neue Vertragsadresse gibt Ihnen eine Art "Aktualisierungs" -Fluss.

Aber angesichts der jüngsten Ereignisse (Vertragsexploit von DAO) ... liege ich falsch, wenn ich sehe, dass das Konzept der unveränderlichen Teile der Logik (Verträge) in seiner Prämisse fehlerhaft ist?

Wie können Organisationen, Entwickler und ihre Benutzer der Plattform jemals vertrauen?

Können Sie Ihre Frage neutraler formulieren? Bitte versuchen Sie, Ihre persönliche Meinung offen zu lassen und versuchen Sie, die Kernfrage der Unveränderlichkeit zu hinterfragen.
@JorisBontje Es ist keine persönliche Meinung. Ich weiß es wirklich nicht, ich komme aus einer traditionellen Softwareentwicklung und suche daher eine Ausbildung. Scheint mir perfekt formuliert zu sein
Dass Sie dies auf Eis legen, basiert auf Meinungen. Ich stelle hier eine berechtigte Frage! Zerstöre dich und vv deine Vorurteile

Antworten (2)

Wenn wir über Unveränderlichkeit sprechen, liegt das daran, dass ein einmal in die Blockchain geschriebener TX auf unveränderliche Weise dort ist. In einem zweiten Punkt sind Smart Contracts upgrade-fähig, aber Sie müssen Ihrem Vertrag zunächst eine Upgrade-Funktion hinzufügen. Sie müssen sehr vorsichtig sein, wie Sie Ihren Vertrag aktualisieren, wenn Sie nicht wie theDAO enden wollen. :)

Es gab 1000 Codezeilen im DAO ... vielleicht war es ein bisschen zu komplex! Und es gibt kein Tool, um all dies zu überprüfen.. Wie auch immer, kurzes Ende überprüfen und erneut überprüfen ... Sogar ein Kopfgeld im Testnetz auszuprobieren könnte eine Möglichkeit sein, dies zu überprüfen.

Das ist mein Punkt. Unveränderliches TX macht für mich Sinn. Aber für Verträge ... Angesichts der Art der Softwareentwicklung und -reife erscheinen die Veröffentlichung und das sogenannte "Vertragsupdate" so zerbrechlich

Smart Contracts sollen eine Vereinbarung beschreiben und durchsetzen.

Vergessen wir für einen Moment die schlimmen Dinge, die The DAO widerfahren sind, und nehmen wir uns ein Beispiel.

  1. Das DAO ist ein Computerprogramm, das die Statuten einer Organisation beschreibt und ausführt.
  2. Dieser Organisation kann jeder beitreten, indem er Ether investiert . Die Mitglieder können abstimmen, wie sie die Ether-Fonds auf profitable oder wohltätige Weise verwenden.

Wenn ich Sie bitte, dieses Statutenprogramm auf Ihrem Server auszuführen, hätten Sie eine gewisse Kontrolle über die Organisation. Sie könnten:

  1. Schließen Sie die Organisation
  2. Ändere das Programm so, dass sich die Satzung ändert
  3. Einige Stimmen in der Datenbank umkehren

Dies ist mit unveränderlichen Programmen, die auf der Ethereum-Blockchain laufen, kaum möglich. Es ist schwer, aber nicht unmöglich: Es kann getan werden, wenn die Mehrheit der Ethereum-Knoten zustimmt, also erfordert es zumindest eine offene Debatte, wie wir sie jetzt bei der DAO-Hard-Fork-Debatte erleben .