What is a tService?
Trustless Service, aka, tService, is the service application running on the off-chain Taxa Network.
Similar to smart contracts on public blockchains, tService is trustless:
- The node is guaranteed to execute the exact code.
- The node is guaranteed to return the correct results without being tampered with.
Compared to smart contracts, tService has these features:
Taxa Nodes leverage hardware-based isolation which guarantees data and code are sealed in a protected hardware environment against outside access, which 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 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 be increased in our future versions, eventually reaching 32MB) with a maximum 30 second timeout for execution.
We are introducing Pyxa (Python x Taxa) - a Python interpreter stack with an integrated service framework migrated into the hardware-based TEE. Compared to 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 it serves a different purpose than smart contracts, tService differs 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 "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 will 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, tService supports temporary storage modules for application contexts (see "session" section in Hello World).