Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: UTXO and VM #225

Draft
wants to merge 17 commits into
base: docs-sprint
Choose a base branch
from
Draft

docs: UTXO and VM #225

wants to merge 17 commits into from

Conversation

calldelegation
Copy link
Contributor

@calldelegation calldelegation commented Apr 5, 2024

  • UTXO
  • VM

Notes:
1. UTXO explanation needs to be much clearer than the one now it is too muddled with a non stateful version
2. VM does not have information from the specs and needs to be simplified and reworded
3. UTXO needs a diagram

@calldelegation calldelegation changed the base branch from master to docs-sprint April 5, 2024 21:57
@calldelegation calldelegation self-assigned this Apr 5, 2024
@calldelegation
Copy link
Contributor Author

https://forum.celestia.org/t/accounts-strict-access-lists-and-utxos/37

  1. Amount of coins
  2. Contract ID
  3. Contract code hash
  4. Storage root


- **Register-based Virtual Machine:** Opting for a register-based architecture, FVM achieves a reduction in the number of required instructions for executing operations. This optimization translates into lower gas costs and enhanced performance compared to stack-based virtual machines like EVM.

- **Advanced Smart Contract Capabilities:** FVM introduces scripts and predicates that simplify executing complex transactions and smart contract logic. This approach enhances user experience and operational efficiency within the blockchain ecosystem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also link to a doc that explains scripts and predicates, even briefly. Perhaps linking directly to the section in the new Relationship to Ethereum doc that mentions a definition for them?

# Understanding UTXO

The Unspent Transaction Output (UTXO) model, is a fundamental concept in Fuel's underlying blockchain architecture. Fuel tracks digital currency through transaction outputs, each representing a discrete piece of state that can be spent. This model is extended by stateful UTXOs to include additional data or conditions, enabling complex transactions and smart contract functionalities within a UTXO framework.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It feels like there should be a section header here like "How do transactions work with a UTXO model?" or something


By using strict access lists, transactions explicitly list the contracts they intend to interact with, allowing for the seamless interaction among contracts by utilizing their UTXOs in a unified transaction.

## Why Choose UTXO Over Account-Based Models?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a section on state minimization as a benefit as well


> The Fuel Virtual Machine is an operating system designed for unparalleled speed in blockchain computation on the execution layer.

The Fuel Virtual Machine fundamentally serves as an execution environment tailored for smart contracts, scripts, and predicates. With Fuel's main objective being to maximize throughput, the development of a new VM is essential for advancing scalable blockchain technology.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Fuel Virtual Machine fundamentally serves as an execution environment tailored for smart contracts, scripts, and predicates. With Fuel's main objective being to maximize throughput, the development of a new VM is essential for advancing scalable blockchain technology.
The Fuel Virtual Machine serves as an execution environment tailored for smart contracts, scripts, and predicates. With Fuel's main objective being to maximize throughput, the development of a new VM is essential for advancing scalable blockchain technology.


The Fuel VM addresses key limitations of the Ethereum Virtual Machine (EVM) in order to facilitate the fastest and most cost-effective transaction execution. The EVM's requirement for backward compatibility means that EVM-based Layer 2 solutions (L2s) must rely on legacy software and be constrained to single-threaded computation.

The surging demand for block space, driven by surging activity in Decentralized Finance (DeFi), Gaming, Decentralized Physical Infrastructure Networks (DePIN), among other areas, necessitating the need for better solutions. By adopting the UTXO model, Fuel leverages the full potential of modern computer cores, significantly enhancing transaction throughput by several orders of magnitude, all while maintaining the foundational security of Ethereum.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The surging demand for block space, driven by surging activity in Decentralized Finance (DeFi), Gaming, Decentralized Physical Infrastructure Networks (DePIN), among other areas, necessitating the need for better solutions. By adopting the UTXO model, Fuel leverages the full potential of modern computer cores, significantly enhancing transaction throughput by several orders of magnitude, all while maintaining the foundational security of Ethereum.
The surging demand for block space, driven by increasing activity in Decentralized Finance (DeFi), Gaming, Decentralized Physical Infrastructure Networks (DePIN), among other areas, necessitates the need for better solutions. By adopting the UTXO model, Fuel leverages the full potential of modern computer cores, significantly enhancing transaction throughput by several orders of magnitude, all while maintaining the foundational security of Ethereum.


By using strict access lists, transactions explicitly list the contracts they intend to interact with, allowing for the seamless interaction among contracts by utilizing their UTXOs in a unified transaction.

## Why Choose UTXO Over Account-Based Models?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add other benefits as well such as minimizing state bloat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants