Ich habe etwas Zeit damit verbracht, mir anzusehen, was eine gültige @NewtonProtocol -</>attestation für nur eine einzige Transaktion verwendbar macht.
Zunächst ging ich davon aus, dass die Operator-Signatur selbst eine Wiederverwendung verhindern würde.
Aber eine Signatur beweist nur, dass Operatoren die Nachricht genehmigt haben, die sie signiert haben. Die schwierigere Frage ist, ob diese Nachricht an genau die Aktion gebunden war, die die Anwendung später ausführt.
Stell dir vor, eine Attestation genehmigt eine Auszahlung von einer Wallet an einen einzigen Vertrag.
Wenn die signierte Nachricht nicht an den Absender, das Ziel, die Parameter, die Chain, den Nonce und die Gültigkeit gebunden ist, kann dieselbe Genehmigung immer noch eine andere Transaktion erfüllen.
Die Kryptografie kann weiterhin gültig bleiben.
Die Autorisierung kann trotzdem falsch sein.
Eine gültige Attestation sollte daher als Berechtigung für eine ganz bestimmte Absicht behandelt werden – nicht als wiederverwendbare Genehmigung.
Beim Replay muss niemand eine Signatur fälschen. Es braucht nur eine andere Aktion, die noch in den ursprünglichen signierten Kontext passt.
Ein Nonce kann wiederholte Nutzung verhindern. Eine Ablaufzeit begrenzt, wie lange die Genehmigung gültig bleibt. Die Bindung an Chain und Vertrag kann eine Wiederverwendung an anderer Stelle verhindern. Die Bindung an Parameter kann verhindern, dass der genehmigte Betrag oder Empfänger später geändert wird.
Gültige Attestation ≠ wiederverwendbare Autorisierung.
Der Punkt, zu dem ich immer wieder zurückkomme, ist, ob Anwendungen jede Attestation ablehnen sollten, die nicht an eine eindeutige Absicht gebunden ist.
Wenn sich das Ziel, die Parameter, die Chain oder die zeitliche Komponente ändern können, während die Genehmigung weiterhin gültig ist – wozu haben die Operatoren dann genau autorisiert?
Welche Bindung ist am wichtigsten, um Replay von Attestations zu verhindern?
@NewtonProtocol $NEWT #Newt
#JuneCPIWarshTestimonyBankEarningsSameWeek
#ShanghaiCompositeHitsThreeMonthLow
#EuropeanStocksFall
#SouthKoreaForcedLiquidationsHit344.2BWon
Zunächst ging ich davon aus, dass die Operator-Signatur selbst eine Wiederverwendung verhindern würde.
Aber eine Signatur beweist nur, dass Operatoren die Nachricht genehmigt haben, die sie signiert haben. Die schwierigere Frage ist, ob diese Nachricht an genau die Aktion gebunden war, die die Anwendung später ausführt.
Stell dir vor, eine Attestation genehmigt eine Auszahlung von einer Wallet an einen einzigen Vertrag.
Wenn die signierte Nachricht nicht an den Absender, das Ziel, die Parameter, die Chain, den Nonce und die Gültigkeit gebunden ist, kann dieselbe Genehmigung immer noch eine andere Transaktion erfüllen.
Die Kryptografie kann weiterhin gültig bleiben.
Die Autorisierung kann trotzdem falsch sein.
Eine gültige Attestation sollte daher als Berechtigung für eine ganz bestimmte Absicht behandelt werden – nicht als wiederverwendbare Genehmigung.
Beim Replay muss niemand eine Signatur fälschen. Es braucht nur eine andere Aktion, die noch in den ursprünglichen signierten Kontext passt.
Ein Nonce kann wiederholte Nutzung verhindern. Eine Ablaufzeit begrenzt, wie lange die Genehmigung gültig bleibt. Die Bindung an Chain und Vertrag kann eine Wiederverwendung an anderer Stelle verhindern. Die Bindung an Parameter kann verhindern, dass der genehmigte Betrag oder Empfänger später geändert wird.
Gültige Attestation ≠ wiederverwendbare Autorisierung.
Der Punkt, zu dem ich immer wieder zurückkomme, ist, ob Anwendungen jede Attestation ablehnen sollten, die nicht an eine eindeutige Absicht gebunden ist.
Wenn sich das Ziel, die Parameter, die Chain oder die zeitliche Komponente ändern können, während die Genehmigung weiterhin gültig ist – wozu haben die Operatoren dann genau autorisiert?
Welche Bindung ist am wichtigsten, um Replay von Attestations zu verhindern?
@NewtonProtocol $NEWT #Newt
#JuneCPIWarshTestimonyBankEarningsSameWeek
#ShanghaiCompositeHitsThreeMonthLow
#EuropeanStocksFall
#SouthKoreaForcedLiquidationsHit344.2BWon
Unique nonce
100%
Exact parameters
0%
Chain and contract
0%
Expiry deadline
0%
2 Stimmen • Abstimmung beendet