Architecture

In this guide, we introduce the architecture of the Verifiable Settlement Layer (VSL) network.

The VSL is currently in the design phase and technical details might be subject to change. A prototype implementation of the current VSL model is accessible via our devnet. Developers are encouraged to join our waitlist and request early access to the devnet.

The VSL network consists of several VSL nodes. Their role is two fold, to maintain the VSL network state and to contribute to claim settlement through different operations. These include processing messages, checking quorums, and validating signatures, in which case they act as VSL validators. VSL nodes are stateful, in the sense that they maintain a VSL state by tracking the set of claims that have been settled already and mapping VSL accounts to assets they own.

VSL states and, consequently, VSL nodes have been designed purposefully as simple structures. Complex business logic or resource-demanding computations are delegated to external service providers, with the aim of making the VSL network minimal, fast, and secure.

Users of the VSL network are called clients. They interact with the network by broadcasting messages to all the VSL nodes. These messages include claims that the client wants to settle on the VSL. As explained in Overview, claims are a central concept of VSL and one of the fundamental building blocks. Claims can encode any payments, transactions, computations, assets, or data that the client wants to settle.

FastSet protocol

FastSet is the underlying consensus protocol that powers the VSL. It is a distributed protocol that enables a set of clients to settle verifiable claims concurrently and consistently using a set of validators. Clients broadcast their claims to all validators, and validators certify them based on the verifiers’ signatures of the claims. After a certificate is successfully issued for the claims, the claims are settled on VSL.

The diagram below shows the workflow of a complete settlement on the VSL.

Figure 1: FastSet protocol—A Complete settlement.

The proxy is an additional entity in the protocol which facilitates the communication of the clients and verifiers with the validators. Not only it broadcasts the messages to the validators, but it also aggregates verifier signatures in case the client requires the claim to be verified by more than one verifier. The proxy can be a client, a verifier, a service provider, a validator, or any combination thereof.

1

Step 1

Client A signs a sequence of claims c1c2..ck and sends the signature m = <c1c2..ck,T>A to the proxy.

2

Step 2

The set of verifiers T requested by the client verify the message m and sign it individually <m>t1, <m>t2, … <m>tl.

3

Step 3

The proxy receives the signatures from the verifiers and computes an aggregated signature <m>#T which it sends to the validators.

4

Step 4

Validators validate the signature by checking that the signatures are valid and the quorum specified by the client has been reached. Then they send their responses <m>v to the proxy.

5

Step 5

As more validators sign the message, a collection of their signatures continues to grow and eventually forms a quorum.

Once the required quorum is met, the proxy issues the certificate <m>#.

Technically, at this stage, the claim settlement request is final in the sense that it cannot be cancelled.

6

Step 6

Upon receival of <m>#, each VSL validator checks the signature and the quorum # of the settlement certificate.

7

Step 7

Each VSL validator settles the claim and updates its internal state.

VSL and other networks

Other distributed networks, such as a layer-1 blockchain, may query the most recent state of the VSL network and the settlement status of any given claim. However, they must run a VSL smart contract for it.

For each blockchain there should be a VSL contract that checks the validity of the signed message <m># against the validators’ aggregated signatures.

Last updated

Was this helpful?