Last updated

Blocky Logo

Verifiable Data and Compute
for the New Web

Our mission is to empower developers to create engaging and performant web3 services.
With Blocky you can turn any web API into a trustworthy source of data, run verifiable computation in your favorite programming languages, and build onchain apps that scale to millions of users.

 

Blocky Services

Our services rely on the security and privacy guarantees of Trusted Execution Environments (TEEs), such as AWS Nitro Enclaves and Google Confidential Spaces. The TEEs powering our services run inside data centers, which allows us to bring web2 levels of performance and scalability to web3.

We currently offer the Blocky Attestation Service, which allows you to create TEE attestations over API data. We are also developing Blocky Chain Integrations to trustlessly bring TEE attestations onchain for use in smart contracts. Below we describe these services at a high level. For more detailed information, click on the links in the sidebar to the left.

Blocky Attestation Service

The Attestation Service creates attestations over data from web2 APIs. The Attestation Service runs inside a TEE, which ensures that the data is processed in a secure and private environment. The Attestation Service allows you to make private requests to any web API and obtain a TEE attestation over the response data. Soon, you will be able to add processing logic to the Attestation Service, allowing you to transform the data before attesting it.

Attesting API Calls

The Attestation Service CLI supports the attest-api-call command, which allows you to make private requests to any web API and obtain a TEE attestation over response data. Use the attest-api-call command to transform your application with low latency, verifiable data from any web2 API.

UserBlocky Attestation Serviceweb2 APIInvoke attest-api-callRequest Template Encrypted EnvironmentRequestResponseAttestation

At a high level, a User invokes the attest-api-call command and sends a Request Template and an Encrypted Environment to the Attestation Service running on a TEE. The Attestation Service decrypts the Environment and plugs its values, such as an API key, into the Template to transform it into an API Request. Finally, the Attestation Service creates a TEE Attestation over the Response, and returns it to the User.

To learn more the about the attest-api-call command, explore its documentation.

Attesting WASM Function Calls (Coming Soon)

The Attestation Service will soon support the attest-function-call command which allows you to send WebAssembly (WASM) functions for execution on a TEE in a serverless compute model. Use the attest-function-call command to execute resource-intensive tasks over API data to accelerate your smart contracts and lower your gas costs.

UserBlocky Attestation Serviceweb2 APIInvoke attest-function-callloop[WASM Runtime]WASM Function Encrypted EnvironmentRequestResponseAttestation

At a high level, a User invokes the attest-function-call command and sends a compiled WASM Function and an Encrypted Environment, containing function parameters, to the Attestation Service running on a TEE. The Attestation Service decrypts the Environment, starts a WASM Runtime, and invokes the user Function with the decrypted parameters. As a part of its execution, the function may also make requests to external web2 APIs. Finally, the Attestation Service returns a TEE Attestation over the WASM function execution and its results to the User.

To learn more the about the attest-function-call command, explore its documentation.

Blocky Chain Integrations (Coming Soon)

The Blocky Chain Integrations allow you to bring the Attestation Service TEE attestations onchain and trustlessly verify them in your smart contracts. Use Chain Integrations to bring the power of TEEs into your dApp or ecosystem to unlock developer creativity.

UserBlockySmart ContractInvocationAttestationAttestation                                                                        

At a high level, the User invokes the Blocky Attestation Service and obtains a TEE Attestation. The User calls a Smart Contract with the serialized Attestation as a parameter. Finally, the Smart Contract verifies the Attestation and makes use of the attested data.