Skip to content

Commit ea71072

Browse files
committed
Quartz sync: Sep 3, 2024, 2:49 PM
1 parent b321691 commit ea71072

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

content/PurrSettle.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ date: 2024-09-02
33
title: PurrSettle
44
---
55

6-
PurrSettle is a settlement mechanism for Bitcoin zero confirmation transactions. It is a derivative concept of this [paper](https://eprint.iacr.org/2017/394.pdf) which makes use `OP_AND` which is currently disabled. This mechanism makes use of the `OP_CAT` opcode which is also disabled but allows for a more cost-effective version to ensure a penalty mechanism is in place when a malicious actor tries to double spend their coins. At the heart of this mechanism, is the commitment of a nonce within the script that will be used to create signatures. If a malicious actor tries to double spend their coins, they risk revealing their private key making it easy for onlookers aware of the protocol to sweep all their coins. An example implementation can be found [here](https://github.com/crema-labs/PurrSettle).
6+
PurrSettle is a settlement mechanism for Bitcoin zero confirmation transactions. It is a derivative concept of this [paper](https://eprint.iacr.org/2017/394.pdf) which makes use `OP_AND` which is currently disabled. This mechanism makes use of the `OP_CAT` opcode which is also disabled but allows for a more cost-effective version to ensure a penalty mechanism is in place when a malicious actor tries to double spend their coins. At the heart of this mechanism, is the commitment of a nonce within the script that will be used to create signatures. If a malicious actor tries to double spend their coins, they risk revealing their private key making it easy for onlookers aware of the protocol to sweep all their coins.
7+
8+
An example implementation can be found on [GitHub](https://github.com/crema-labs/PurrSettle).
79

810
## PurrScript: How it works
911
The key behind this mechanism is the `OP_CAT` opcode. This opcode takes two inputs and concatenates them together. As described before, this will be used to generate the signature while the script is being evaluated. One part of the signature (the nonce) is committed in advance into the script. The other part of signature is provided with the unlocking script (the witness). If you're aware of the Bitcoin ecosystem, there are two types of signatures available:

0 commit comments

Comments
 (0)