This introduction to QEDIT provides a detailed summary of this web service. After reading this section, you should have a good idea of what QEDIT offers and how it can fit in with your Blockchain stack.
Overview of QEDIT and This Guide¶
QEDIT has a simple web services interface that you can use to issue and transfer ownership of digital asset tokens on Blockchain networks.
This guide describes how you define issuance rules, create and manage wallets, and issue and transfer ownership of digital asset tokens.
Advantages of Using QEDIT¶
QEDIT is intentionally built with a high-level feature set that focuses on simplicity and robustness. Following are some of the advantages of using QEDIT:
State-of-the-art privacy – QEDIT uses zero-knowledge proof technology to deliver state-of-the-art privacy for Blockchain project.
No cryptography expertise required - QEDIT provides a high-level API that can be used without expertise in cryptography. This allows developers to focus on their application business logic and user experience.
Blockchain agnostic – QEDIT can be deployed on top of virtually any Blockchain stack.
Standard compliant – QEDIT cryptography and protocols are compliants with the guidelines and standards defined by the zkproof.org community.
Standard interfaces – Use standards-based web service interfaces or one of native client SDKs.
This section describes key concepts and terminology you need to understand to use QEDFIT. They are presented in the order that you will most likely encounter them.
A node is a deployment of QEDIT. It usually servers a single business customer and all its users. A node employs Enterprise-ready components and is designed to be reliable, resilient and horizontally-scalable. It utilizes Zero-Knowledge Proofs for preserving the privacy of asset transfer transactions.
QEDIT node architecture diagram
The different components comprising a QEDIT node are:
- Backend server: The main component in the system, provides the API, manages the user wallets, processes transactions and orchastrates the proving and verification processes.
- Proof workers: The services that actually create the Zero-Knowledge Proofs for issuing and transferring assets. These are stateless services which are horizontally scalable to achieve high-performance and increase the number of transactions per second.
- RabbitMQ: The message queue. The proof workers receive tasks from the backend server through this queue.
- PostgreSQL: The database containing both the private data of the user (the assets they own, their wallets, etc), public blockchain data and processed transactions data.
- Blockchain: Any blockchain that has a connector to our system which translates QEDIT transactions to the native blockchain transactions.
A QEDIT node hosts one or many wallets. A wallet is a container for digital assets. Access to the wallet employs cryptographic keys to secure view access and asset transfer permissions. It can be assigned issuances permissions. Many wallets can be created on a single node. Wallets can be restricted to have view-only permissions (auditor wallets).
Assets are digital tokens that can be issued and transferred using QEDIT. Multiple types of fungible and non-fungible assets can be created on the same network, and can be held by in any number of wallets.
Issuance rules define which wallet is authorized to issue which assets.
This section describes important QEDIT features.
Standard compliant, state-of-the-art privacy
QEDIT utilizes enterprise grade cryptography and conforms to the guidelines and standards defined by the zkproof.org community. Transactions are committed using zero-knowledge proofs that do not leak who is the sender, who is the receiver, and what they are transferring. Also there is no linkability between transactions. This ensures the complete transactional privacy.
Different Blockchain use cases require different transaction throughput and latency. QEDIT’s patented proof-chaining technology enables customers to horizontally scale-up their QEDIT node to achieve the necessary transaction throughput and latency.
A QEDIT node delivers high-availability and performance using robust production-ready architecture.
Updatable issuance rules
QEDIT provides a simple API to define and update issuance rules. This allows adding new issuers to a network or allowing issuance of new type of assets with no downtime or deployment of new smart contracts.
Private or public issuance
QEDIT supports both private and public asset issuance. In most cases issuance of assets require the same privacy of transfer of assets. For example, in a case of assets that represent ownership of cars, the producer of the cars that issues the asset token would not want all its competitors how many cars it is producing every day. For such cases, QEDIT allows issuing new assets privately. Other Blockchain participants do not know which asset was issued and how much, and yet can verify the issuance conforms to the defined issuance rules using zero-knowledge proofs. In other cases such as issuance of asset tokens representing the ownership of a bond or a stock, the issuance is done publicly so Blockchain participants know how many such bonds or stocks are in cirulation.
Following are the most common operations that you’ll execute through the API.
- Create a wallet - Create a new wallet in the node
- Get wallet balances - Lists the assets currently held in the wallet
- Define issuance rule - Create a new rule granting a certain wallet issuance permissions for specific asset types
- Issue asset - Issue new assets into a specified wallet
- Transfer asset - Transfer the ownership of an asset from one wallet to another. You can specify whether you require the receiving party to confirm the transaction before it is finalized.