Ich möchte einen intelligenten Vertrag erstellen, der es mehreren Benutzern ermöglicht, Geld einzuzahlen / abzuheben. Mein erster Ansatz bestand darin, einfach eine Vertragsadresse zu haben, die die Gelder aller Benutzer speichert, und eine Zuordnung, die die individuellen Guthaben jedes Benutzers verfolgt. Dies würde mich jedoch daran hindern, Einzahlungen für bestimmte Benutzer zu identifizieren, wie sie es tun würden alle hinterlegen an derselben Adresse.
Um dies zu überwinden, möchte ich, dass der Smart Contract für jeden Benutzer einen untergeordneten Vertrag generiert, auf den dieser Benutzer Geld einzahlen kann. Das Problem ist, dass die Bereitstellung dieses untergeordneten Vertrags Benzin kostet. Ich möchte nicht, dass der Benutzer diese Gaskosten bezahlt, aber wenn ich den übergeordneten Vertrag die Gaskosten des Benutzers erstatten lasse, entsteht ein potenzieller Angriff, wenn jemand mehrere Konten erstellen kann, damit der Vertrag sein gesamtes Guthaben für diese Aufgabe ausgibt. Wie kann ich das überwinden?
Ihre erste Idee war die beste, aber folgende Einschätzung führt Sie in die Irre:
Dies würde mich jedoch daran hindern, Einzahlungen für bestimmte Benutzer zu identifizieren
Mit dem Mapping (und den Ereignisprotokollen) können Sie genau ermitteln, wer was gesendet hat.
Was Sie mit diesen Informationen tun, bezieht sich auf nicht offengelegte Details des Anwendungsfalls. Möglicherweise gibt es ein Implementierungsdetail mit einer nicht offensichtlichen Lösung?
Mensch