Skip to content

Latest commit

 

History

History
175 lines (138 loc) · 7.5 KB

bsip-0025.md

File metadata and controls

175 lines (138 loc) · 7.5 KB
BSIP: 00025
Title: Transaction Flat-Rates with Weighted Rate-Limitation
Authors: Fabian Schuh <[email protected]>
Status: Draft
Type: Protocol
Created: 2017-10-16
Worker: T.B.D.

Abstract

Blockchain technology currently depends upon transaction fees to prevent spam. These fees suffer all of the known problems with micro-transactions and prevent blockchains from being used for low-value transactions, massive trading and high-rate market making. Truly decentralized applications must offer users the appearance of free transactions if they wish to compete with their centralized alternatives.

This document proposes a protocol upgrade to BitShares to introduce rate-limitations for fee-free transactions. Since the BitShares blockchain is entitled to be a profitable decentralized autonomous company (DAC), making use of fee-free transactions comes at a monthly fixed cost as well as the option to lock shares away in a vesting balance in order to increase the standard rate at which users may interact with the blockchain.

Motivation

Blockchains are decentralized networks where all transactions are broadcast to all peers. Every so often a block is produced that includes some or all of the pending transactions. All blockchains must find a solution to prevent malicious users from consuming all of the available network capacity with worthless transactions. These worthless transactions can prevent other valuable transactions from being processed and ultimately destroy the network.

The solution adopted by most blockchains thus far is to charge a minimum transaction fee. A fee worth just a few cents is enough to make attacking the network expensive and unprofitable. While this approach solves the spam problem, it introduces new problems.

Market making as well as micro-transactions are a highly competitive market. Being decentralized and trust-less alone, does not make the BitShares blockchain a good competitor when compared to centralized services.

Despite blockchain transactions being cheaper technically, the fee that is attached to each and every transaction on BitShares results in some crucial businesses to be unviable, such as market making at scale, where dozens of orders are created (and canceled) continuously, in order to provide liquidity to the markets.

Rational

In this proposal, we extend the BitShares fee model to allow transactions made by accounts to go through without paying a fee. We require accounts to be lifetime members to harness a transaction flat-rate with certain limits that can be raised by additionally providing BTS (units of the core asset) in a vesting balance that is locked away for a certain amount of time, only do be made liquid in weekly chunks over the whole period.

Full Reserve vs Fractional Reserve

Let's view a blockchain like an Internet Service Provider (ISP) co-op which owns all of the cables in the town and can process a maximum amount of data transmission on those cables at any time. This is called the capacity of the transmission lines. People living in the town can buy shares in the ISP and obtain the right to utilize a portion of the available capacity.

The ISP has two choices and can either run a full reserve or fractional reserve system.

  • Under a full reserve system each user is only allowed a fraction of the capacity proportional to her shares. Because not everyone uses the Internet at the same time, the town's network would be significantly underutilized.
  • Under a fractional reserve system the individual users could utilize more date rate than they are entitled to at any given point in time so long as not everyone uses the Internet at the same time.

The problem with operating a fractional reserve is that congestion occurs anytime too many people wish to use the network at the same time. The ISP needs a way to prioritize transmissions during congested periods. In the most extreme case, a fully congested network must revert to a full reserve system.

The challenge is setting the proper fractional reserve ratio or implement a dynamic fractional reserve ratio. Under this model the blockchain will automatically adjust the reserve ratio for the network during times of congestion. The blockchain will set a target utilization that leaves enough headroom for short term surges in demand. Any time the surges are sustained the blockchain reduces the maximum rate-per-share. When a surge is over and there is surplus capacity the blockchain can slowly increase the rate-per-share.

If the time window for this control cycle is stretched too far then the reserve ratio will not adjust fast enough to respond to short-term surges, if the window is too short then clustering usage will have too big of an impact on normal users.

In our estimate it should be sufficient to measure the average weekly transaction rate usage of users. This parameter will be changeable by the BitShares committee. The advantage with this approach is, that the BitShares committee can define whether they prefer a dynamic fractional reserve, where occasional uses may transact more often within a very short period of time, or a simple and static method, where professional users get an easy picture of how many transactions they may produce in a certain amount of time.

Flat-Rate Model

In recent years, ISP providers have seen a shift in their own economics leaving the pay-per-use (e.g. per minute) service domain where users paid for a duration they occupied a land-line to go for a pay-per-serice flat-rate model where users paid a fixed fee to enable a specific service to be used for free within certain conditions (e.g. data volume). With the improvements in communications technology, land lines got replaced by fiber which can carry significantly more load. Thus the flat-rate model makes sense from business perspective.

The same holds true for blockchain technologies. The Graphene framework is capable of incomparable transaction loads and thus, the individual transaction may not be tagged with a fee for the profit alone, but merely to prevent spam. A full reserve system gives value to a transaction processing capabilities of the blockchain which everyone can own a share of to prevent spam.

Flat-Rate with Weighted Rate-Limitation

That said, we here propose a combination of the flat-rate model with a stake-weighted limitation of transaction rates.

  • Flat-Rate: A new feature is added to the blockchain that enables the flat-rate model with a basic transaction rate that can be defined by the BitShares committee (e.g. 10 transactions per day). This operation costs a fee and lasts for a committee-parameterized amount of time (e.g. 30 days). These rates are the same for every single user that has bought the flat-rate subscription.

  • Stake-Weighting: Since some users may need more than the basic amount of transactions per day, power users can increase the implicitly assumed weight of 1x to a higher value by providing BTS core tokens in a vesting balance locks them away for as long as the subscription lasts.

This ultimately gives the option to

  • pay a fee for every transaction (current system)
  • pay for a flat-rate to transaction for fee within certain conditions
  • powerup your account with core tokens to increase fee transaction rate

Specifications

  • Do not refund order creation fee!
  • Replace Annual Fee operation?

Discussion

Todo

Summary for Shareholders

Todo

Copyright

This document is placed in the public domain.

See Also

  1. Steem Whitepaper