Skip to content

Latest commit

 

History

History
52 lines (32 loc) · 2.81 KB

elip-0201.mediawiki

File metadata and controls

52 lines (32 loc) · 2.81 KB

  ELIP: 201
  Layer: Wallets
  Title: Reduce Elements default dust relay feerate to match min relay feerate
  Author: Kilian Rausch <[email protected]> and Byron Hambly <[email protected]>
  Comments-Summary: No comments yet.
  Comments-URI: TBD
  Status: Draft
  Type: Standards Track
  Created: 2025-03-07
  License: BSD-3-Clause

Table of Contents

Introduction

Abstract

This document proposes to reduce the default dust relay feerate in Elements to match the default minimum relay feerate.

Copyright

This document is licensed under the 3-clause BSD license.

Motivation

Elements has inherited the default values for the minimum relay feerate and dust relay feerate from the upstream Bitcoin Core software fork. The minimum relay feerate was reduced to 100 sats/kvB [1], while the inherited dust relay feerate remains at 3000 sats/kvB.

Since Elements has confidential transaction amounts, it is already possible for wallets to create "dust" outputs. We propose that the default dust relay feerate should match the minimum relay feerate for consistency, and allow a default Elements wallet to create smaller value outputs without manually setting the dustrelayfee.

Design

The "dust threshold" for output types is node policy and unrelated to consensus of the network.

The default dustrelayfee rate is 3 sats/vb (3000 sats/kvb) [2].

In testing, a confidential WPKH output has a base size of 98 bytes. The function GetDustThreshold then adds a further 67.75 witness bytes, giving a floored total of 165 bytes. At the default dustrelayfee of 3 sat/vb this gives a dust threshold of 495 sats.

By reducing the dustrelayfee to 0.1 sats/vb (100 sats/kvb), Elements RPCs can create confidential WPKH outputs with amounts as low as 17 sats ( 165 vb * 0.1 sats/vb rounded up to the next integer).

There is an IsDust check in IsStandardTx [3], but this can only be checked for unblinded transactions.

Reducing the default dust relay fee to match the minimum relay fee results in a more consistent order of magnitude expectation for output values, and allows a default Elements wallet to create smaller value outputs without setting dustrelayfee configuration manually.

As already noted, this policy can be already be reduced by individual nodes, and other Liquid wallets can trivially create blinded outputs below any dust threshold.

Reference Implementation

ElementsProject/elements#1433

References

  1. ^ ElementsProject/elements#684
  2. ^ DUST_RELAY_TX_FEE
  3. ^ IsStandardTx policy check