Blockchain-Daten zusammenführen

Also habe ich einen Vertrag namens Person. Angenommen, jeder Vertrag dient als Identitätsdokument für eine Person. Eine Blockchain wird unter Verwendung dieses intelligenten Vertrags für eine Organisation A bereitgestellt.

Jetzt hat Organisation B auch ihre eigene Blockchain im Einsatz und lässt diesen Personintelligenten Vertrag tausende Male ausführen.

PersonNun beschließen A und B, ein Konsortium zu bilden und wollen diese Instanzen von Vertragsdaten teilen . Sie haben bereits ihre eigene private Blockchain im Einsatz, möchten sich aber jetzt in derselben Blockchain befinden, damit diese intelligenten Verträge und Identitäten geteilt werden können.

Wie würde ich vorgehen? Die intelligenten Verträge und Blöcke sind unveränderlich, daher ist nicht sicher, wie die Datenmigration erfolgen wird. Alle drei Ketten (zwei alte und die neue für die Konsortien) werden denselben Genesis-Block haben.

Erstellen Sie einen neuen (3.) Smart Contract, der Upgrade-Pfade für beide PersonEntitäten von Aund definiert B, und verwenden Sie diesen als zukünftige Referenz und die alten Verträge, um die Herkunft der Einträge nachzuweisen.
Bitte überprüfen Sie diese Antwort, sie kann bei Ihrem Problem helfen. ethereum.stackexchange.com/a/10960/4575
@5chdn Der Personenvertrag hat auch eine starke Berechtigung, z. B. nur der Ersteller des Vertrags und seine Änderung, und nur eine bestimmte Administratoradresse hat neben dem Eigentümer CRUD-Zugriff
heavy permissioningIch fürchte, es widerspricht dem Designprinzip von Smart Contract. Technisch hindert Sie auch nichts daran. aber siehe das
@niksmac Der Sinn von Smart Contracts besteht darin, selbst ausführbaren Code zu erstellen. Wenn dieser Code Dinge wie die Übertragung von Vermögenswerten oder sogar Ether regelt, dann möchten Sie den Smart Contract schützen. Solidity hat eine ganze Funktion namens modifiers, die für die Absicht gemacht wurde, Vorbedingungen zuzulassen und zu überprüfen.

Antworten (1)

Das Auslesen von Daten aus der Blockchain ist kostenlos.

Ihre Terminologie klingt ein wenig verwirrt, aber angenommen, Sie haben zwei private Chains (Ethereum-Instanzen), von denen jede eine Art Vertrag zur Identität enthält.

Wenn Sie einen Vertrag in einer dritten Kette erstellen möchten, der alle Daten aus beiden ursprünglichen Ketten enthält, müssen Sie etwas erstellen, das die Daten aus beiden Ketten liest und an den Vertrag in der dritten Kette übermittelt.

Wenn es sich um private Ketten handelt, können Sie 0-Gebühren-Transaktionen abbauen, sodass Sie kostenlos an die neue Kette schreiben können.

Sie könnten beispielsweise mit web3 aus den ersten beiden Ketten lesen und in die dritte schreiben .

Kann jemand erklären, warum diese Antwort eine negative Stimme hat? Diese Lösung erscheint mir durchaus sinnvoll.