From c33503fc0771fb08b843addaa8f9148b84fdc654 Mon Sep 17 00:00:00 2001 From: Elias Rad <146735585+nnsW3@users.noreply.github.com> Date: Fri, 17 Jan 2025 18:22:01 +0200 Subject: [PATCH 1/4] Update keys.md --- docs/docs/aztec/concepts/accounts/keys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/aztec/concepts/accounts/keys.md b/docs/docs/aztec/concepts/accounts/keys.md index 7df96c9c13fc..168ff03c07c5 100644 --- a/docs/docs/aztec/concepts/accounts/keys.md +++ b/docs/docs/aztec/concepts/accounts/keys.md @@ -109,7 +109,7 @@ In the following section we describe a few ways how an account contract could be #### Using a private note -Storing the signing public key in a private note makes it accessible from the entrypoint function, which is required to be a private function, and allows for rotating the key when needed. However, keep in mind that reading a private note requires nullifying it to ensure it is up-to-date, so each transaction you send will destroy and recreate the public key. This has the side effect of enforcing a strict ordering across all transactions, since each transaction will refer the instantiation of the private note from the previous one. +Storing the signing public key in a private note makes it accessible from the entrypoint function, which is required to be a private function, and allows for rotating the key when needed. However, keep in mind that reading a private note requires nullifying it to ensure it is up-to-date, so each transaction you send will destroy and recreate the public key. This has the side effect of enforcing a strict ordering across all transactions, since each transaction will refer to the instantiation of the private note from the previous one. #### Using an immutable private note @@ -122,7 +122,7 @@ A compromise between the two solutions above is to use shared state. This would #### Reusing some of the in-protocol keys It is possible to use some of the key pairs defined in protocol (e.g. incoming viewing keys) as the signing key. -Since this key is part of the address preimage (more on this on the privacy master key section), it can be validated against the account contract address rather than having to store it. +Since this key is part of the address preimage (more on this in the privacy master key section), it can be validated against the account contract address rather than having to store it. However, this approach is not recommended since it reduces the security of the user's account. #### Using a separate keystore From a6e869327bd555e34e9deec3cfd9bdad35a80191 Mon Sep 17 00:00:00 2001 From: Elias Rad <146735585+nnsW3@users.noreply.github.com> Date: Fri, 17 Jan 2025 18:24:40 +0200 Subject: [PATCH 2/4] Update index.md --- docs/docs/aztec/concepts/circuits/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/aztec/concepts/circuits/index.md b/docs/docs/aztec/concepts/circuits/index.md index 606d7ca54a44..69b2e70499c5 100644 --- a/docs/docs/aztec/concepts/circuits/index.md +++ b/docs/docs/aztec/concepts/circuits/index.md @@ -17,7 +17,7 @@ In Aztec, circuits come from two sources: 1. Core protocol circuits 2. User-written circuits (written as Aztec.nr Contracts and deployed to the network) -This page focusses on the core protocol circuits. These circuits check that the rules of the protocol are being adhered to. +This page focuses on the core protocol circuits. These circuits check that the rules of the protocol are being adhered to. When a function in an Ethereum smart contract is executed, the EVM performs checks to ensure that Ethereum's transaction rules are being adhered-to correctly. Stuff like: From 8d424b56406c8e5103bf8e4657dbaaa5a1ed603c Mon Sep 17 00:00:00 2001 From: Elias Rad <146735585+nnsW3@users.noreply.github.com> Date: Fri, 17 Jan 2025 18:25:47 +0200 Subject: [PATCH 3/4] Update acir_simulator.md --- docs/docs/aztec/concepts/pxe/acir_simulator.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/aztec/concepts/pxe/acir_simulator.md b/docs/docs/aztec/concepts/pxe/acir_simulator.md index 020dbdb812a9..385e95c070bf 100644 --- a/docs/docs/aztec/concepts/pxe/acir_simulator.md +++ b/docs/docs/aztec/concepts/pxe/acir_simulator.md @@ -28,7 +28,7 @@ Public functions can call other public functions as well as private functions. P ### Unconstrained Functions -Unconstrained functions are used to extract useful data for users, such as the user balance. They are not proved, and are simulated client-side. +Unconstrained functions are used to extract useful data for users, such as the user balance. They are not proven, and are simulated client-side. They are run with the assistance of a DB oracle that provides any private data requested by the function. From 14242c28545d29bd1650784b58d523f4adff1ebf Mon Sep 17 00:00:00 2001 From: Elias Rad <146735585+nnsW3@users.noreply.github.com> Date: Fri, 17 Jan 2025 18:29:20 +0200 Subject: [PATCH 4/4] Update call_types.md --- docs/docs/aztec/glossary/call_types.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/aztec/glossary/call_types.md b/docs/docs/aztec/glossary/call_types.md index efdbd2bd26b6..0bd73fcfd416 100644 --- a/docs/docs/aztec/glossary/call_types.md +++ b/docs/docs/aztec/glossary/call_types.md @@ -112,7 +112,7 @@ Since the public call is made asynchronously, any return values or side effects #include_code enqueue_public /noir-projects/noir-contracts/contracts/lending_contract/src/main.nr rust -It is also possible to create public functions that can _only_ be invoked by privately enqueueing a call from the same contract, which can very useful to update public state after private execution (e.g. update a token's supply after privately minting). This is achieved by annotating functions with `#[internal]`. +It is also possible to create public functions that can _only_ be invoked by privately enqueueing a call from the same contract, which can be very useful to update public state after private execution (e.g. update a token's supply after privately minting). This is achieved by annotating functions with `#[internal]`. A common pattern is to enqueue public calls to check some validity condition on public state, e.g. that a deadline has not expired or that some public value is set.