Skip to content
This repository was archived by the owner on Jun 17, 2025. It is now read-only.

Commit d5b07aa

Browse files
author
cmd
committed
update
1 parent ea54990 commit d5b07aa

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

README.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,13 @@ Members of the contract can interact with the vm using signed statements, called
170170
}
171171
```
172172

173-
Members can use the vm to settle on a spending path, or lock, unlock, and dispute paths. Each statement that updates the vm is recorded into a hash-chain. The chain validates the full running history of the vm, from activation to settlement.
173+
Members can use the vm to settle on a spending path, or lock, unlock, and dispute paths. Each statement that updates the vm is recorded into a hash-chain. This chain validates the full history of the vm, from activation to settlement.
174174

175175
Once the contract vm has settled on a spending path, the agent will complete the relevant pre-signed transaction, and broadcast it, closing the contract.
176176

177-
The proposal, covenants, and vm combine to create a proof of validity. This proof covers how the contract should execute at any moment. There is zero ambiguity left to the `agent`.
177+
The proposal, covenants, and vm combine to create a proof of validity. This proof covers how the contract should execute at any moment, with zero ambiguity left to the `agent`.
178178

179-
Each contract settlement on mainnet will include a valid proof in order to keep our reputation intact.
179+
Each contract settlement on mainnet will include a valid proof to maintain our reputation.
180180

181181
### Protocol Flow
182182

@@ -219,33 +219,31 @@ Each contract settlement on mainnet will include a valid proof in order to keep
219219

220220
A brief description of the security model:
221221

222-
* Each member joins the proposal using an anonymous credential. The involvement of a credential can be independently verified without revealing the owner.
222+
* Each member joins the proposal using an anonymous credential. The involvement of a credential can be independently verified without revealing the owner to the agent.
223223

224224
* Members decide the terms of the proposal, and all spending paths. The contract agent does not get involved until the proposal terms have already been finalized.
225225

226-
* Each member can optionally sign the proposal terms, if they wish to publicize their endorsement. This does not reveal their credential in the proposal.
226+
* Each member can optionally sign the proposal terms, if they wish to publicize their involvement. This does not reveal their credential in the proposal.
227227

228228
* Funders ultimately decide on what transactions to sign and deliver to the agent. If there's a disagreement, funders can back out of a deposit.
229229

230230
* The contract agent cannot link depositors to members, nor members to credentials.
231231

232-
* The contract agent can only settle on transactions provided by funders.
232+
* The contract agent can only settle via transactions provided by funders.
233233

234-
* All parites independently verify the progression of the contract, and the final settlement. If the platform settles without a valid proof, their reputation is burned.
234+
* All parites independently verify the progression of the contract and final settlement. If an agent settles the contract without publicizing a valid proof, their reputation is burned.
235235

236236
Some challenges with the current model:
237237

238-
* The platform has a limited opportunity to censor members of a contract by ignoring their witness statements. In the short term, we plan to mitigate this using signed delivery receipts. In the long-term, we will support alternative platforms for delivery (such as nostr).
238+
* The agent has limited opportunity to censor members of a contract by ignoring their witness statements. In the short term, we plan to mitigate this using signed delivery receipts. In the long-term, we will support alternative platforms for publishing (such as nostr).
239239

240-
* Even with the covenant restrictions, the burning of reputation may not be considered strong enough incentive. We are exploring additional options, such as staking collateral.
240+
* Even with the covenant restrictions, the burning of reputation may not be considered strong enough incentive. We are exploring additional options, such as the agent staking collateral.
241241

242242
In terms of security, speed, and simplicity, we believe this is the best non-custodial solution for providing programmable escrow contracts on Bitcoin.
243243

244244
## How to Use
245245

246-
This readme will be an mixture of documentation and links to code examples. The full documentation is still a work in progress.
247-
248-
Below is a step-by-step guide through the protocol. This guide also includes a live demo that you can run yourself. To view the demo, simply clone this repository, then run the following commands:
246+
Below is a step-by-step guide through the protocol. This guide follows a live demo that you can run yourself. To run the demo, simply clone this repository, then run the following commands:
249247

250248
```sh
251249
npm install # Install all package dependencies.
@@ -258,7 +256,6 @@ Read more info about the demo [here](demo/README.md).
258256

259257
### Create a Client
260258

261-
262259
```ts
263260
import { EscrowClient } from '@scrow/core/client'
264261

@@ -274,8 +271,6 @@ const config = {
274271
export const client = new EscrowClient(config)
275272
```
276273

277-
> Code example: [01_create_client](demo/01_create_client.ts)
278-
279274
### Create a Signer
280275

281276
```ts
@@ -451,6 +446,13 @@ Documentation coming soon!
451446

452447
## Development / Testing
453448

449+
To get started, make sureyou are running `v19+` of node, then install the project dependencies using your node manager of choice:
450+
451+
```sh
452+
node --version # should be v19+
453+
node install # install dependencies
454+
```
455+
454456
This project uses the following scripts:
455457

456458
```md
@@ -480,7 +482,7 @@ Please stay tuned for more documentation and updates!
480482

481483
## Questions / Issues
482484

483-
Please feel free to post questions or comments on the issue board. All feedback is welcome.
485+
Feel free to post questions or comments on the issue board. All feedback is welcome.
484486

485487
## Contribution
486488

@@ -522,7 +524,7 @@ https://github.com/cmdruid/musig2
522524

523525
**crypto tools**
524526

525-
Provides a full suite of cryptographic primities and other useful tools. Wraps the noble-curve and noble-hash libraries (and cross-checks them with other implementations). Also provides an extended protocol for BIP32 key-derivation that supports strings and urls.
527+
Provides a suite of cryptography primitives and tools. Wraps the noble-curve and noble-hash libraries (and cross-checks them with other implementations).
526528

527529
https://github.com/cmdruid/crypto-tools
528530

0 commit comments

Comments
 (0)