Ein Detail, auf das ich immer wieder zurückkomme, ist die 32-Byte-Nonce, die jedem Payload hinzugefügt wird.
Es ist, als würde man eine kurze Nachricht in eine Schachtel einschließen und eine lange Zufallszeichenfolge dazulegen, damit niemand die Nachricht allein anhand des Schlosses erraten kann.
Bei Covenants hasht das Protokoll nicht einfach die Anweisung. Es hängt eine 32-Byte-Nonce an und erstellt dann den Commitment-Wert keccak256(payload || nonce). Da viele Marktanweisungen kurz und vorhersehbar sind, macht diese zusätzliche Zufälligkeit Brute-Force-Angriffe zum Erraten praktisch unmöglich.
So bist du besser davor geschützt, dass jemand das On-Chain-Commitment einer gängigen Order zuordnet. Der Preis dafür sind 32 Byte Entropie, die niemals On-Chain erscheinen und vom Verfasser bis zur Offenlegung sicher aufbewahrt werden müssen.
Sind 32 zusätzliche Byte verborgener Zufälligkeit ein fairer Preis dafür, dass vorhersehbare Anweisungen nicht erraten werden können?
#nil $NIL @Nillion
Es ist, als würde man eine kurze Nachricht in eine Schachtel einschließen und eine lange Zufallszeichenfolge dazulegen, damit niemand die Nachricht allein anhand des Schlosses erraten kann.
Bei Covenants hasht das Protokoll nicht einfach die Anweisung. Es hängt eine 32-Byte-Nonce an und erstellt dann den Commitment-Wert keccak256(payload || nonce). Da viele Marktanweisungen kurz und vorhersehbar sind, macht diese zusätzliche Zufälligkeit Brute-Force-Angriffe zum Erraten praktisch unmöglich.
So bist du besser davor geschützt, dass jemand das On-Chain-Commitment einer gängigen Order zuordnet. Der Preis dafür sind 32 Byte Entropie, die niemals On-Chain erscheinen und vom Verfasser bis zur Offenlegung sicher aufbewahrt werden müssen.
Sind 32 zusätzliche Byte verborgener Zufälligkeit ein fairer Preis dafür, dass vorhersehbare Anweisungen nicht erraten werden können?
#nil $NIL @Nillion
