Skip to content

SIP-0002: Ephemeral Accounts

Peter-Jan Brone requested to merge sip2 into master

Ephemeral Accounts

Description

Ephemeral accounts are a service offered by hosts that allow users to connect a balance to a pubkey. Users can deposit funds into an ephemeral account with a host and then later use the funds to transact with the host. The most common transactions will be uploading and downloading data, however any RPC that requires payment will support receiving payment from an ephemeral account.

Each host has a separate set of ephemeral accounts, and each host is fully trusted to honestly track the balances of the accounts. Users who keep ephemeral accounts with a host will be able to verify themselves that a host is honestly reporting the balance of an ephemeral account, however users have no recourse if a host chooses to steal all of the money in an ephemeral account or otherwise deny that the account exists. For this reason, users should only keep tiny balances in ephemeral accounts and users should refill the ephemeral accounts frequently, even on the order of multiple times per minute.

Motivation

The main purpose of ephemeral accounts is to eliminate a key bottleneck in download latency. The advantage it offers is that we can front-load our latency. If it takes 6 hops and 2.5 seconds to pay host X, we can perform that payment in advance of needing to download anything from host X by opening an ephemeral account. That way, when we actually want to download data from the host, we can enjoy downloading from the host in a single round trip that only needs to communicate with the host, and we save ourselves from needing to do the 6 hop routing in real time.

Edited by Christopher Schinnerl

Merge request reports