Data Mesh Layer
A Mesh of Data Products for ubiquitous data sharing and exchange for Web2.0 and Web3.
Data Product Hosting Platform / Tools:
In a Data Mesh, a Data Product serves as the fundamental deployment unit for cross-organizational data exchange and sharing. Anyone with the appropriate permissions can access these data products, becoming a data consumer.
Individuals or organizations can host their own data products in their preferred environment, and incorporate and aggregate data from THXNET. or any other sources. Data products are deployed in the form of APIs or web forms.
Tools to assist users in creating data products will be available in both CLI and GUI. During the creation process, these tools will generate WASM binaries for the data product, which will then be executed in the WASM Runtime powered by Agnostic Mesh.
Integration with ID-Wallet / ABAC:
The visibility of a data product can be set to private, public or limited-access via the authorization settings set by the author. The author can either require the data consumer to provide their digital signature signed with their ID-Wallet to prove their identity, or require them to hold specific NFTs to pass ABAC check (Attribute-based Access Control).
Blockchain Data Source (GraphQL):
THXNET. provides a series of common GraphQL services allowing the data products to easily query and fetch the data on the Rootchain and the Leafchain.
Event-Sourcing (Segregation of Block production and Transaction execution):
Following the principle of Separation of Concerns, only crucial messages and events should be stored in the blockchain data storage, while other processes should be handled off-chain. This approach prevents data storage from accumulating unnecessary information and ensures scalability.
In essence, the main concern is maintaining the order of transactions and blocks, as well as the digital signatures that empower them. The actual execution of requests (or messages) can be selectively and parallelly carried out off-chain, while the final states and execution results should be replayable (and deterministic) to ensure resistance to chain reorganizations.
Last updated