mirror of
https://github.com/RoboSats/taptrade-core.git
synced 2025-07-19 09:13:39 +00:00
add musig hit
This commit is contained in:
23
docs/TapTrade_obs/.obsidian/workspace.json
vendored
23
docs/TapTrade_obs/.obsidian/workspace.json
vendored
@ -11,11 +11,14 @@
|
||||
"id": "bdb9fd88a01a8909",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"type": "canvas",
|
||||
"state": {
|
||||
"file": "Research/Bitcoin fundamentals/Knowledge sources.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
"file": "Research/Trade Pipelines/new concepts/concept locking script 1.canvas",
|
||||
"viewState": {
|
||||
"x": 0.9630471694944873,
|
||||
"y": 12.29806545435602,
|
||||
"zoom": -0.4572735104698888
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -85,7 +88,7 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Research/Bitcoin fundamentals/Knowledge sources.md",
|
||||
"file": "Research/Trade Pipelines/new concepts/concept locking script 1.canvas",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
@ -102,7 +105,7 @@
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "Research/Bitcoin fundamentals/Knowledge sources.md",
|
||||
"file": "Research/Trade Pipelines/new concepts/concept locking script 1.canvas",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
@ -125,7 +128,7 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "Research/Bitcoin fundamentals/Knowledge sources.md"
|
||||
"file": "Research/Trade Pipelines/new concepts/concept locking script 1.canvas"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -148,15 +151,15 @@
|
||||
},
|
||||
"active": "bdb9fd88a01a8909",
|
||||
"lastOpenFiles": [
|
||||
"Research/Bitcoin fundamentals/Signature and Flags.canvas",
|
||||
"Research/Trade Pipelines/new concepts/concept pipeline 1.canvas",
|
||||
"Research/Trade Pipelines/current trade flow.canvas",
|
||||
"Research/Bitcoin fundamentals/Knowledge sources.md",
|
||||
"Research/Bitcoin fundamentals/Signature and Flags.canvas",
|
||||
"Research/Trade Pipelines/new concepts/concept locking script 1.canvas",
|
||||
"Research/Implementation/CLI demonstrator architecture/demonstrator architecture.canvas",
|
||||
"Research/Bitcoin fundamentals/Knowledge sources.md",
|
||||
"Research/Implementation/UI ideas.canvas",
|
||||
"Research/Implementation/Libraries.md",
|
||||
"Research/Trade Pipelines/Existing research.md",
|
||||
"Research/Trade Pipelines/current trade flow.canvas",
|
||||
"Research/Implementation/CLI demonstrator architecture",
|
||||
"Research/Trade Pipelines/new concepts/Untitled.md",
|
||||
"Research/Bitcoin fundamentals/Taproot output structure.canvas",
|
||||
|
@ -55,8 +55,7 @@
|
||||
{"id":"4c786c80eaae0328","type":"text","text":"2.Buy-order in Orderbook","x":2421,"y":-320,"width":305,"height":60},
|
||||
{"id":"a2878365b55bb0dd","type":"text","text":"Taker | **selling sats**","x":2823,"y":-310,"width":250,"height":50},
|
||||
{"id":"ae0873e7f893c725","type":"text","text":"***Protocol B***\n***MBTS*** (Maker buyer taker seller)\n\nAdapted a bit to onchain possibilities (no time limitations with onchain, so payout address can be submitted upfront/Escrow can be locked with Bond)","x":2543,"y":-760,"width":405,"height":190,"color":"3"},
|
||||
{"id":"1eb173a56b45f948","type":"text","text":"Taker","x":1625,"y":273,"width":110,"height":60,"color":"4"},
|
||||
{"id":"91eb76b688aa2fa3","type":"text","text":"","x":5040,"y":1360,"width":250,"height":60}
|
||||
{"id":"1eb173a56b45f948","type":"text","text":"Taker","x":1625,"y":273,"width":110,"height":60,"color":"4"}
|
||||
],
|
||||
"edges":[
|
||||
{"id":"0452390c8e326418","fromNode":"fe94f3c9a67875b6","fromSide":"bottom","toNode":"9d82ff6bff57a83c","toSide":"top","label":"1. paying/locking Maker bond and Escrow"},
|
||||
|
@ -5,11 +5,11 @@
|
||||
{"id":"4f4cec183e99cc39","type":"text","text":"Internal Key\nSigned by Taker, Maker and Coordinator via MuSig2 in case of complete trade or cooperative cancellation\n","x":-1025,"y":-490,"width":287,"height":185},
|
||||
{"id":"c7d1840bae375d47","type":"text","text":"Check size, op_checksigadd 2of2 vs just checking 2 sigs. Maybe there is optimization possible.","x":140,"y":-770,"width":280,"height":130,"color":"1"},
|
||||
{"id":"cd16e3e9eda3242d","type":"text","text":"(Script B)\nCould also be keyspend MuSig2 spend!\n\nMUSIG(SIG(Maker) && SIG(Taker) && SIG(COORDINATOR))\n\n`and_v(v:pk(MAKER),and_v(v:pk(TAKER),pk(COORDINATOR)))`\n\nEscrow + Maker Bond to Maker.\n\nTaker Bond to Taker\n\nNeeds Coordinator signature to prevent Maker and Taker from stealing Fees of coordinator after successful trade.","x":-110,"y":-490,"width":250,"height":560},
|
||||
{"id":"f5fbfebcea40c384","type":"text","text":"SCRIPT C\n\nAND(SIG(Maker), SIG(COORDINATOR))\n`and_v(v:pk(MAKER),pk(COORDINATOR))`\n\nFees to coordinator.\nRemaining to Maker\n\n","x":227,"y":-490,"width":385,"height":200},
|
||||
{"id":"341d50e0a5929e24","type":"text","text":"Script D\n\nAND(SIG(TAKER), SIG(COORDINATOR))\n`and_v(v:pk(TAKER),pk(COORDINATOR))`\n\nFees to coordinator.\nRemaining to Taker.","x":640,"y":-490,"width":447,"height":200},
|
||||
{"id":"f5fbfebcea40c384","type":"text","text":"SCRIPT C\n\nAND(SIG(Maker), SIG(COORDINATOR))\n`and_v(v:pk(MAKER),pk(COORDINATOR))`\n\nFees to coordinator.\nRemaining to Maker\n\n(could probably also be Musig spend)\n\n","x":227,"y":-490,"width":385,"height":230},
|
||||
{"id":"341d50e0a5929e24","type":"text","text":"Script D\n\nAND(SIG(TAKER), SIG(COORDINATOR))\n`and_v(v:pk(TAKER),pk(COORDINATOR))`\n\nFees to coordinator.\nRemaining to Taker.\n\n(could probably also be Musig spend)","x":640,"y":-490,"width":447,"height":250},
|
||||
{"id":"38bc9592ec0c29e2","type":"text","text":"SCRIPT F\nAND(TIMELOCK(2048), AND(SIG(TAKER), SIG(MAKER)))\n`and_v(and_v(v:pk(MAKER),v:pk(TAKER)),after(2048))`\n\nCooperative close without coordinator, in case coordinator vanishes or doesn't cosign.\n\nCould be used to prevent paying fees to coordinator after successful trade but both maker and taker would have to cooperate and wait at least some time.\n\nIf coordinator is offline this would need a direct communication layer between maker and taker to create the transaction, realistic? \n\n","x":-91,"y":120,"width":250,"height":720},
|
||||
{"id":"1ae1e95c01b93a8d","type":"text","text":"Script E\nAND(TIMELOCK(**Very** long timelock) & SIG(Maker))\n\n`and_v(v:pk(MAKER),after(12228))`\n\neverything to Maker\n\nbackup in case coordinator and Taker is gone.\nTimelock has to be longer than maximum escrow period. Timelock needs to be very long to incentivise cosigning with coordinator in Script C to get Fees to coordinator.\n\nAlso as protection against extortion trough Coordinator (aka. hey i help you in your dipute but it will cost 90% fees)","x":-418,"y":-60,"width":285,"height":580},
|
||||
{"id":"3584cf3a74895521","type":"text","text":"Script A\n\nAND(AND(TIMELOCK(escrow timer), SIG(MAKER)), SIG(COORDINATOR))\n\nTimeout if Taker doesn't respond anymore.\n\nEverything to Maker\n\n`and_v(v:pk(COORDINATOR),and_v(v:pk(MAKER),after(144)))`","x":-414,"y":-490,"width":278,"height":370}
|
||||
{"id":"3584cf3a74895521","type":"text","text":"Script A\n\nAND(AND(TIMELOCK(escrow timer), SIG(MAKER)), SIG(COORDINATOR))\n\nTimeout if Taker doesn't respond anymore.\n\nEverything to Maker\n\n`and_v(v:pk(COORDINATOR),and_v(v:pk(MAKER),after(144)))`\n\n(could probably also be Musig spend)","x":-414,"y":-490,"width":278,"height":410}
|
||||
],
|
||||
"edges":[
|
||||
{"id":"28e9d5ed421b6360","fromNode":"4f4cec183e99cc39","fromSide":"top","toNode":"9945f983ca9b2b3c","toSide":"left"},
|
||||
|
Reference in New Issue
Block a user