What is Emblem Platform Services?
Emblem Platform Services refers to the core set of APIs that expose the features of the Emblem Vault product.
What is Emblem Vault?
Emblem Vault is an advanced key management system that we utilize to create a universal adapter for collecting, storing, and transferring collections of disparate digital assets as a single unit. With the Emblem Platform Services' simple API, absolutely any system can integrate these features with a few lines of code.
We like to describe Emblem Vault as the "rails" of a system that enables seamless transport of "rail cars" that can hold collections of any digital asset and send them anywhere, instantly and securely. We will build the earliest "rail cars", and still, we know that the most value will come from what others build and use the "rails" for.
Our initial focus for "digital assets" will target cryptocurrencies. Our first use cases involve collecting disparate cryptocurrencies in a single container for use in systems where the lack of interoperability between cryptocurrencies creates complexity that we can eliminate.
Isn't there already a release of EPS?
Technically, yes. A small group of people have seen the earliest alpha and beta examples. A wallet exists, and if you have seen it, congratulations! It uses the earliest alpha APIs. These releases have been the simplest things that could possibly work, and the core early adopters have helped us shape the product. Once the concept has been proven out, however, then the hard work comes.
What we have been building: A secure, reliable EPS
Our upcoming release will include the core components and services for Emblem Vault. Let's start with the overall environment, and then we will describe the components and services.
Docker, Kubernetes, and the cloud
The entire Emblem Vault ecosystem is being deployed as a cloud service-based collection of Docker containers, orchestrated by Kubernetes. We have chosen this environment for many reasons.
Google Platform Services is a large, trusted cloud service provider with reliable uptime consistency. Docker and Kubernetes provide environment-agnostic deployments, on-demand scalability, and self-healing systems. Our earliest work was on this base deployment environment. We have created a push-button deployment system with checks and balances that ensure that the whole system is up and running exactly as expected, and stays that way.
This also means that we are never tied to any one provider. Emblem Platform Services can be deployed on AWS, or Azure, or an internal private network. It means that the service can immediately scale up to meet a spike in demand, avoiding system performance issues or system downtime because of load. We have also written system monitoring services that can watch for processes gone awry, and can kill those and restart them while maintaining availability, integrity, and data. All of the components and services, described next, are deployed within this environment.
The blockchain deployment
Emblem Vault is, at its core, based on blockchain technology. Which blockchain? We are using Multichain, an open source blockchain platform based on bitcoin that allows for complex configurations.
Why did we choose it? It has fine-grained permissions and allows us to combine the best of both worlds: all the features of a public blockchain, and many of the features of a private blockchain. For example, partners that operate a node can become first class citizens, normally reserved for closed blockchain systems. Since it is based on bitcoin, we can use all of the bitcoin compatible libraries to interact with it, such as HDKey and multisig. Also, multichain gives us smart contract capabilities, known as "smart filters".
At launch, we will run all of the nodes. However, we have built the system from the ground up such that anyone can run nodes as we expand our network and partners.
The Emblem Platform Services API
Alongside the blockchain and monitoring services described in the environment is the Emblem Platform Services API. The API consists of a few simple endpoints for the base actions on Emblem Vaults.
One API call will create an Emblem Vault. Once created, the vault contains the addresses for all of the cryptocurrencies supported by the system. On initial release, we will prove out a small set of these, expanding the list over time. An unclaimed vault can receive assets, but the assets can not yet be moved out of the vault.
This API call will provide the ability to transfer ownership of an Emblem Vault from one entity to another. This is a major feature of Emblem Vault: the ability to securely transfer the "right to claim" an Emblem Vault from one entity to another, guaranteeing that the originator cannot access the contents of the Vault after the transfer.
This API call "breaks the seal" on an individual vault. This allows the contents to be "swept out" into wallets or other systems.
What the upcoming release will look like
We are very very close to feeling confident in a release available to the public. We are considering this release to be developer-focused, exposing the core API. We will stand up multiple environments, mimicking systems such as Ethereum- DevNet, TestNet, and Main Network. We will provide clear documentation for the API, including Postman collections to interact with each of the environments, with examples embedded.
Our next technical steps will focus on creating more robust service layers on top of the core services to make integration into many different use cases as easy as possible. With core services up, we will start integrating our first partners and get real users using Emblem Vault as part of their production systems.
There is certainly a lot more to explain, so be on the lookout for more posts in the coming weeks!