# Blockchain Structure

### Epic Node <a href="#user-content-file-system-implementation" id="user-content-file-system-implementation"></a>

* User directly and indirectly initiates transaction through SDK, transaction can be either executed in parallel or not;
* Transaction enters txPool and waits to be sealed;
* Transaction gets sealed to block by Sealer and sent to BlockVerifier for verification after consensus;
* BlockVerifier generates transaction DAG according to the transaction list in block;
* BlockVerifier builds the execution context and executes transaction DAG;
* Block is on chain after verified.

<figure><img src="https://553248641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkN54M4zx4vP9Jcf2BsTH%2Fuploads%2FNqmrQah4hRkKkdPOStP0%2FEpic%20Node.jpg?alt=media&#x26;token=d32e1391-86b9-4d7b-b7a9-d635f0f0e6d8" alt=""><figcaption></figcaption></figure>

### File system implementation <a href="#user-content-file-system-implementation" id="user-content-file-system-implementation"></a>

Files are mapped into into a set of extents:

* Extents are block-aligned, continuous regions on the block device
* Extents do not span across zones
* A zone may contain more than one extent
* Extents from different files may share zones

#### Metadata <a href="#user-content-metadata" id="user-content-metadata"></a>

Metadata is stored in storage of the block device.

Each valid meta data zone contains:

* A superblock with the current sequence number and global file system metadata
* At least one snapshot of all files in the file system
* Incremental file system updates (new files, new extents, deletes, renames etc)
