mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-04-21 08:16:37 -04:00
Tables for mapping validation criteria to protoype
One table structuring questions and validation criteria. One table mapping the criteria to each prototype.
This commit is contained in:
parent
978a72f113
commit
f1da5126fa
@ -1,48 +1,117 @@
|
||||
# XMR<>BTC Atomic Swap - User Interface Prototype Validation
|
||||
|
||||
This document sums up the questions that we would like to validated with mocks.
|
||||
This document:
|
||||
|
||||
1. Collects the validation criteria.
|
||||
2. Lists the created user interface prototypes, and link to Figma.
|
||||
3. Maps the protoypes to the validation criteria.
|
||||
|
||||
This document will be updated with new information during the course of the project.
|
||||
|
||||
## Questions
|
||||
|
||||
The questions are split between maker (liquidity provider) and taker (normal user), because the objectives are somewhat different.
|
||||
|
||||
Is a `taker` happy to...
|
||||
|
||||
1. run a bitcoind full-node
|
||||
1. run a monerod full-node
|
||||
1. use a webpage for discovering makers
|
||||
1. open "random" (tor) website found on various media (forums, chat) to access a single market maker
|
||||
1. download software (swap execution daemon) before being able to do a swap
|
||||
1. keep a GUI/CLI open for the whole length of the swap execution
|
||||
1. keep a computer running (that host the daemon) for the whole length of the swap execution
|
||||
1. Swap funds held in monero-wallet (monerod)
|
||||
1. Swap funds held in bitcoind wallet
|
||||
1. give control over the bitcoin and monero wallets to the swap execution daemon
|
||||
1. keep the browser open for the whole length of the swap execution
|
||||
1. have different steps (locking first vs second) depending on the direction of the swap
|
||||
1. to not use tor
|
||||
|
||||
... to do an XMR<>BTC swap?
|
||||
|
||||
|
||||
Is a `maker` happy to...
|
||||
|
||||
1. run a bitcoind full-node
|
||||
1. run a monerod full-node
|
||||
1. set up a webpage where takers get a price
|
||||
1. publicly advertise being a maker
|
||||
1. have different steps (locking first vs second) depending on the direction of the swap
|
||||
1. run the swap execution daemon without using Tor
|
||||
|
||||
... to do an XMR<>BTC swap?
|
||||
|
||||
The questions are split between `M`aker (liquidity provider) and `T`aker (normal user), because the objectives are somewhat different.
|
||||
|
||||
| **Topic** | **High Level Questions** | **More specific question** | **User is happy to...** | **Actor** |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Node & Wallet Management | How do users monitor the Bitcoin and Monero blockchain? | Is a user fine with trusting a third party to monitor transactions? | use a service like blockchain.com to retrieve blocks for validation | TM |
|
||||
| | | | run his own Bitcoin node, third party service for Monero | TM |
|
||||
| | | | run his own Monero node, third party service for Bitcoin | TM |
|
||||
| | | | run both his own Bitcoin and Monero node | TM |
|
||||
| | How do users brodcast transactions to Bitcoin and Monero? | Is a user fine with trusting a third party to broadcast transactions? | use a wallet that connects to third party nodes | TM |
|
||||
| | | | send signed transactions through third part nodes | TM |
|
||||
| | | | run his own Bitcoin node, third party service for Monero | TM |
|
||||
| | | | run his own Monero node, third party service for Bitcoin | TM |
|
||||
| | | | run both his own Bitcoin and Monero node | TM |
|
||||
| | How do users manage their wallets to interace with other software? | Do users want to use already existing wallets? | fund and redeem from existing wallets | TM |
|
||||
| | | | fund from existing Monero wallet, redeem to new Bitcoin wallet | TM |
|
||||
| | | | fund from existing Bitcoin wallet, redeem to new Monero wallet | TM |
|
||||
| | | | fund and redeem into new wallets (explicitly used for swap execution) | TM |
|
||||
| | | What level of control does the user give to the execution daemon? | give the execution daemon control over the wallets (no user interaction, fully automated) | TM |
|
||||
| | | | use a Bitcoin transaction to give funds to the swap application | TM |
|
||||
| | | | use a Monero transaction to give funds to the swap application | TM |
|
||||
| | | | explicitly sign each transaction | TM |
|
||||
| Discovery | How do users discover trading partners? | Do users care about privacy? | go to website and take price from there | T |
|
||||
| | | | set up website (publicly) to advertise price (and connection information) | M |
|
||||
| | | | open "random" (tor) website found on various media (forums, chat) to access a single market maker. | T |
|
||||
| | | | configure Tor for trading | TM |
|
||||
| | | Do users care about P2P? | use a centralized service to find makers | TM |
|
||||
| | | | user a decentralized service to find makers | TM |
|
||||
| Software Setup | | | download software (swap execution daemon) before being able to do a swap | T |
|
||||
| | | | keep a GUI/CLI open for the whole length of the swap execution | T |
|
||||
| | | | keep a computer running (that hosts the daemon) for the whole length of the swap execution | T |
|
||||
| | | | keep the browser open for the whole length of a swap | T |
|
||||
| Protocol | | | have different steps (locking first vs second) depending on the direction of the swap | TM |
|
||||
|
||||
## Prototypes
|
||||
|
||||
This section lists the created user interface prototypes to the questions they should validate.
|
||||
In the initial project description we distinguished product `A` a single market-maker product and product `B` a product including peer-to-peer discovery and multiple makers.
|
||||
|
||||
### A-1 Single-Maker Webpage and CLI
|
||||
```
|
||||
P ... Prototype that showcases a complete swap setup flow.
|
||||
D ... Prototype that focuses on a specific detail of swap setup / execution.
|
||||
|
||||
{}-A ... Prototype for product A (single market maker)
|
||||
{}-B ... Prototype for product B (decentralized trading platform)
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
`D-A2-1`: Mock showing detail 1 for prototype `P-A1`
|
||||
|
||||
### Figma Links
|
||||
|
||||
* [P-A1](https://www.figma.com/proto/QdvmbRYuBpEpFI3D1R4qyM/XMR-BTC_SingleMaker_LowFidelity?node-id=54%3A4894&viewport=1503%2C-52%2C0.5576764941215515&scaling=min-zoom): Webpage for discovery, CLI for execution
|
||||
* [P-A2](https://www.figma.com/proto/QdvmbRYuBpEpFI3D1R4qyM/XMR-BTC_SingleMaker_LowFidelity?node-id=7%3A4377&viewport=696%2C-250%2C0.362735778093338&scaling=min-zoom): Webpage for discovery, GUI for execution
|
||||
* [D-A2-1](https://www.figma.com/proto/QdvmbRYuBpEpFI3D1R4qyM/XMR-BTC_SingleMaker_LowFidelity?node-id=235%3A1374&viewport=1336%2C-1825%2C0.7878535389900208&scaling=min-zoom): GUI swap execution steps for `send` `BTC`, `receive` `XMR`
|
||||
* [D-A2-2](https://www.figma.com/proto/QdvmbRYuBpEpFI3D1R4qyM/XMR-BTC_SingleMaker_LowFidelity?node-id=128%3A8016&viewport=1404%2C-1158%2C0.66261225938797&scaling=min-zoom): GUI swap execution steps for `send` `XMR`, `receive` `BTC`
|
||||
|
||||
### Mapping of Prototype to validation criteria
|
||||
|
||||
| **User is happy to...** | **Actor** | **P-A1** | **P-A2** | **D-A2-1** | **D-A2-2** |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| use a service like blockchain.com to retrieve blocks for validation | TM | | | | |
|
||||
| run his own Bitcoin node, third party service for Monero | TM | | | | |
|
||||
| run his own Monero node, third party service for Bitcoin | TM | | | | |
|
||||
| run both his own Bitcoin and Monero node | TM | T | T | | |
|
||||
| use a wallet that connects to third party nodes | TM | | | | |
|
||||
| send signed transactions through third part nodes | TM | | | | |
|
||||
| run his own Bitcoin node, third party service for Monero | TM | | | | |
|
||||
| run his own Monero node, third party service for Bitcoin | TM | | | | |
|
||||
| run both his own Bitcoin and Monero node | TM | T | T | | |
|
||||
| fund and redeem from existing wallets | TM | T | T | | |
|
||||
| fund from existing Monero wallet, redeem to new Bitcoin wallet | TM | | | | |
|
||||
| fund from existing Bitcoin wallet, redeem to new Monero wallet | TM | | | | |
|
||||
| fund and redeem into new wallets (explicitly used for swap execution) | TM | | | | |
|
||||
| give the execution daemon control over the wallets (no user interaction, fully automated) | TM | T | T | | |
|
||||
| use a Bitcoin transaction to give funds to the swap application | TM | | | | |
|
||||
| use a Monero transaction to give funds to the swap application | TM | | | | |
|
||||
| explicitly sign each transaction | TM | | | | |
|
||||
| go to website and take price from there | T | | | | |
|
||||
| set up website (publicly) to advertise price (and connection information) | M | M | M | | |
|
||||
| open "random" (tor) website found on various media (forums, chat) to access a single market maker. | T | | | | |
|
||||
| configure Tor for trading | TM | | | | |
|
||||
| use a centralized service to find makers | TM | T | T | | |
|
||||
| user a decentralized service to find makers | TM | | | | |
|
||||
| download software (swap execution daemon) before being able to do a swap | T | | | | |
|
||||
| keep a GUI/CLI open for the whole length of the swap execution | T | | | T | T |
|
||||
| keep a computer running (that hosts the daemon) for the whole length of the swap execution | T | T | T | T | T |
|
||||
| keep the browser open for the whole length of a swap | T | | | | |
|
||||
| have different steps (locking first vs second) depending on the direction of the swap | TM | | | T (M) | T (M) |
|
||||
|
||||
Legend:
|
||||
|
||||
```
|
||||
T ... Taker
|
||||
M ... Maker
|
||||
TM ... Taker and Maker
|
||||
T (M) ... Taker showcased, Maker implicitly concerned as well
|
||||
```
|
||||
|
||||
## Interviews
|
||||
|
||||
Through user interviews we plan to collect more information on the current setup of users, and how it could be used in a potential product.
|
||||
|
||||
Specific prototypes showcase specific answers to the questions listed above. We may use the prototypes in interviews to showcase scenarios.
|
||||
|
||||
|
||||
### A-1 Single-Maker Webpage and CLI
|
||||
|
Loading…
x
Reference in New Issue
Block a user