mirror of https://github.com/zcash/zips.git
Improvements to Requirements language from review
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
beeaa53342
commit
0d33eee0a2
31
zip-0315.rst
31
zip-0315.rst
|
@ -38,6 +38,12 @@ Transaction output (TXO)
|
||||||
An output (transparent coin or shielded note) of a transaction on the consensus
|
An output (transparent coin or shielded note) of a transaction on the consensus
|
||||||
block chain or in the mempool visible to a wallet.
|
block chain or in the mempool visible to a wallet.
|
||||||
|
|
||||||
|
TODO: Add informal definitions of:
|
||||||
|
* known-spendable and confirmed-spendable TXOs;
|
||||||
|
* trusted and untrusted TXOs.
|
||||||
|
|
||||||
|
These should forward-reference the specification section with the formal definitions.
|
||||||
|
|
||||||
|
|
||||||
Motivation
|
Motivation
|
||||||
==========
|
==========
|
||||||
|
@ -88,24 +94,29 @@ share some of their keys.
|
||||||
Prompt accessibility of funds
|
Prompt accessibility of funds
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
Wallets need to take account of two concerns:
|
Wallets need to take account of two main concerns with respect to
|
||||||
|
accessibility of funds:
|
||||||
|
|
||||||
* enabling funds to be spent as quickly as possible to reduce latency;
|
* enabling funds to be spent as quickly as possible to reduce latency;
|
||||||
* waiting long enough before spending TXOs to ensure that the
|
* ensuring that the confirmed-spendable balance is not overestimated,
|
||||||
confirmed-spendable balance is not overestimated, and so can be trusted
|
and so can be trusted by the user.
|
||||||
by the user.
|
|
||||||
|
These concerns affect the way that balances should be computed, which
|
||||||
|
notes are selected for spending, and how the wallet should ensure that
|
||||||
|
sufficient notes are available to cover multiple spends within a short
|
||||||
|
period.
|
||||||
|
|
||||||
To support this we define two kinds of TXOs:
|
To support this we define two kinds of TXOs:
|
||||||
|
|
||||||
* A trusted TXO is a TXO received from a party where the wallet trusts a
|
* A trusted TXO is a TXO received from a party where the wallet trusts that
|
||||||
double-spend not to occur, e.g. TXOs created by the wallet's internal TXO
|
it will remain mined in its original transaction, such as TXOs created by
|
||||||
handling.
|
the wallet's internal TXO handling.
|
||||||
* An untrusted TXO is a TXO received by the wallet that is not trusted.
|
* An untrusted TXO is a TXO received by the wallet that is not trusted.
|
||||||
|
|
||||||
|
|
||||||
Wallets can then require that untrusted TXOs need more confirmations before
|
Wallets can then require that untrusted TXOs need more confirmations before
|
||||||
they become spendable than trusted TXOs. This provides an improved trade-off
|
they become confirmed-spendable than trusted TXOs. This provides an improved
|
||||||
between latency on the one hand, and reliability and safety on the other.
|
trade-off between latency on the one hand, and reliability and safety on the
|
||||||
|
other.
|
||||||
|
|
||||||
|
|
||||||
Specification
|
Specification
|
||||||
|
|
Loading…
Reference in New Issue