„Signieren“ eines Smart Contracts, nachdem er bereitgestellt wurde

Ich wurde beauftragt, einen Smart Contract zu schreiben, um NFT/digitale Sammlerstücke zu erstellen. Zum größten Teil verwende ich einen Standard-ERC721-Vertrag.

Ich werde für die Bereitstellung des Vertrags verantwortlich sein. Gibt es eine Standardmethode, mit der dieses Unternehmen diesen Vertrag sicher als offiziellen Vertrag bestätigen kann?

Mein erster Gedanke ist, dass sie eine Nachricht mit der bereitgestellten Vertragsadresse signieren und diese Signatur nach der Bereitstellung hinzufügen.

Gedanken?

Antworten (2)

Vertrauen muss irgendwo anfangen.

Wenn das Unternehmen zum Beispiel eine Website hat, der die Leute vertrauen, dann könnten Sie einfach die Adresse des Vertrags auf der Website angeben. Wenn es einen anderen vertrauenswürdigen Kommunikationskanal gibt (Twitter, Telegram, Slack usw.), reicht es aus, die Adresse dort zu veröffentlichen.

Wenn es keine vertrauenswürdige Website, aber irgendwo einen öffentlichen Schlüssel gibt, dem die Leute vertrauen, dass er mit dem Unternehmen verknüpft ist, dann ja, Sie könnten eine mit diesem privaten Schlüssel signierte Nachricht überall veröffentlichen . Dies ist jedoch ein unwahrscheinliches Szenario, da der öffentliche Schlüssel von irgendwoher stammen musste, und normalerweise bedeutet dies, dass es einen anderen Kanal gibt, dem bereits vertraut wird, dass er vom Unternehmen stammt. (Und das bedeutet, dass sie die Adresse einfach direkt veröffentlichen können.)

Dieser Artikel behandelt den Prozess der Erstellung und (genauer gesagt) die Verifizierung Ihres Vertrags auf Etherscan. Dadurch wird Ihr Vertrag für Ihre Kunden transparenter.

Aus der Antwort von Smarx entnommen :

Ein weiterer Gedanke: Generieren Sie ein 256-Bit-Geheimnis (Zufallszahl) und speichern Sie den Hash davon im Vertrag. Dann zeigen Sie jemandem das Urbild des Hashs (das Geheimnis), um zu beweisen, dass Sie derjenige sind, der diesen Hash hineingelegt hat.

Dies ist wiederum Gegenstand von MITM- Angriffen und beweist nur, dass jemand im Besitz des Geheimnisses ist (nicht unbedingt, dass er der Urheber ist).