# DAG

In terms of technical architecture, BULL has built a DLT distributed ledger (Blockless based) system based on the third-generation blockchain DAG and its related peripheral systems. BULL provides users with a decentralized, permissionless, trustless, layered infrastructure network architecture with fair access rights and encrypted protocols. This layered infrastructure network architecture maintains an "immutable" transaction record through the consensus of network nodes.

The earliest theoretical elaboration of the DAG architecture was DagCoin. Later, the IOTA team took the lead in realizing a decentralized cryptocurrency that serves the Internet of Things (IoT) ecosystem based on the "Tangle mechanism". Byteball decentralized cryptocurrency. In IOTA, before a new transaction is verified, the previous two transactions must be verified directly, which also makes all verified transactions before these two transactions indirectly verified. In a DAG, vertices represent transactions, and lines with arrows represent transaction validation relationships.

The BULL system features are as follows:

1. More thorough decentralization The traditional block + chain structure requires a quasi-centralized operation, that is, mining competition for bookkeeping qualifications is required. The miners who successfully produce blocks will be rewarded, and all current transaction verifications will be packaged into a block, and then published to the network. The BULL system uses a unit + DAG structure, and there is no concept of a block. All units are created and published by users themselves. Its verification and confirmation are undertaken by the descendant units that refer to it as the ancestor unit, and the nodes of the entire network can record their own unit data concurrently, so it is a more thorough decentralized system. system.
2. The paradoxical dilemma of no block expansion and data expansion In the traditional block + chain structure, all transactions must be packaged into blocks to be effective. Then the capacity of the block is set small, and when the transaction volume is large, many transactions cannot be packaged into the block in time. If the block capacity is set large, the network transmission will be slow and the blockchain data will expand rapidly, exceeding the processing capacity of a single node. This is also the fundamental contradiction in the Bitcoin scaling battle. As mentioned above, BULL does not have the concept of a block, so it is a paradoxical dilemma that is inherent to the traditional block + chain structure.
3. Optional transaction confirmation speed The transaction unit of BULL is final as long as it is verified and confirmed by the witness unit issued by the witness. Through the witness unit series mechanism, BULL flexibly adjusts the transaction confirmation time and strikes a balance between the speed and the proportion of witness unit data.
4. No throughput bottleneck Because the traditional block + chain structure exists, the bookkeeper needs to package the transaction into the block, which is a centralized operation process. Then the transaction processing capability of the blockchain system must be subject to the following three points: 1. The performance of the bookkeeper node machine. 2. The network bandwidth of the bookkeeper node and the size of the block. Because of this centralized color operation, no matter how it is optimized, there will always be a bottleneck of processing power. BULL adopts the unit + DAG structure, and there is no centralized operation of the bookkeeper packing blocks. The unit is created and published by the user, and verified and confirmed by other units. Therefore, there is no throughput bottleneck.
5. Clear and predictable finality The traditional block + chain structure does not rule out that two or even more blocks may be generated at the same time, which will lead to forks. In the case of a fork, the traditional blockchain will use the longest chain as the valid chain. This mechanism cannot theoretically determine finality, because there is no guarantee that there is a long hidden chain. And BULL through the witness mechanism, as long as it is verified and confirmed by the witness unit issued by the witness, it is final and cannot be overturned.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://he-chao.gitbook.io/bull-whitepaper/technical-framework/dag.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
