Update Smart Contracts

Craig Everett 2026-02-06 20:47:57 +09:00
parent 4d2bc669e9
commit 998c0aef0c

@ -8,6 +8,6 @@ In a distributed ledger such as Ethereum there is a language called "Solidity" a
The Solidity language and the EVM suffer quite a bit from the same kinds of problems that can occur in spreadsheets, such as missing data having an unexpected impact on an outcome or having impossible looking outcomes based on the quirks of the underlying system. In the Gajumaru these problems have been fixed through the introduction of the Sophia language (which can be checked prior to execution and lacks the surprising corner cases that plague Solidity) and the Fast Aeternity Transaction Engine (aka "FATE VM"). The Solidity language and the EVM suffer quite a bit from the same kinds of problems that can occur in spreadsheets, such as missing data having an unexpected impact on an outcome or having impossible looking outcomes based on the quirks of the underlying system. In the Gajumaru these problems have been fixed through the introduction of the Sophia language (which can be checked prior to execution and lacks the surprising corner cases that plague Solidity) and the Fast Aeternity Transaction Engine (aka "FATE VM").
The important thing to understand about smart contracts is that instead of entering data into a spreadsheet cell to make the macro machinery execute, a "contract call transaction" must be sent to the blockchain. The leader will take the data in that transaction, put it into whatever function is to be called, and then update the ledger state the same way the spreadsheet program would update the spreadsheet according to a macros rules. This is an "atomic" action, meaning all changes encoded in the function happen or none of them do. The important thing to understand about smart contracts is that instead of entering data into a spreadsheet cell to make the macro machinery execute, a "contract call transaction" must be sent to the blockchain. The leader will take the data in that transaction, put it into whatever function is to be called, and then update the ledger state the same way the spreadsheet program would update the spreadsheet according to a macro's rules. This is an "atomic" action, meaning all changes encoded in the function happen or none of them do.
This idea of macros/smart contracts being able to encode complex actions within the ledger coupled with consensus being focused on all nodes agreeing to the sequence of events (what events happened in what order, and how that affects the ongoing state within the chains data), all nodes can come to an agreement about what exactly has happened on the chain to date. This idea of macros/smart contracts being able to encode complex actions within the ledger coupled with consensus being focused on all nodes agreeing to the sequence of events (what events happened in what order, and how that affects the ongoing state within the chain's data), all nodes can come to an agreement about what exactly has happened on the chain to date.