Nach meiner vorherigen Frage zu diesem Thema Gibt es eine Möglichkeit, einen privaten Schlüssel über Blockchain zu speichern und zu teilen? , ich habe vielleicht eine Lösung, aber ich würde den Prozess gerne verbessern.
Stellen Sie sich vor, A sei Eigentümer einiger privater Daten und möchte B, einem anderen Mitglied der Blockchain, das Eigentum an diesen Daten übertragen. Die Daten sind ein privater Schlüssel, können also nicht öffentlich sein, aber sie können mit dem öffentlichen Schlüssel A oder B verschlüsselt werden.
So:
Gibt es eine Möglichkeit, diesen Prozess mit Smart Contract zu vereinfachen? Ich gehe davon aus, dass ein Smart Contract Zugriff auf den öffentlichen Schlüssel A und B hat, aber können Daten mit dem privaten Schlüssel desjenigen verschlüsselt/entschlüsselt werden, der den Smart Contract ausführt?
Wenn ich das richtig verstanden habe, glaube ich nicht, dass Sie die Blockchain-Technologie brauchen, um das zu erreichen, was Sie wollen. Genau dafür ist die asymmetrische Public-Key-Verschlüsselung konzipiert.
A verschlüsselt einfach einige Informationen mit dem privaten Schlüssel von A und dem öffentlichen Schlüssel von B ... und stellt so sicher:
Es gibt für A keine Möglichkeit, B zu beweisen, dass seine Kopie der Informationen von A zerstört oder vergessen wurde, aber zumindest ist eine sichere Übertragung gewährleistet.
(Obwohl ich auf der bitcoin.stackexchange-Seite bin, kam hier ein Ethereum-Tag heraus, also werde ich aus der Ethereum-Perspektive antworten.)
Kurze Antwort ist: Ja, es ist durchaus möglich. Verwenden der asymmetrischen Verschlüsselung mit öffentlichen Schlüsseln, wie James erwähnt hat. Es ist aber auch völlig unwirtschaftlich.
Einige neue, andere private/öffentliche Ketten wurden speziell für die Datenspeicherung in der Kette entwickelt, da aktuelle Ketten wie Ethereum die Kosten unerschwinglich machen. Mit zunehmender Datenmenge, die Sie speichern möchten, steigt auch der Aufwand, die Transaktion (mit den Daten, die Sie speichern möchten) zu "minen". Aus diesem Grund werden Netzwerkgebühren mit einer Byte-Rate berechnet.
Sehen Sie sich Tjadens Antwort hier an: https://ethereum.stackexchange.com/questions/872/what-is-the-cost-to-store-1kb-10kb-100kb-worth-of-data-into-the-ethereum- Block
Mein bester Versuch, den Aspekt „intelligenter Vertrag zur Vereinfachung“ zu beantworten, wäre
oder
In '2' hätten Sie einen Smart Contract, der Transaktionen mit einer festgelegten Entschlüsselung akzeptiert. Jedes Mal, wenn A eine Nachricht senden wollte, die B lesen konnte, übermittelte es einen verschlüsselten Entschlüsselungsschlüssel. B müsste die Transaktion finden, den Schlüssel entschlüsseln und dann diesen Schlüssel verwenden, um die Nachricht zu entschlüsseln. Es ist eher wie 2-Auth, aber für eine verschlüsselte Nutzlast.
Dies wäre weder elegant noch effizient. Es gibt bessere Möglichkeiten, dieselbe Aufgabe zu erfüllen.
Ich verstehe nicht ganz was du vorhast:
Könntest du genauer spezifizieren, was du meinst mit:
und das Eigentum an diesen Daten an B übertragen möchten
In der Blockchain-Welt speichern Sie dies einfach im „Ledger“ (oder der Blockchain), genau wie bei Bitcoin.
el-flor