What is a tService?
Trustless Service, aka, tService, is a service application running on the off-chain Taxa Network.
Similar to smart contracts on public blockchains, a tService is trustless. That means a tService has the following two properties:
- The node is guaranteed to execute the exact code.
- The node is guaranteed to return the correct results without being tampered with.
A tService has the following features:
Taxa nodes leverage hardware-based isolation which guarantees data and code are sealed in a protected hardware environment against outside access, which even includes the hardware owner. Therefore, it guarantees the integrity and confidentiality of the application. Users establish a secure channel to their Trusted Execution Environment (TEE) to ensure data privacy during transmission.
Without the constraints of an a blockchain’s consensus mechanism, running tServices off-chain gain a significant boost in time and space resources. TEE-powered tServices benefit from large run-time memory and the native instruction set of the processor. In the devnet, each request to the smart contract can carry up to 8KB of data (this size will increase in future versions, eventually reaching 32MB) with a maximum 30 second timeout for execution.
Taxa Network comes with Pyxa (Python + Taxa) - a Python interpreter stack with an integrated service framework migrated into the hardware-based TEE. Compared to the limitations of layer-1 smart contracts, Pyxa provides Python’s rich 3rd-party libraries support to developers, enabling enhanced use cases such as mathematic modeling, cryptography and blockchain communications.
Since they serve a different purpose than smart contracts, tServices differ from on-chain (i.e., layer 1) smart contracts in the following ways:
- tServices are interactive. Users communicate with a tService using a request-response-based protocol without having to wait for confirmation (see the "communication protocol" section in Hello World). This interactive behavior offers more possibilities for smart contracts when compared to non-interactive dApps solely based on layer-1 computation.
- tServices are stateless. tServices focus on the off-chain business logic and only communicate with blockchains to store the final states. The relationship between Taxa Network and blockchains is like a backend service to a database. Also, tServices support temporary storage modules for application contexts (see the "session" section).
Next step: Getting Started.