Introduction of On-Chain Subscriptions and Time Based Payments- Sentinel’s Biggest dVPN Protocol Upgrade yet

Sentinel
Sentinel
Published in
6 min readSep 9, 2023

In this we discuss Sentinel’s latest protocol significance, as well as the commands required to make use of it and running your own dVPN application on Sentinel.

Sentinel’s biggest upgrade to its bandwidth protocol has now been implemented into effect. The Sentinel ecosystem is now entering a new paradigm as this protocol upgrade allows for the effortless creation of dVPN applications built on Sentinel.

This protocol upgrade brings two critical changes:

1) Introduction of ‘Time Based Payments ’

2) Introduction of on-chain ‘Subscription Plans’

With this protocol upgrade, community hosted dVPN nodes are able to price their bandwidth services at a monthly rate (or any custom time period) for an unmetered amount of bandwidth usage (unlimited). dVPN applications can aggregate these nodes and upsell their services, essentially locking tokens with nodes and paying them in-order to add them to a ‘subscription plan’, while pricing unlimited access to a ‘subscription plan’ at a flat monthly rate for the end-user.

Instead of merely facilitating p2p transaction, dVPN applications built on Sentinel can now do exactly what centralized VPN applications do which is to pre-pay for bandwidth and then upsell the bandwidth to the user.

What are time-based payments?

Previously, applications built on Sentinel’s Cosmos based Hub have only been facilitating the peer to peer exchange of bandwidth metered in $DVPN/GB. Billing of bandwidth usage has been restricted to Price/GB till date contrary to the billing methodology on the majority of retail centralized VPN applications which is generally a contract specifying unmetered usage within a restricted period of time.

Currently, users have to lock tokens with each individual node in a process of subscribing to them that could take up to a minute per node, creating a strenuous process.

Paying per GB of bandwidth to each individual node is a hassle (OLD STRUCTURE)

After the protocol upgrade, nodes can now set pricing based on number of hours of service provided. Tokens are locked with a node by a user/application owner, and tokens are deducted from the locked amount every 1 hour of connection where the up-time of a node is verified on-chain (on-chain node query and up-time monitoring functions of the Sentinel Hub.

Now with the introduction of time based subscriptions, node hosts can now set standardized fixed prices for bandwidth offerings, allowing for node hosts to be able to manage their profit structure in a much stronger manner as compared to arbitrarily pricing bandwidth in terms of each GB consumed.

The introduction of time based subscriptions also makes it easier for white-label organizations to properly forsee and manage their infrastructure costs instead of costs being correlated to bandwidth consumption. It is important to note that centralized VPN applications generally create time-based subscription contracts with datacenters that offer unlimited bandwidth at fixed rates per IP.

The introduction of time based subscription will also bring price consolidation to the current node market, however will also require the creation of new service level agreement monitoring practices. A node’s ability to have enough technical specs in order to handle multiple concurrent sessions while offering a reasonable amount of bandwidth will have to monitored and assured in order for white-label application developers to confidently add a node to their on-chain digital subscription.

What are on-chain Subscription Plans?

On-chain subscription plans effectively allow decentralized VPN applications to upsell bandwidth from community hosted nodes to users.

Terminology:

Subscription Plan — dVPN application creators (white-labels) create an on-chain subscription plan by locking tokens with and white-listing desired community-hosted nodes in order to offer the services of these nodes to the application’s users at a flat rate payment

Example: dVPN Application A’s creator locks enough tokens with 1000 nodes for several months of their service and creates an on-chain subscription priced at $5 USDT/Month

*Tokens locked to a dVPN node which is using a time-based billing system are deducted for payment by the node every 1 hour.

Subscription — Users of dVPN applications create a ‘subscription’ by making a payment to an on-chain ‘subscription plan’ and are able to receive access to multiple community hosted nodes through a single payment to a subscription plan

Example: User A pays $5 a month to dVPN Application A’s subscription plan, effectively creating a ‘subscription’ to application A’s subscription plan

Get Your dVPN Node Added to a Subscription Plan Today!

To get your dVPN node added into a subscription plan and to get paid at a fixed cost monthly, first you will need to update your node’s hourly pricing configuration.

The first subscription plan launched on the network will be a plan that adds nodes which have a monthly rate of $5/hr.

Initially, multiple applications will share the same subscription plan and share the corresponding costs to pay nodes however as the total bandwidth consumption of the network increases, each application will begin to construct its own subscription plan based on demand.

Instructions:

In the node config file, the hourly price should be set to: 13000000udvpn

At this rate (with current market prices), a dVPN Node would earn roughly $5 per month in the form of $DVPN tokens.

*In future bandwidth protocol upgrade, the DVPN/USD rate will be recalculated regularly with an oracle

Commands to Create a Subscription Plan (dVPN application creator)

Commands to create a subscription plan for nodes billing/GB will be introduced in the near future

One can interact with the Sentinel blockchain through the Sentinel ‘Command Line Interface’, or Sentinel CLI.

1) Command #1:

Creating a dVPN application provider ID:

The first step is for the dVPN application creator to create an on-chain provider ID with the following commands:

sentinelhub tx vpn provider register \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
“NAME” — description “DESCRIPTION” — identity “IDENTITY” — website “WEBSITE”

2) Command #2

Creating a subscription plan:

The next step is for the dVPN application creator to create an on-chain subscription plan and to identify the cost/time unit of the subscription plan.

Example:

sentinelhub tx vpn plan create \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
“DURATION” GIGABYTES “PRICES”

3) Command #3

To update the subscription plan status to Active:

sentinelhub tx vpn plan update-status \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
PLAN_ID “active”

4) Command #4

To create a time-based subscription with a node:

sentinelhub tx vpn node subscribe \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
“NODE_ADDRESS” “DENOM” — hours HOURS

5) Command #5

To add a community-hosted node to the subscription plan:

sentinelhub tx vpn plan add-node \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
PLAN_ID “NODE_ADDRESS”

6) Command #6

To remove a node from the subscription plan:

sentinelhub tx vpn plan remove-node \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
PLAN_ID “NODE_ADDRESS”

7) Command #7

To share a subscription with another account (for dVPN apps that are; free dVPN, paid with non-IBC supported tokens, and paid with fiat payment gateway)

sentinelhub tx vpn subscription allocate \
— broadcast-mode “block” \
— from “KEY_NAME” \
— gas-prices “0.1udvpn” \
— node “https://rpc.sentinel.co:443" \
SUBSCRIPTION_ID “ACCOUNT_ADDRESS” BYTES

8) Command #8

To query subscriptions of an account address:

sentinelhub query vpn subscriptions \
— node “https://rpc.sentinel.co:443" \
— account-addr “ACCOUNT_ADDRESS”

*ADDITIONAL COMMANDS

These commands are relevant for a user as well

9) Command #9

To query a list of all user accounts associated with a subscription

sentinelhub query vpn allocations \
— node “https://rpc.sentinel.co:443" \
SUBSCRIPTION_ID

10) Command #10

To query a list of all subscription plans available

sentinelhub query vpn plans \
— node “https://rpc.sentinel.co:443"

--

--

Sentinel
Sentinel

Interoperable Network Layer for bandwidth sharing and incentivization. Developed the Sentinel dVPN on the Sentinel Network — More about us, https://sentinel.co