From a4e854c143cea031eefaec2ed001205afd857231 Mon Sep 17 00:00:00 2001 From: dor-starkware <153503610+dor-starkware@users.noreply.github.com> Date: Tue, 30 Jan 2024 10:27:18 +0200 Subject: [PATCH 1/2] Update validate_and_execute.adoc I changed the phrasing about max steps being implemented in the future for the __validate__ function to already being implemented. --- .../pages/Accounts/validate_and_execute.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc b/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc index d3bdd7d561..cbd8ea94ca 100644 --- a/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc +++ b/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc @@ -29,7 +29,7 @@ When the `__validate__` function fails, no fee will There are some limitations set on the `__validate__` function. The purpose of these limitations is twofold: -* We want to avoid the sequencer having to do a lot of work only to discover that the validation failed and the sequencer is then not eligible to charge a fee (if this was possible, the sequencer would be completely exposed to DOS attacks). Validation, while now abstract and in control of the account owner rather than the protocol, should still be a simple operation. This is why in the future, Starknet will place max steps limitation upon the `__validate__` function. +* We want to avoid the sequencer having to do a lot of work only to discover that the validation failed and the sequencer is then not eligible to charge a fee (if this was possible, the sequencer would be completely exposed to DOS attacks). Validation, while now abstract and in control of the account owner rather than the protocol, should still be a simple operation. This is why a maximum steps limitation on the `__validate__` function is currently in place on the Starknet network. For more details on these limits, refer to xref:../../../tools/pages/limits_and_triggers.adoc[Starknet's limits and triggers documentation]. * Even if the validation is simple, we could still face the following attack: ** An attacker fills the mempool with transactions that are valid at time T. From 1a6ee4f78f5cdb6f6605cce01455a5cfee4db928 Mon Sep 17 00:00:00 2001 From: Steve Goodman Date: Mon, 5 Feb 2024 14:23:56 +0200 Subject: [PATCH 2/2] Minor edit. --- .../pages/Accounts/validate_and_execute.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc b/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc index cbd8ea94ca..5f33170f4a 100644 --- a/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc +++ b/components/Starknet/modules/architecture_and_concepts/pages/Accounts/validate_and_execute.adoc @@ -29,7 +29,7 @@ When the `__validate__` function fails, no fee will There are some limitations set on the `__validate__` function. The purpose of these limitations is twofold: -* We want to avoid the sequencer having to do a lot of work only to discover that the validation failed and the sequencer is then not eligible to charge a fee (if this was possible, the sequencer would be completely exposed to DOS attacks). Validation, while now abstract and in control of the account owner rather than the protocol, should still be a simple operation. This is why a maximum steps limitation on the `__validate__` function is currently in place on the Starknet network. For more details on these limits, refer to xref:../../../tools/pages/limits_and_triggers.adoc[Starknet's limits and triggers documentation]. +* We want to avoid the sequencer having to do a lot of work only to discover that the validation failed and the sequencer is then not eligible to charge a fee (if this was possible, the sequencer would be completely exposed to DOS attacks). Validation, while now abstract and in control of the account owner rather than the protocol, should still be a simple operation. This is why a maximum steps limitation on the `__validate__` function is currently in place on the Starknet network. For more information, see xref:tools:limits_and_triggers.adoc[Current limits]. * Even if the validation is simple, we could still face the following attack: ** An attacker fills the mempool with transactions that are valid at time T.