Skip to content

Commit 4a083ac

Browse files
authored
Client-side validation: fix terminology (#1759)
1 parent 68c2f9d commit 4a083ac

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

_topics/en/client-side-validation.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,27 +56,34 @@ excerpt: >
5656
in the validation.
5757
5858
---
59-
A conceptually simple client-side validation protocol might associate a
60-
token with a particular UTXO. Only the set of validators needs to know
61-
about that association; it does not need to be published to the block
62-
chain or anywhere else that is public. When the UTXO is spent, the
63-
spending transaction associates the token with a new UTXO. If Alice
59+
A conceptually simple client-side validation protocol might assign an
60+
off-chain state (like an amount of owned tokens) with a particular UTXO.
61+
Only the set of validators needs to know
62+
about that assignment; it does not need to be published anywhere public, such as the blockchain.
63+
When the UTXO is spent, the
64+
user can update the state and use spending transactions
65+
to assign the new state to a new UTXO. This mechanism is known as
66+
**single-use seals**, and it leverages anti-double-spending property of bitcoin.
67+
68+
As an example, if Alice
6469
currently controls the UTXO associated with the token and Bob wants to
6570
buy it from her, she can provide him with evidence of the original
66-
association and then he can use his validated copy of the block chain
71+
assignment and then he can use his validated copy of the block chain
6772
plus client-side validation to verify the history of every transfer of the
6873
token leading up to Alice. He can also verify that a transaction
6974
created by Alice is correctly formatted to assign the token to a UTXO
7075
that Bob controls.
7176

72-
**[RGB][]** is a client-side validation protocol that uses
73-
[pay-to-contract][topic p2c] to allow transactions to commit to
74-
additional data, such as transfers. The protocol has been designed to
75-
be highly flexible.
77+
**[RGB][]** is a client-side validation protocol for working with arbitrary
78+
reachable state and Turing-complete state evolution rules. It uses
79+
taproot-embedded OP_RETURN commitments (named **tapret**) to allow
80+
transactions to commit to smart contract state.
7681

7782
**[Taproot Assets][]**, formerly called **Taro**, is a protocol heavily
7883
inspired by RGB that uses [taproot][topic taproot]'s commitment
79-
structure to allow transactions to commit to additional data.
84+
structure to allow transactions to commit to tokens. Unlike RGB, it
85+
does not allow state types other than token and doesn't have Turing
86+
completeness.
8087
Taproot's construction itself derives from pay-to-contract. As the name
8188
suggests, initial protocol development is specifically focused on the
8289
transfer of assets (that is, digital tokens that represent assets).

0 commit comments

Comments
 (0)