Introduction to the TrustedVM
This new tool gives us superpowers.
At its core, the TrustedVM gives us new primitive compute capabilities. This is extraordinarily important because all high level constructs are built from primitives. Primitives are the root of everything. If you change the primitives, you may have the ability to make everything else built on them differently- possibly significantly better.
Data Isolation — The working data for a program can be isolated such that the no human or program can read or alter the data.
Code Execution Anti-Tampering — The program code and its execution runs as it was intended to run by the programmers.
Normally we assume to have these primitives when running on a trusted host (eg. a server in a data center or cloud provider) but not while running on end-user hardware. This ultimately means that applications needed a server hosted on a trusted party to offer any sensitive services.
I see a two initial use cases for the TrustedVM:
A core building block for decentralized peer-to-peer applications where the ones hosting the applications are not required to be trusted. It enables simple decentralized application development that could significantly increase the quality of service for applications while reducing end user cost.
Included in micro-services frameworks and patterns to allow for more secure services that can withstand a network breach, including root access on the target host. This security in depth approach can protect sensitive information in complex infrastructures.