From 28ff818452dde269d670e31aa280a2ed218297c7 Mon Sep 17 00:00:00 2001 From: fbock Date: Tue, 14 May 2024 13:03:16 +0200 Subject: [PATCH] continue pipeline 1, add miniscript ressource --- docs/TapTrade_obs/.obsidian/workspace.json | 22 +++++++++------ .../Bitcoin fundamentals/Knowledge sources.md | 1 + .../new concepts/random pipeline 1 tbd.canvas | 27 +++++++++++++++---- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/docs/TapTrade_obs/.obsidian/workspace.json b/docs/TapTrade_obs/.obsidian/workspace.json index 9b2399e..0a80522 100644 --- a/docs/TapTrade_obs/.obsidian/workspace.json +++ b/docs/TapTrade_obs/.obsidian/workspace.json @@ -4,16 +4,16 @@ "type": "split", "children": [ { - "id": "beaad7e2dbdb6c54", + "id": "3f4f04a94aff6fa7", "type": "tabs", "children": [ { - "id": "1982ff791d557542", + "id": "5b040089919f2e28", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Research/Implementation/Libraries.md", + "file": "Research/Bitcoin fundamentals/Knowledge sources.md", "mode": "source", "source": false } @@ -85,7 +85,7 @@ "state": { "type": "backlink", "state": { - "file": "Research/Implementation/Libraries.md", + "file": "Research/Bitcoin fundamentals/Knowledge sources.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +102,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Research/Implementation/Libraries.md", + "file": "Research/Bitcoin fundamentals/Knowledge sources.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -125,7 +125,7 @@ "state": { "type": "outline", "state": { - "file": "Research/Implementation/Libraries.md" + "file": "Research/Bitcoin fundamentals/Knowledge sources.md" } } } @@ -146,6 +146,12 @@ "command-palette:Open command palette": false } }, - "active": "1982ff791d557542", - "lastOpenFiles": [] + "active": "5b040089919f2e28", + "lastOpenFiles": [ + "Research/Trade Pipelines/current trade flow.canvas", + "Research/Trade Pipelines/new concepts/random pipeline 1 tbd.canvas", + "Research/Bitcoin fundamentals/Knowledge sources.md", + "Research/Bitcoin fundamentals/Taproot output structure.canvas", + "Research/Implementation/Libraries.md" + ] } \ No newline at end of file diff --git a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md index 165ed54..fab3ed2 100644 --- a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md +++ b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md @@ -31,6 +31,7 @@ We can use Descriptors/Miniscript to precisely and human readable describe the T * [Using BDK and Wallet descriptors for Taproot - Video - Bitdevs LA](https://www.youtube.com/watch?v=wsQIZRY2BD0) * [Introduction to Miniscript - Port of Bitcoin](https://www.youtube.com/watch?v=uNZpfHEtP4U) +* [Getting started with Miniscript - Andrew Poelstra](https://www.youtube.com/watch?v=eTUuwASdUBE) #### Websites * [Miniscript introduction/compiler/specification](https://bitcoin.sipa.be/miniscript/) diff --git a/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/random pipeline 1 tbd.canvas b/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/random pipeline 1 tbd.canvas index 18839e5..e5d2820 100644 --- a/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/random pipeline 1 tbd.canvas +++ b/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/random pipeline 1 tbd.canvas @@ -2,12 +2,29 @@ "nodes":[ {"id":"5b8863761f608702","type":"text","text":"Just going to write some stuff down here while thinking about it. **Don't expect it to make sense yet!**","x":-415,"y":-360,"width":460,"height":80,"color":"1"}, {"id":"8b7862709255b800","type":"text","text":"\n***MSTB*** (Maker seller taker buyer)","x":-345,"y":-440,"width":320,"height":60,"color":"3"}, - {"id":"428c2dc0767db819","type":"text","text":"semi trusted - coordinator could steal/burn bond - but low risk as bonds are small and reputation would be damaged. Also no control on full trade amount.","x":-402,"y":-260,"width":434,"height":120,"color":"5"}, - {"id":"dba9c662192cf5bb","type":"text","text":"**Maker**","x":-600,"y":42,"width":125,"height":60}, - {"id":"93c73227c82f1a81","type":"text","text":"**Coordinator**\n\nwatches Mempool and Chain, could publish the bond TX. Essentially just to prevent orderbook spam / for skin in the game.\n\n*SIGHASH_ALL | ANYONECANPAY* could make it possible for the coordinator to add inputs up to the height of the bond to push the TX fees without losing capital itself. \nAlso out of band mining would cause a cost for the Maker so there is always a price to being unreliable. \n\nThe Maker could be required to use Inputs at least the value of the trade amount to proof that he owns enough sats to fulfill the trade.","x":80,"y":-118,"width":500,"height":380}, - {"id":"810eebcd41474f56","x":-310,"y":360,"width":250,"height":60,"type":"text","text":"...tbc"} + {"id":"428c2dc0767db819","type":"text","text":"semi trusted - coordinator could steal/burn bond - but low risk as bonds are small and reputation would be damaged. Also no control on full trade amount.","x":-402,"y":-260,"width":434,"height":118,"color":"5"}, + {"id":"93c73227c82f1a81","type":"text","text":"**Coordinator**\n\nwatches Mempool and Chain, could publish the bond TX. Essentially just to prevent orderbook spam / for skin in the game.\n\n*SIGHASH_ALL | ANYONECANPAY* could make it possible for the coordinator to add inputs up to the height of the bond to push the TX fees without losing capital itself. \nAlso out of band mining would cause a cost for the Maker so there is always a price to being unreliable. \n\nThe Maker could be required to use Inputs at least the value of the trade amount to proof that he owns enough sats to fulfill the trade.","x":80,"y":-118,"width":500,"height":388}, + {"id":"dba9c662192cf5bb","type":"text","text":"**Maker**","x":-600,"y":47,"width":125,"height":58}, + {"id":"4a633210842ee3c0","x":-665,"y":410,"width":250,"height":60,"type":"text","text":"Taker"}, + {"id":"f461d9afa4298d14","x":135,"y":410,"width":250,"height":60,"type":"text","text":"Coordinator"}, + {"id":"f1c3087260abe818","x":-275,"y":320,"width":250,"height":240,"type":"text","text":"+ payout address\n+ MuSig2 public nonce\n+ taproot public key (for agg. internal key)\n+ Bond input reference"}, + {"id":"bdce49ceea829893","x":-652,"y":690,"width":192,"height":60,"type":"text","text":"Taker"}, + {"id":"961e75c701b7f68f","x":80,"y":690,"width":250,"height":60,"type":"text","text":"Coordinator"}, + {"id":"73a7dae830df4443","x":-320,"y":660,"width":250,"height":120,"type":"text","text":"PSBT of contract\nTaker adds bond input sig"}, + {"id":"90704c232582cd52","x":80,"y":940,"width":250,"height":60,"type":"text","text":"Coordinator"}, + {"id":"b500fab6ba26abf1","x":-665,"y":1120,"width":250,"height":60,"type":"text","text":"Maker"}, + {"id":"9b054e655a321517","x":-320,"y":1010,"width":250,"height":110,"type":"text","text":"PSBT of contract\nMaker adds escrow input sig"}, + {"id":"de1642ddfdfed1df","x":80,"y":1180,"width":250,"height":120,"type":"text","text":"Coordinator \npublishes contract TX and waits for confirmation"}, + {"id":"910e5a3ee7688d0b","x":-300,"y":1380,"width":250,"height":120,"color":"6","type":"text","text":"Escrow and Bond locked in contract.\n**Chat can begin**"}, + {"id":"880c77a2d23f2cec","x":-390,"y":-39,"width":390,"height":230,"type":"text","text":"+signed TX\n\n-> Bond to coordinator\n -> change to self\n -> SIGHASH_ALL | ANYONECANPAY\n\n+MuSig2 public nonce\n+taproot public key (for agg. internal key)"}, + {"id":"e3b8669b30d1c80e","x":-610,"y":800,"width":815,"height":120,"type":"text","text":"+ signed psbt\n+ signed punishment TX in case the taker tries to spend the input somewhere else before the maker signs, the coordinator can claim or burn the bond (same like the maker bond). In case of out of band mining the maker would not lose money and the taker has a cost associated to doing this act"} ], "edges":[ - {"id":"77d1ff9130716b53","fromNode":"dba9c662192cf5bb","fromSide":"right","toNode":"93c73227c82f1a81","toSide":"left","label":"signed TX\n\n-> Bond to coordinator\n -> change to self"} + {"id":"77d1ff9130716b53","fromNode":"dba9c662192cf5bb","fromSide":"right","toNode":"93c73227c82f1a81","toSide":"left"}, + {"id":"912dd244ef9d5a46","fromNode":"4a633210842ee3c0","fromSide":"right","toNode":"f461d9afa4298d14","toSide":"left"}, + {"id":"e68c9bf91e484882","fromNode":"961e75c701b7f68f","fromSide":"left","toNode":"bdce49ceea829893","toSide":"right"}, + {"id":"bd911b47450ec601","fromNode":"bdce49ceea829893","fromSide":"right","toNode":"90704c232582cd52","toSide":"left"}, + {"id":"1f8f7366b09492f1","fromNode":"90704c232582cd52","fromSide":"left","toNode":"b500fab6ba26abf1","toSide":"right"}, + {"id":"d61c23261f820a35","fromNode":"b500fab6ba26abf1","fromSide":"right","toNode":"de1642ddfdfed1df","toSide":"left","label":"signed psbt"} ] } \ No newline at end of file