forked from nihilist/blog-contributions
247 lines
13 KiB
HTML
247 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
|
|
|
|
<title>Haveno Decentralised Exchange Dispute (Fiat -> XMR amazon giftcode transaction)</title>
|
|
|
|
<!-- Bootstrap core CSS -->
|
|
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
|
|
<link href="../../assets/css/xt256.css" rel="stylesheet">
|
|
|
|
|
|
|
|
<!-- Custom styles for this template -->
|
|
<link href="../../assets/css/main.css" rel="stylesheet">
|
|
|
|
|
|
|
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
|
<![endif]-->
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!-- Static navbar -->
|
|
<div class="navbar navbar-inverse-anon navbar-static-top">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand-anon" href="\index.html">nihilist`s Blog</a>
|
|
</div>
|
|
<div class="navbar-collapse collapse">
|
|
<ul class="nav navbar-nav navbar-right">
|
|
|
|
<li><a href="/about.html">About</a></li>
|
|
<li><a href="/blog.html">Categories</a></li>
|
|
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
|
|
<li><a href="/contact.html">Contact</a></li>
|
|
</ul>
|
|
</div><!--/.nav-collapse -->
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- +++++ Posts Lists +++++ -->
|
|
<!-- +++++ First Post +++++ -->
|
|
<div id="anon2">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist@mainpc - 2024-05-19</ba></p>
|
|
<h1>Haveno Decentralised Exchange Dispute resolution (Fiat -> XMR) </h1>
|
|
<img src="0.png" style="width:250px">
|
|
<p>In this tutorial we're going to cover how the Haveno DEX handles trade disputes, which can happen as, after all it's decentralised, and anonymous by default.</p>
|
|
<p>Check out <a href="../haveno-client-f2f/index.html">this tutorial</a> if you want to know how to install Haveno DEX on your device.</p>
|
|
<p><h2><u>OPSEC Recommendations:</u></h2></p>
|
|
<ol>
|
|
<li><p>Hardware : (Personal Computer / Laptop)</p></li>
|
|
<li><p>Host OS: <a href="../linux/index.html">Linux</a></p></li>
|
|
<li><p>Hypervisor: <a href="../hypervisorsetup/index.html">libvirtd QEMU/KVM</a></p></li>
|
|
<li><p>Virtual Machine: <a href="../hypervisorsetup/index.html">Linux</a> or <a href="../whonixqemuvms/index.html">Whonix</a> or <a href="../tailsqemuvm/index.html">Tails</a> </p></li>
|
|
<li><p>Application: <a href="../hypervisorsetup/index.html">Haveno DEX Setup</a> </p></li>
|
|
</ol>
|
|
<p>I recommend using this setup into one of the above mentionned VMs, either for <a href="../privacy/index.html">Private use</a>, or <a href="../anonymityexplained/index.html">Anonymous use</a>, as per the <a href="../opsec4levels/index.html">4 basic OPSEC levels</a>. (Note that Deanonymization will happen during the Fiat transaction, but it is minimized as you're revealing your identity to an other peer, rather than to a centralised exchange)</p>
|
|
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /grey -->
|
|
|
|
<!-- +++++ Second Post +++++ -->
|
|
<div id="anon3">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2><b>What protects the Buyer or the Seller ? </b></h2>
|
|
<p>Back on localmonero, what was at stake was the reputation of the Buyer or the Seller, because if any of their trades go wrong, their reputation would not be a clean 100% successful trades anymore. Problem is, on the Haveno DEX, where there is no centralisation to keep everyone's reputation in check, it could be very easy to give yourself a ton of positive reputation points, by spinning up 2 haveno dex instances, to simulate trades with yourself.</p>
|
|
<p>So there was this need to have something else at stake to prevent people from scamming each other. That is <b>the Security deposit system</b> that we described in the <a href="../haveno-client-f2f/index.html">previous tutorial</a>.</p>
|
|
<img src="1.png" class="imgRz">
|
|
<p>In short, <b>both Bob and Alice need to put some XMR into the trade initially, so that if they try to scam each other, they will loose something in the process.</b></p>
|
|
<p>In this example, The trade will go wrong as <b>Bob will try to scam Alice with an invalid Amazon giftcard code</b>.</p>
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /white -->
|
|
|
|
<div id="anon2">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2><b>What happens when there's a scammer?</b></h2> </br> </br>
|
|
<img src="alice.png">
|
|
<p>Here, in this case we're Alice, and we want to sell our XMR for an amazon giftcard (which is typically just a code you need to redeem). So here Alice creates her amazon egift card haveno account to be able to trade just that, she needs to mention her email and the country (because a german amazon giftcard code doesnt work on the french amazon website!) </p>
|
|
<img src="2.png" class="imgRz">
|
|
<img src="3.png" class="imgRz">
|
|
<img src="4.png" class="imgRz">
|
|
<p>Read carefully what exchanging an Amazon egift card to XMR implies then click "I understand"</p>
|
|
<img src="5.png" class="imgRz">
|
|
<p>Then create a selling offer like so:</p>
|
|
<img src="6.png" class="imgRz">
|
|
<p>Mention the amount of XMR you want to sell, and the % above the market price you want to sell it for, currently 0.2018 XMR at market price will give you 25 euros. <b>Then you need to fund your offer with the additional 0.101009 XMR security deposit. Meaning you need to put in 0.302809 XMR total</b></p>
|
|
<img src="7.png" class="imgRz">
|
|
<p>Once funded, wait for the funds to appear as available balance on your haveno client (can take 20 minutes)</p>
|
|
<img src="8.png" class="imgRz">
|
|
<img src="9.png" class="imgRz">
|
|
<p>Then click Place offer to sell monero:</p>
|
|
<img src="10.png" class="imgRz">
|
|
<p>and then click confirm offer to sell monero.</p>
|
|
<img src="11.png" class="imgRz">
|
|
<img src="12.png" class="imgRz">
|
|
<p>Here you can see that your offer is enabled from the portfolio tab, and people can see it appear on the Buy tab:</p>
|
|
<img src="13.png" class="imgRz">
|
|
<img src="bob.png">
|
|
<p>Now let's switch sides. We're now Bob the scammer, we want to scam Alice. We see her offer on the buy tab, and we take the offer:</p>
|
|
<img src="14.png" class="imgRz">
|
|
<p>Then, just like Alice did, we also fund the offer with the monero security deposit:</p>
|
|
<img src="15.png" class="imgRz">
|
|
<img src="16.png" class="imgRz">
|
|
<p>Wait for it to show up as available in your haveno balance:</p>
|
|
<img src="17.png" class="imgRz">
|
|
<img src="18.png" class="imgRz">
|
|
<p>Then click confirm to take the offer to buy Monero:</p>
|
|
<img src="19.png" class="imgRz">
|
|
<img src="alice.png">
|
|
<p>Back to Alice's perspective, the trade will intiate and can be viewed when going to the portfolio tab:</p>
|
|
<img src="20.png" class="imgRz">
|
|
<p>When opening the trade window, Alice sees that <b>Bob not only does not respect the trade protocol of sending the gift card by mail by just sending the code over chat, but the code is also invalid!</b></p>
|
|
<img src="21.png" class="imgRz">
|
|
<img src="22.png" class="imgRz">
|
|
<img src="23.png" class="imgRz">
|
|
<p>Alice sees that she cannot redeem the code as it is invalid. <b>In short, she didn't get paid!</b> </p>
|
|
<img src="bob.png">
|
|
<p>Back to Bob's perspesctive as we are one kind of an asshole, we don't care that Alice didn't get paid and declare that we sent payment anyway.</p>
|
|
<img src="24.png" class="imgRz">
|
|
<img src="25.png" class="imgRz">
|
|
<img src="26.png" class="imgRz">
|
|
<img src="alice.png">
|
|
<p>Back to Alice's perspective, Now the ball is in her park, what does she do ? </p>
|
|
<img src="27.png" class="imgRz">
|
|
<img src="28.png" class="imgRz">
|
|
<p>Since she never recieved payment,<b> she does not confirm that she recieved it, and waits until the trade expires</b></p>
|
|
<img src="29.png" class="imgRz">
|
|
<img src="30.png" class="imgRz">
|
|
<p>In this case, the trade should not take more than 24 hours, so she waits until the next day, and when it expires, she'll be able to open up a dispute.</p>
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /white -->
|
|
|
|
|
|
<!-- +++++ Second Post +++++ -->
|
|
<div id="anon1">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2><b>Arbitrator Resolution</b></h2> </br> </br>
|
|
<p>Now that the trade time expired (24hrs), Alice can now open up a dispute, for the Arbitrator to step in:</p>
|
|
<img src="31.png" class="imgRz">
|
|
<p>Here, Alice clicks on "open support ticket", and she goes to the support tab to view her support ticket: </p>
|
|
<img src="32.png" class="imgRz">
|
|
<img src="33.png" class="imgRz">
|
|
<img src="34.png" class="imgRz">
|
|
|
|
<p>Then the Arbitrator reviews the exchange from Alice's point of view:</p>
|
|
<img src="36.png" class="imgRz">
|
|
<p>Here the arbitrator sees that the trade protocol has not been respected, both parties need to make sure they follow the trade protocol for said payment option correctly for the trade to be considered as valid from the arbitrator's point of view.</p>
|
|
<img src="bob.png">
|
|
<p>Then the Arbitrator sees the exchange from Bob's point of view too:</p>
|
|
<img src="38.png" class="imgRz">
|
|
<p>Obviously, Bob explains that he got his very legit amazon giftcard code from his hat, and he naively thinks that the arbitrator will rule in his favor. </p>
|
|
|
|
<img src="alice.png">
|
|
<p>And finally, back to Alice's POV: the Arbitrator decides that it is Alice who's in the Right, and therefore Bob does not get his Monero security deposit back, hence he's loosing 0.101009 XMR in the process.</p>
|
|
|
|
<img src="37.png" class="imgRz">
|
|
<p>So here, Bob just lost some XMR, and Alice is getting her 0.2018 XMR back, she gets her security deposit back (0.101009 XMR) but also she gets Bob's security deposit (0.101009 XMR), <b>so in total she gets 0.40011456 XMR back (0.101009 XMR more than when she started using Haveno)</b>. In the end, it is Bob that ended up giving her some monero against his will.</p>
|
|
<img src="41.png" class="imgRz">
|
|
<p>Now keep in mind that not all payment options are safe, some can come with easy chargebacks (ex: paypal), and some are just next to impossible for an arbitrator to decide who's in the right or wrong (face-to-face trades for instance). Be very careful to know the risks associated with each payment option, along with what precautions need to be taken. </p>
|
|
|
|
<p>Check out my other tutorials on Decentralised Finances below:</p>
|
|
<ol>
|
|
<li><a href="../monero2024/index.html">✅ How to acquire and use Monero </a></li>
|
|
<li><a href="../haveno-client-f2f/index.html">✅ Haveno Decentralised Exchange direct Fiat -> XMR transaction ⭐</a></li>
|
|
<li><a href="../haveno-arbitrator/index.html"><b>✅ Haveno DEX Dispute resolution (Fiat -> XMR) </b></a></li>
|
|
<li><a href="../haveno-sepa/index.html">✅ Haveno DEX Bank Transfer (ex: SEPA) -> XMR transaction </a></li>
|
|
<li><a href="../haveno-cashbymail/index.html">✅ Haveno DEX Cash By Mail -> XMR transaction ⭐</a></li> </ol></br>
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /white -->
|
|
|
|
<!-- +++++ Footer Section +++++ -->
|
|
|
|
<div id="anonb">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<h4>Nihilism</h4>
|
|
<p>
|
|
Until there is Nothing left.
|
|
|
|
</p>
|
|
</div><!-- /col-lg-4 -->
|
|
|
|
<div class="col-lg-4">
|
|
<h4>My Links</h4>
|
|
<p>
|
|
|
|
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://matrix.to/#/#nowheremoe:nowhere.moe">Matrix Chat</a><br/>
|
|
|
|
</p>
|
|
</div><!-- /col-lg-4 -->
|
|
|
|
<div class="col-lg-4">
|
|
<h4>About nihilist</h4>
|
|
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
|
|
</div><!-- /col-lg-4 -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Bootstrap core JavaScript
|
|
================================================== -->
|
|
<!-- Placed at the end of the document so the pages load faster -->
|
|
|
|
</body>
|
|
</html>
|