Ich habe einen Smart Contract zum Speichern von Benutzerinformationen in der Ethereum-Blockchain. Für jede neue Transaktion wird ein Eintrag in die Karte oder das Array hinzugefügt. Dies sieht in Bezug auf die Lagerung zu kostspielig aus. Wenn ich eine Karte oder ein Array verwende, um 1 Lakh (100 KB) Benutzerinformationen zu speichern, muss ich für jede neue Transaktion einen neuen Eintrag zur Karte hinzufügen und 1 Lakh [vorhandene Transaktionen] im Status hinzufügen.
Gibt es eine andere Möglichkeit, dieses Problem zu optimieren, oder sind alle Smart Contracts nur auf diese Weise geschrieben?
Sie sollten keine großen Mengen an Metadaten in einer Blockchain speichern. Es impliziert Missbrauch, und die Kosten für viele tausend Replikate werden Sie davon abhalten, dies zu tun.
Es ist kein 1:1-Ersatz für eine Datenbank.
Eine häufig zu berücksichtigende Alternative ist die Verwendung einer Blockchain zur Authentifizierung von Dokumenten, die an anderer Stelle gespeichert sind. Dokumente beliebiger Größe können anhand eines in der Kette gespeicherten 32-Byte-Hash als authentisch nachgewiesen werden.
Eine Blockchain kann beispielsweise einen verteilten Echtheitsnachweis von Informationen liefern, die an anderen Orten gespeichert sind, die besser für die Lagerung schwerer Gegenstände geeignet sind.
Ich hoffe es hilft.
Shawn Tabrizi
Shahid Hussein
Nulik