forked from sovanpanhavathseng/eth-words
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DAG_weak_point_in_soliidity
9 lines (5 loc) · 1.31 KB
/
DAG_weak_point_in_soliidity
1
2
3
4
5
6
7
8
9
DAG (Directed Acyclic Graph) is not a specific data structure used in Solidity itself. However, DAGs are often used in Ethereum, the blockchain platform on which Solidity is built, to represent the transaction history.
One potential weakness of using a DAG to represent the transaction history is that it can make the validation of transactions more complex and time-consuming. This is because a DAG requires that each new transaction be linked to one or more previous transactions, which can create a complex web of dependencies.
As the size of the DAG grows, it becomes increasingly difficult to validate new transactions, as each transaction must be checked against all previous transactions in the DAG. This can result in slower transaction processing times and increased resource requirements for nodes that are validating transactions.
To address this issue, Ethereum has implemented a technique known as "state trie pruning", which allows nodes to discard unnecessary transaction data from the DAG, reducing its size and making it easier to validate new transactions.
In summary, while DAGs can provide a useful way to represent transaction history, they can also introduce complexity and performance issues. It's important for developers to carefully consider the tradeoffs when choosing a data structure for their applications.