Skip to content

Commit acd43b0

Browse files
committed
Merge branch 'dev' into irish
2 parents 9821f9a + 9df517a commit acd43b0

File tree

26 files changed

+94
-67
lines changed
  • public/content
    • contributing/translation-program/translators-guide
    • developers/docs/smart-contracts/formal-verification
    • roadmap/account-abstraction
    • translations
      • cs
      • de/developers/docs/smart-contracts/formal-verification
      • el/developers/docs/smart-contracts/formal-verification
      • es/developers/docs/smart-contracts/formal-verification
      • fa/developers/docs/smart-contracts/formal-verification
      • fr/developers/docs/smart-contracts
      • hi/developers/docs/smart-contracts/formal-verification
      • hu/developers/docs/smart-contracts/formal-verification
      • it/developers/docs/smart-contracts/formal-verification
      • ja/developers/docs/smart-contracts/formal-verification
      • pt-br/developers/docs/smart-contracts/formal-verification
      • tr/developers/docs/smart-contracts/formal-verification
      • zh-tw
      • zh/developers/docs/smart-contracts/formal-verification
  • src

26 files changed

+94
-67
lines changed

public/content/contributing/translation-program/translators-guide/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ The best way to handle links is to copy them directly from the source, either by
122122

123123
![Example of link.png](./example-of-link.png)
124124

125-
Links also appear in the source text in the form of tags (i.e. \<0> \</0>). If you hover over the tag, the editor will show its full content - sometimes these tags will represent links.
125+
Links also appear in the source text in the form of tags (i.e. `<0>` `</0>`). If you hover over the tag, the editor will show its full content - sometimes these tags will represent links.
126126

127127
It is very important to copy the links from the source and not change their order.
128128

@@ -160,7 +160,7 @@ nonce - _Non-translatable text_
160160

161161
The source text also contains shortened tags, which only contain numbers, meaning that their function is not immediately obvious. You can hover over these tags to see exactly which function they serve.
162162

163-
In the example below, you can see that hovering over the \<0> tag shows that it represents `<code>` and contains a code snippet, therefore the content inside these tags should not be translated.
163+
In the example below, you can see that hovering over the `<0>` tag shows that it represents `<code>` and contains a code snippet, therefore the content inside these tags should not be translated.
164164

165165
![Example of ambiguous tags.png](./example-of-ambiguous-tags.png)
166166

public/content/developers/docs/smart-contracts/formal-verification/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Low-level formal specifications can be given as either Hoare-style properties or
7070

7171
### Hoare-style properties {#hoare-style-properties}
7272

73-
[Hoare Logic](https://en.wikipedia.org/wiki/Hoare_logic) provides a set of formal rules for reasoning about the correctness of programs, including smart contracts. A Hoare-style property is represented by a Hoare triple \{_P_}_c_\{_Q_}, where _c_ is a program and _P_ and _Q_ are predicates on the state of the _c_ (i.e., the program), formally described as _preconditions_ and _postconditions_, respectively.
73+
[Hoare Logic](https://en.wikipedia.org/wiki/Hoare_logic) provides a set of formal rules for reasoning about the correctness of programs, including smart contracts. A Hoare-style property is represented by a Hoare triple `{P}c{Q}`, where `c` is a program and `P` and `Q` are predicates on the state of the `c` (i.e., the program), formally described as _preconditions_ and _postconditions_, respectively.
7474

7575
A precondition is a predicate describing the conditions required for the correct execution of a function; users calling into the contract must satisfy this requirement. A postcondition is a predicate describing the condition that a function establishes if correctly executed; users can expect this condition to be true after calling into the function. An _invariant_ in Hoare logic is a predicate that is preserved by execution of a function (i.e., it doesn't change).
7676

public/content/roadmap/account-abstraction/index.md

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ summaryPoints:
1010

1111
# Account abstraction {#account-abstraction}
1212

13-
Users interact with Ethereum using **[externally owned accounts (EOAs)](/glossary/#eoa)**. This is the only way to start a transaction or execute a smart contract. This limits how users can interact with Ethereum. For example, it makes it difficult to do batches of transactions and requires users to always keep an ETH balance to cover gas.
13+
Most existing users interact with Ethereum using **[externally owned accounts (EOAs)](/glossary/#eoa)**. This limits how users can interact with Ethereum. For example, it makes it difficult to do batches of transactions and requires users to always keep an ETH balance to pay transaction fees.
1414

15-
Account abstraction is a way to solve these problems by allowing users to flexibly program more security and better user experiences into their accounts. This can happen by [upgrading EOAs](https://eips.ethereum.org/EIPS/eip-3074) so they can be controlled by smart contracts, or by [upgrading smart contracts](https://eips.ethereum.org/EIPS/eip-2938) so they can initiate transactions. These options both require changes to the Ethereum protocol. There is also a third path involving adding a [second, separate transaction system](https://eips.ethereum.org/EIPS/eip-4337) to run in parallel to the existing protocol. Regardless of the route, the outcome is access to Ethereum via smart contract wallets, either natively supported as part of the existing protocol or via an add-on transaction network.
15+
Account abstraction is a way to solve these problems by allowing users to flexibly program more security and better user experiences into their accounts. This can happen by [upgrading EOAs](https://eips.ethereum.org/EIPS/eip-7702) so they can be controlled by smart contracts. There is also another path involving adding a [second, separate transaction system](https://eips.ethereum.org/EIPS/eip-4337) to run in parallel to the existing protocol. Regardless of the route, the outcome is access to Ethereum via smart contract wallets, either natively supported as part of the existing protocol or via an add-on transaction network.
1616

1717
Smart contract wallets unlock many benefits for the user, including:
1818

@@ -74,12 +74,6 @@ These are just a few examples of how user experiences could be leveled up by acc
7474

7575
Smart contract wallets exist today but are challenging to implement because the EVM does not support them. Instead, they rely on wrapping relatively complex code around standard Ethereum transactions. Ethereum can change this by allowing smart contracts to initiate transactions, handling the necessary logic in Ethereum smart contracts instead of offchain. Putting logic into smart contracts also increases Ethereum's decentralization since it removes the need for "relayers" run by wallet developers to translate messages signed by the user to regular Ethereum transactions.
7676

77-
<ExpandableCard title="EIP-2771: account abstraction using meta-transactions" eventCategory="/roadmap/account-abstract" eventName="clicked EIP-2771: account abstraction using meta-transactions">
78-
79-
EIP-2771 introduces the concept of meta-transactions that allow third parties to pay for a user's gas costs without making changes to the Ethereum protocol. The idea is that transactions signed by a user get sent to a `Forwarder` contract. The forwarder is a trusted entity that verifies that transactions are valid before sending them on to a gas relay. This is done offchain, avoiding the need to pay gas. The gas relay passes the transaction on to a `Recipient` contract, paying the necessary gas to make the transaction executable on Ethereum. The transaction is executed if the `Forwarder` is known and trusted by the `Recipient`. This model makes it easy for developers to implement gasless transactions for users.
80-
81-
</ExpandableCard>
82-
8377
<ExpandableCard title="EIP-4337: account abstraction without changing the Ethereum protocol" eventCategory="/roadmap/account-abstract" eventName="clicked EIP-4337: account abstraction without changing the Ethereum protocol">
8478

8579
EIP-4337 is the first step towards native smart contract wallet support in a decentralized way <em>without requiring changes to the Ethereum protocol</em>. Instead of modifying the consensus layer to support smart contract wallets, a new system is added separately to the normal transaction gossip protocol. This higher-level system is built around a new object called a <code>UserOperation</code> that package up actions from a user along with the relevant signatures. These <code>UserOperation</code> objects then get broadcast into a dedicated mempool where validators can collect them into a "bundle transaction". The bundle transaction represents a sequence of many individual <code>UserOperations</code> and can be included in Ethereum blocks just like a normal transaction, and would be picked up by validators using a similar fee-maximizing selection model.
@@ -90,25 +84,9 @@ The way wallets work would also change under EIP-4337. Instead of each wallet re
9084

9185
</ExpandableCard>
9286

93-
<ExpandableCard title="EIP-2938: changing the Ethereum protocol to support account abstraction" eventCategory="/roadmap/account-abstract" eventName="clicked EIP-2938: changing the Ethereum protocol to support account abstraction">
94-
95-
<a href="https://eips.ethereum.org/EIPS/eip-2938">EIP-2938</a> aims to update the Ethereum protocol by introducing a new transaction type, <code>AA_TX_TYPE</code> that includes three fields: <code>nonce</code>, <code>target</code> and <code>data</code>, where <code>nonce</code> is a transaction counter, <code>target</code> is the entry point contract address and <code>data</code> is EVM bytecode. To execute these transactions, two new instructions (known as opcodes) have to be added to the EVM: <code>NONCE</code> and <code>PAYGAS</code>. The <code>NONCE</code> opcode tracks the transaction sequence and <code>PAYGAS</code> calculates and withdraws the gas required to execute the transaction from the contract&#39;s balance. These new features allow Ethereum to support smart contract wallets natively as the necessary infrastructure is built into Ethereum&#39;s protocol.
96-
97-
Note that EIP-2938 is currently not active. The community is currently favoring EIP-4337 because it does not require changes to the protocol.
98-
99-
</ExpandableCard>
100-
101-
<ExpandableCard title="EIP-3074: upgrading externally-owned accounts for account abstraction" eventCategory="/roadmap/account-abstract" eventName="clicked EIP-3074: upgrading externally-owned accounts for account abstraction">
102-
103-
<a href="https://eips.ethereum.org/EIPS/eip-3074">EIP-3074</a> aims to update Ethereum&#39;s externally-owned accounts by allowing them to delegate control to a smart contract. This means smart contract logic could approve transactions originating from an EOA. This would allow features such as gas-sponsoring and batched transactions. For this to work, two new opcodes have to be added to the EVM: <code>AUTH</code> and <code>AUTHCALL</code>. With EIP-3074 the benefits of a smart contract wallet are made available <em>without needing a contract</em> - instead, a specific type of stateless, trustless, non-upgradeable contract known as an "invoker" handles the transactions.
104-
105-
Note that EIP-3074 is currently not active. The community is currently favoring EIP-4337 because it does not require changes to the protocol.
106-
107-
</ExpandableCard>
108-
10987
## Current progress {#current-progress}
11088

111-
Smart contract wallets are already available, but more upgrades are required to make them as decentralized and permissionless as possible. EIP-4337 is a mature proposal that does not require any changes to Ethereum's protocol, so it is possible that this could be implemented quickly. However, upgrades that alter Ethereum's protocol are currently not in active development, so those changes may take much longer to ship. It is also possible that account abstraction is achieved well enough by EIP-4337 that no protocol changes are ever required.
89+
**The next two Ethereum upgrades ([Pectra](/roadmap/pectra/) and later Fusaka) will address these improvements.** Pectra will be released soon in upcomming months. Smart contract wallets are already available. EIP-4337 is a mature proposal that does not require any changes to Ethereum's protocol, so many wallets have started adopting this standard.
11290

11391
**Note**: You can track adoption of ERC-4337 smart contract wallets [via this dashboard](https://www.bundlebear.com/overview/all).
11492

@@ -120,11 +98,8 @@ Smart contract wallets are already available, but more upgrades are required to
12098
- ["Account abstraction ELI5" from Devcon Bogota](https://www.youtube.com/watch?v=QuYZWJj65AY)
12199
- [Vitalik's "Road to Account Abstraction" notes](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
122100
- [Vitalik's blog post on social recovery wallets](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
123-
- [EIP-2938 notes](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938)
124-
- [EIP-2938 documentation](https://eips.ethereum.org/EIPS/eip-2938)
125101
- [EIP-4337 notes](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)
126102
- [EIP-4337 documentation](https://eips.ethereum.org/EIPS/eip-4337)
127-
- [EIP-2771 documentation](https://eips.ethereum.org/EIPS/eip-2771)
128103
- ["Basics of Account Abstraction" -- What is Account Abstraction Part I](https://www.alchemy.com/blog/account-abstraction)
129104
- [Charting Ethereum's Account Abstraction Roadmap I: EIP-3074, EIP-5806, & EIP-7702](https://research.2077.xyz/charting-ethereums-account-abstraction-roadmap-eip-3074-eip-5806-eip-7702)
130105
- [Awesome Account Abstraction](https://github.com/4337Mafia/awesome-account-abstraction)

public/content/translations/cs/community/get-involved/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ Pokud nejste vývojář, může být obtížné zjistit, jak začít pracovat s
5959

6060
### Nabídněte pomoc při psaní poznámek během komunitních hovorů {#take-notes}
6161

62-
- Existuje mnoho hovorů open-source komunit a mít osobu dedikovanou na zápis poznámek je velká pomoc. Pokud máte zájem, připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu) a představte se!
62+
- Existuje mnoho hovorů open-source komunit a mít osobu dedikovanou na zápis poznámek je velká pomoc. Pokud máte zájem, připojte se k [Discordu Ethereum Cat Herders ](https://discord.com/invite/Nz6rtfJ8Cu)a představte se!
6363

6464
### Překládejte obsah o Ethereu do svého rodného jazyka {#translate-ethereum}
6565

6666
- ethereum.org má program věnovaný překladům, který překládá webové stránky a další zdroje do mnoha různých jazyků
67-
- [Tady](/contributing/translation-program) zjistíte, jak se můžete zapojit
67+
- [Tady ](/contributing/translation-program)zjistíte, jak se můžete zapojit
6868

6969
### Spustit uzel {#run-a-node}
7070

public/content/translations/cs/contributing/translation-program/translators-guide/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Nejlepší způsob, jak pracovat s odkazy, je kopírovat je přímo ze zdroje, b
116116

117117
![Příklad odkazu.png](./example-of-link.png)
118118

119-
Odkazy se také zobrazují ve zdrojovém textu ve formě tagů (tj. \<0> \</0>). Pokud na tag umístíte kurzor, editor zobrazí jeho celý obsah – někdy tyto tagy představují odkazy.
119+
Odkazy se také zobrazují ve zdrojovém textu ve formě tagů (tj. `<0>` `</0>`). Pokud na tag umístíte kurzor, editor zobrazí jeho celý obsah – někdy tyto tagy představují odkazy.
120120

121121
Je velmi důležité zkopírovat odkazy ze zdroje a neměnit jejich pořadí.
122122

@@ -154,7 +154,7 @@ nonce – _text, který není určen k překladu_
154154

155155
Zdrojový text také obsahuje zkrácené tagy, které obsahují pouze čísla, což znamená, že jejich funkce není okamžitě zřejmá. Můžete na tyto tagy najet kurzorem, abyste přesně zjistili, jakou funkci plní.
156156

157-
V příkladu níže můžete vidět, že když najedete kurzorem na tag \<0> , zobrazí se, že představuje `<code>` a obsahuje úryvek kódu, takže obsah uvnitř těchto tagů by neměl být přeložen.
157+
V příkladu níže můžete vidět, že když najedete kurzorem na tag `<0>` , zobrazí se, že představuje `<code>` a obsahuje úryvek kódu, takže obsah uvnitř těchto tagů by neměl být přeložen.
158158

159159
![Příklad nejednoznačných tagů.png](./example-of-ambiguous-tags.png)
160160

public/content/translations/cs/desci/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Uvítáme návrhy na nové projekty, které je třeba uvést na seznam – pro z
126126
- [DeSci: Budoucnost výzkumu od Samuela Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
127127
- [Financování vědy (Epilolog: DeSci a nové krypto základní prvky) od Nadie](https://nadia.xyz/science-funding)
128128
- [Decentralizace narušuje vývoj léků](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
129-
- [Co je DeSci – decentralizovaná věda?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
129+
- [Co je DeSci – decentralizovaná věda?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
130130

131131
### Videa {#videos}
132132

public/content/translations/cs/developers/docs/intro-to-ether/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ První kryptoměnou byl Bitcoin, který vytvořil Satoshi Nakamoto. Od spuštěn
2222

2323
Ethereum umožňuje vývojářům vytvářet [**decentralizované aplikace (dappky)**](/developers/docs/dapps), které sdílejí společný fond výpočetního výkonu. Tento sdílený fond je omezený, takže Ethereum potřebuje mechanismus, který určí, kdo ho může používat. Jinak by mohla dappka omylem nebo záměrně spotřebovat všechny síťové zdroje, což by znemožnilo přístup ostatním.
2424

25-
Kryptoměna ether podporuje mechanismus stanovení cen pro výpočetní výkon Etherea. Když uživatelé chtějí provést transakci, musí zaplatit ethereum, aby byla jejich transakce na blockchainu uznána. Tyto náklady jsou známé jako [poplatky za palivo](/developers/docs/gas/) a výše poplatku závisí na množství výpočetního výkonu potřebného k provedení transakce a na celosíťové poptávce po výpočetním výkonu v daném okamžiku.
25+
Kryptoměna ether podporuje mechanismus stanovení cen pro výpočetní výkon Etherea. Když uživatelé chtějí provést transakci, musí zaplatit etherem, aby byla jejich transakce na blockchainu uznána. Tyto náklady jsou známé jako [poplatky za palivo](/developers/docs/gas/) a výše poplatku závisí na množství výpočetního výkonu potřebného k provedení transakce a na celosíťové poptávce po výpočetním výkonu v daném okamžiku.
2626

2727
Proto, i když by škodlivá dappka odeslala nekonečnou smyčku, transakci by nakonec došel ether a byla by ukončena, což by umožnilo síti vrátit se do normálu.
2828

@@ -73,6 +73,6 @@ Uživatelé mohou zjistit zůstatek etheru na jakémkoliv [účtu](/developers/d
7373

7474
- [Definování Etheru a Etherea](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html)_CME Group_
7575
- [Ethereum Whitepaper](/whitepaper/): Původní návrh Etherea. Tento dokument obsahuje popis etheru a motivaci za jeho vytvořením.
76-
- [Kalkulačka gwei](https://www.alchemy.com/gwei-calculator): Použijte tuto kalkulačku gwei pro snadnou konverzi mezi wei, gwei a ethereum. Stačí zadat jakoukoliv částku ve wei, gwei nebo ETH a automaticky vypočítat konverzi.
76+
- [Kalkulačka gwei](https://www.alchemy.com/gwei-calculator): Použijte tuto kalkulačku gwei pro snadnou konverzi mezi wei, gwei a etherem. Stačí zadat jakoukoliv částku ve wei, gwei nebo ETH a automaticky vypočítat konverzi.
7777

7878
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_

public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ Formální specifikace na nízké úrovni mohou být uvedeny buď jako vlastnost
7070

7171
### Vlastnosti ve stylu Hoareovy logiky {#hoare-style-properties}
7272

73-
[Hoareova logika](https://en.wikipedia.org/wiki/Hoare_logic) poskytuje sadu formálních pravidel pro uvažování o správnosti programů, včetně chytrých kontraktů. Vlastnost ve stylu Hoareovy logiky je reprezentována jako Hoareův trojúhelník \{_P_}_c_\{_Q_}, kde _c_ je program a _P_ a _Q_ jsou predikáty na stavu _c_ (tj. programu), formálně popsané jako _předpoklady_ a _podmínky následku_.
74-
75-
Předpoklad je predikát popisující podmínky potřebné pro správné provedení funkce; uživatelé volající kontrakt musí tuto podmínku splnit. Podmínka následku je predikát popisující podmínku, kterou funkce stanoví, pokud je správně provedena; uživatelé mohou očekávat, že tato podmínka bude po volání funkce pravdivá. _Invariant_ v Hoareově logice je predikát, který je zachován při provádění funkce (tj. nemění se).
73+
[Hoareova logika](https://en.wikipedia.org/wiki/Hoare_logic) poskytuje sadu formálních pravidel pro uvažování o správnosti programů, včetně chytrých kontraktů. Vlastnost ve stylu Hoareovy logiky je reprezentována jako Hoareův trojúhelník `{P}c{Q}`, kde `c` je program a `P` a `Q` jsou predikáty na stavu `c` (tj. programu), formálně popsané jako _předpoklady_ a _podmínky následku_.
7674

7775
Specifikace ve stylu Hoareovy logiky mohou zaručit buď _částečnou správnost_, _nebo úplnou správnost_. Implementace funkce kontraktu je „částečně správná“, pokud předpoklad platí před provedením funkce a když provedení končí, podmínka následku je také pravdivá. Důkaz úplné správnosti je obdržen, pokud je předpoklad pravdivý před provedením funkce, dále je zaručeno, že provádění funkce bude ukončeno, a když k tomu dojde, následek bude pravdivý.
7876

0 commit comments

Comments
 (0)