<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FaceFace</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FaceFace"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/FaceFace"/>
	<updated>2026-04-24T22:10:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Blockstream&amp;diff=67155</id>
		<title>Blockstream</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Blockstream&amp;diff=67155"/>
		<updated>2020-01-17T09:06:37Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: another typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox company|name=Blockstream&lt;br /&gt;
|image=&lt;br /&gt;
|industry=&lt;br /&gt;
|founder=&lt;br /&gt;
|foundation=&lt;br /&gt;
|location=&lt;br /&gt;
|assets=&lt;br /&gt;
|twitter=&lt;br /&gt;
|facebook=&lt;br /&gt;
|&lt;br /&gt;
|website=https://blockstream.info/&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Blockstream&amp;diff=67154</id>
		<title>Blockstream</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Blockstream&amp;diff=67154"/>
		<updated>2020-01-17T09:06:22Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox company|name=Blockstream,&lt;br /&gt;
|image=&lt;br /&gt;
|industry=&lt;br /&gt;
|founder=&lt;br /&gt;
|foundation=&lt;br /&gt;
|location=&lt;br /&gt;
|assets=&lt;br /&gt;
|twitter=&lt;br /&gt;
|facebook=&lt;br /&gt;
|&lt;br /&gt;
|website=https://blockstream.info/&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Blockstream&amp;diff=67153</id>
		<title>Blockstream</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Blockstream&amp;diff=67153"/>
		<updated>2020-01-17T09:06:09Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: It&amp;#039;s a start...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox company|name=Blockstream,&lt;br /&gt;
|image=&lt;br /&gt;
|industry=&lt;br /&gt;
|founder=&lt;br /&gt;
|foundation=&lt;br /&gt;
|location=&lt;br /&gt;
|assets=&lt;br /&gt;
|twitter=&lt;br /&gt;
|facebook=&lt;br /&gt;
|&lt;br /&gt;
|website=[https://blockstream.info/]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Vaultoro&amp;diff=67152</id>
		<title>Vaultoro</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Vaultoro&amp;diff=67152"/>
		<updated>2020-01-17T09:03:47Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: Small clarification in wikitext&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&lt;br /&gt;
{{infobox company|name=Vaultoro Limited, Inc.|image=[[File:Vaultoro-Logo.png |thumb|Vaultoro.com Bitcoin / Gold exchange logo ]]&lt;br /&gt;
|industry=[[eWallet]], [[exchange]]&lt;br /&gt;
|founder=[[Joshua Scigala]], [[Philip Scigala]]&lt;br /&gt;
|foundation=Feb 15, 2015&lt;br /&gt;
|location=London, England / Berlin Germany&lt;br /&gt;
|assets={{increase}} 8037 BTC (2016&lt;br /&gt;
) /&amp;lt;br/&amp;gt;{{increase}} $6 million USD (2016)&lt;br /&gt;
|twitter=vaultoro&lt;br /&gt;
|facebook=Vaultoro&lt;br /&gt;
|&lt;br /&gt;
|website=[https://www.vaultoro.com/ vaultoro.com]}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vaultoro&#039;s&#039;&#039;&#039;primary purpose is to enable anyone to trade in cryptocurrency and allocated gold instantly and secure that gold in a profesional top-tier audited &amp;amp; insured vaulting facility based in a tax free zone in Zurich Switzerland. &lt;br /&gt;
&lt;br /&gt;
[https://www.vaultoro.com Vaultoro.com] is the first live [[currency exchange|exchange]] to enable traders to trade between bitcoin and physical gold with other members of the exchange.&lt;br /&gt;
&lt;br /&gt;
==Deposits==&lt;br /&gt;
&lt;br /&gt;
* Bitcoin&lt;br /&gt;
* DASH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Withdrawals==&lt;br /&gt;
&lt;br /&gt;
* Bitcoin&lt;br /&gt;
* DASH&lt;br /&gt;
* Physical Gold&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Real-time trading between physical gold and bitcoin&lt;br /&gt;
* Trade a minimum of 5 cents worth of bitcoin or gold&lt;br /&gt;
* Gold is Audited and insured&lt;br /&gt;
* Bitcoin holdings are publicly audited and help in multi-sig cold storage.&lt;br /&gt;
* Gold is held in the customer&#039;s name so if something was to happen to vaultoro clients have full ownership and writes to their gold.&lt;br /&gt;
* No need to verify your identity unless you want to deposit more than $5000 worth of bitcoin per day.&lt;br /&gt;
* 0.5% - 0.2% trading fees depending on traders 30 day volume.&lt;br /&gt;
* All gold is Vaulted in professional bullion vaulting facility within Switzerland&#039;s duty-free zone.  &lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
After a year of development, the exchange was opened for the public in February 2015. &lt;br /&gt;
&lt;br /&gt;
* Vaultoro is the first real-time [http://cointelegraph.com/news/113492/vaultoro-launches-bitcoin-gold-exchange Gold / Bitcoin exchange] in the world.&lt;br /&gt;
* Vaultoro uses a 100% transparent public audit both of bitcoin and gold holdings while keeping its clients&#039;identities private. &lt;br /&gt;
* Joshua Scigala, one of Vaultoro&#039;s co-founders lost money to the MtGox collapse. This inspired him and his co-Founder Philip Scigala to develop an exchange that could be radically transparent. &lt;br /&gt;
* In mid-February 2015, Vaultoro secured a 100,000 Euro angel round of private funding.&lt;br /&gt;
* In mid-2017, Vaultoro secured a 7 figure investment round seed round from FinLab AG &lt;br /&gt;
* In Feb-2018, Vaultoro became the first major bitcoin exchange in the world to accept main net lightning network deposits.&lt;br /&gt;
* In Nov-2019, Vaultoro secured a 1.1 million dollar crowd investment through BNKTOTHEFUTURE valuing the company at $13 million&lt;br /&gt;
&lt;br /&gt;
==Transparency and Auditing==&lt;br /&gt;
&lt;br /&gt;
* All bitcoin and gold holdings can be audited publicly. The bitcoin is audited via that blockchain, and the Gold is audited publicly and privately. &lt;br /&gt;
*Vaultoro invented a transparency protocol in 2015 called &amp;quot;The Glass books protocol&amp;quot; and released the idea as public domain to promote transparency in crypto exchanges. Mtgox famously collapsed and due to lack of transparency, all creditors lost their money, this inspired Joshua and Philip Scigala to invent an open transparency protocol that was easy to use. &lt;br /&gt;
* Vaultoro’s &amp;quot;Glass Books Protocol&amp;quot; works as follows.&lt;br /&gt;
&lt;br /&gt;
# All clients receive an anonymous client ID&lt;br /&gt;
# All anonymous client ID’s and holdings are published and can be verified by everyone without being logged into the system to Vaultoro do not know when anyone is checking.&lt;br /&gt;
# The client can see the sum of all bitcoin and gold holdings and compare that to vaultoro&#039;s gold auditing statements and vaultoro&#039;s cold wallets&lt;br /&gt;
# The gold holdings are audited by [https://en.wikipedia.org/wiki/BDO_International BDO]&lt;br /&gt;
# Clients can verify the insurance certificate&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Buying bitcoins]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Full Reserve Banking]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [https://vaultoro.com vaultoro.com] Gold bitcoin exchange website&lt;br /&gt;
* [http://www.reddit.com/r/Bitcoin/comments/2vrr11/after_1_year_of_really_hard_work_we_have_finally/ Reddit AMA] with Joshua Scigala, a Co-Founder of Vaultoro&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:EWallets]]&lt;br /&gt;
[[Category:Gold]]&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User_talk:FaceFace&amp;diff=67151</id>
		<title>User talk:FaceFace</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User_talk:FaceFace&amp;diff=67151"/>
		<updated>2020-01-17T08:50:33Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: Created page with &amp;quot;Hi hi!&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi hi!&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User:FaceFace&amp;diff=67150</id>
		<title>User:FaceFace</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User:FaceFace&amp;diff=67150"/>
		<updated>2020-01-17T08:50:19Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: Created page with &amp;quot;Hi&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Talk:Developers&amp;diff=67149</id>
		<title>Talk:Developers</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Talk:Developers&amp;diff=67149"/>
		<updated>2020-01-17T08:50:11Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: /* How is this table maintained? */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changing maintainers to yellow. ==&lt;br /&gt;
&lt;br /&gt;
Makes more sense. {{unsigned|Jaxkr|17:43, 7 August 2013‎}}&lt;br /&gt;
&lt;br /&gt;
== How is this table maintained? ==&lt;br /&gt;
&lt;br /&gt;
Is this table maintained programmatically or by hand? kthxbi --[[User:FaceFace|FaceFace]] ([[User talk:FaceFace|talk]]) 08:50, 17 January 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BIP_0079&amp;diff=67148</id>
		<title>BIP 0079</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_0079&amp;diff=67148"/>
		<updated>2020-01-17T08:48:12Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: /* Credits */ Does the wiki host information about bitcoin companies?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{bip}}&lt;br /&gt;
{{BipMoved|bip-0079.mediawiki}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: 79&lt;br /&gt;
  Layer: Applications&lt;br /&gt;
  Title: Bustapay :: a practical coinjoin protocol&lt;br /&gt;
  Author: Ryan Havar &amp;lt;rhavar@protonmail.com&amp;gt;&lt;br /&gt;
  Comments-Summary: No comments yet.&lt;br /&gt;
  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0079&lt;br /&gt;
  Status: Proposed&lt;br /&gt;
  Type: Informational&lt;br /&gt;
  Created: 2018-10-05&lt;br /&gt;
  License: CC0-1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
The way bitcoin transactions are normally created leaks more information than desirable, and as a result has been exploited by unreasonably effective blockchain analysis techniques to jeopardize important properties that are expected of a useful currency.&lt;br /&gt;
&lt;br /&gt;
Bustapay is a simple and practical protocol for the sender and receiver of a payment to collaboratively sign a bitcoin transaction in such a way that busts some analysis assumptions to the immediate benefit of the sender and receiver. Furthermore it does so in such a way that gives a significant amount of control to the receiver to help manage their utxo set size, a constant problem for bitcoin merchants.&lt;br /&gt;
&lt;br /&gt;
==Copyright==&lt;br /&gt;
&lt;br /&gt;
This document is licensed under the Creative Commons CC0 1.0 Universal license.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
One of the most powerful blockchain analysis heuristics has been to assume all inputs of a transaction are controlled by a single party unless otherwise known (such as by the distinctive structure of a traditional coinjoin, or multisig spends that are validated onchain). Combined with other techniques (notably change-output guessing) this has lead to unexpectedly accurate tracking that has exposed bitcoin participants to unacceptable personal, business and financial risks -- undermining bitcoin&#039;s utility and fungibility -- and ultimately jeopardizing its ability to function as useful money.&lt;br /&gt;
&lt;br /&gt;
We however can bust these assumptions with a sender-receiver coinjoin. To prevent costless spy/DoS attacks, we require the sending party to provide a fully-valid ready-to-propagate transaction to initiate the process, that the receiver can broadcast if the sender never completes the coinjoin thus tying the cost to that of spending a utxo. Most promisingly, bustapay transactions do not have an identifiable structure so any network analysis will be not able to tell if a given transaction is a bustapay transaction or not which erodes the confidence of their entire models, providing positive externalities for the entire bitcoin ecosystem.&lt;br /&gt;
&lt;br /&gt;
Bustapay transactions also do not grow the receiver&#039;s count of unspent transaction outputs, and in fact gives the receiver an opportunity to better manage their utxo set, something normally only done when sending payments. Large utxo sets are often problematic and expensive, and frequently requiring privacy-destroying consolidation.  Besides busting clustering assumptions, bustapay also provides a layer of obfuscation of send amounts.&lt;br /&gt;
&lt;br /&gt;
It is worth noting that this specification has eschewed complexity and potentially useful extensions on the assumption that simplicity is of the most important to encourage adoption.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
A bustapay payment is made from a sender to a receiver.&lt;br /&gt;
&lt;br /&gt;
====Step 1. Sender creates a bitcoin transaction paying the receiver====&lt;br /&gt;
&lt;br /&gt;
This transaction must use segwit for all inputs, and be fully valid and signed. The transaction must be eligible for propagation on the network (but not done so at this stage)&lt;br /&gt;
&lt;br /&gt;
====Step 2. Sender gives the &amp;quot;template transaction&amp;quot; to the receiver====&lt;br /&gt;
&lt;br /&gt;
This is done via an HTTP POST request, sent to a &amp;quot;bustapay url&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Step 3. Receiver processes the transaction and returns a partially signed coinjoin====&lt;br /&gt;
&lt;br /&gt;
The receiver validates the transaction, and pays himself. The receiver then adds one or more of his own inputs (known as the &#039;&#039;contributed inputs&#039;&#039;) and (optionally) increases the output that pays himself (generally by the sum of the &#039;&#039;contributed inputs&#039;&#039;). Doing so creates a &#039;&#039;partial transaction&#039;&#039;, which the receiver returns to the sender. It is called such as it requires the sender to re-sign his own inputs.&lt;br /&gt;
&lt;br /&gt;
====Step 4. Sender validates, re-signs, and propagates on the bitcoin network====&lt;br /&gt;
&lt;br /&gt;
The sender MUST validate the &#039;&#039;partial transaction&#039;&#039; was changed correctly and non-maliciously (to allow using potentially untrusted communication channels), re-sign its original inputs and propagate the final transaction over the bitcoin network.&lt;br /&gt;
&lt;br /&gt;
====Step 5. Receiver observes the finalized transaction on the bitcoin network====&lt;br /&gt;
&lt;br /&gt;
Once the receiver has seen the finalized transactions on the network (and has enough confirmations) it can process it like a normal payment for the sent amount (as opposed to the amount that it looks like on the network). If the receiver does not see the finalized transaction after a timeout, they will propagate the original &amp;quot;template transaction&amp;quot;, which ensures the payment happens and functions a strong anti-DoS mechanism.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
The standard way of letting a sender know where to send a bustapay transaction is done via a bip21 encoded address. The key value &amp;quot;bpu&amp;quot; (short for &amp;quot;BustaPayUrl&amp;quot;) should be used. An example of such address would be bitcoin:2NABbUr9yeRCp1oUCtVmgJF8HGRCo3ifpTT?bpu=https://bp.bustabit.com/submit  It is highly encouraged that urls are kept short.&lt;br /&gt;
&lt;br /&gt;
When the sender is creating a &amp;quot;template transaction&amp;quot; it is done almost identically to creating a normal send, with the exception that *only* segwit inputs may be used. The sender is also encouraged to use a slightly more aggressive feerate than usual as well as BIP125 (Opt-in Full Replace-by-Fee Signaling), but neither is strictly required.&lt;br /&gt;
&lt;br /&gt;
The template transaction should be sent to the receiver via an HTTP POST to the bustapay url, with a binary encoded body.&lt;br /&gt;
&lt;br /&gt;
The receiver is then responsible for validating the template transaction. If there is a problem with the transaction, or the receiver is generally unhappy with the transaction (e.g. fees are too small) the HTTP response code of 422 should be used and a human-readable string containing information on why which can be directly given to the user.&lt;br /&gt;
&lt;br /&gt;
Should the receiver reject a transaction, it should not attempt to propagate it on the network. However it is important for the sender to be aware that the receiver *could* at any time (regardless of which error was given) send this transaction. The client should therefor assume the receiver will, and act accordingly (either retry with adjustments or just propagate the transaction). It is imperative that the sender never finds themselves in a situation where two payments to the sender could be valid.&lt;br /&gt;
&lt;br /&gt;
=== Contributed Input Choice ===&lt;br /&gt;
&lt;br /&gt;
The receiver must add at least one input to the transaction (the &amp;quot;contributed inputs&amp;quot;). If the receiver has no inputs, it should use a 500 internal server error, so the client can send the transaction as per normal (or try again later). Its generally advised to only add a single contributed input, however they are circumstances where adding more than a single input can be useful.&lt;br /&gt;
&lt;br /&gt;
To prevent an attack where a receiver is continually sent variations of the same transaction to enumerate the receivers utxo set, it is essential that the receiver always returns the same contributed inputs when it&#039;s seen the same inputs.&lt;br /&gt;
&lt;br /&gt;
It is strongly preferable that the receiver makes an effort to pick a contributed input of the same type as the other transaction inputs if possible.&lt;br /&gt;
&lt;br /&gt;
=== Output Adjustment ===&lt;br /&gt;
&lt;br /&gt;
After adding inputs to the transaction, the receiver generally will want to adjust the output that pays himself by increasing it by the sum of the contributed input amounts (minus any fees he wants to contribute). However the only strict requirement is that the receiver *must never* remove inputs, and *must not* ever decrease any output amount.&lt;br /&gt;
&lt;br /&gt;
=== Returning the partial transaction ===&lt;br /&gt;
&lt;br /&gt;
The receiver must sign all contributed inputs in the partial transaction. The partial transaction should also remove all witnesses from the the original template transaction as they are no longer valid, and need to be recalculated by the sender. The receiver returns the partial transaction as a binary-encoded HTTP response with a status code of 200. To ensure compatibility with web-wallets and browser-based-tools, all responses (including errors) must contain the HTTP header &amp;quot;Access-Control-Allow-Origin: *&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sender Validation ===&lt;br /&gt;
&lt;br /&gt;
The sender *must* do important validation on the partial transaction. They *must* verify:&lt;br /&gt;
&lt;br /&gt;
* All template transaction inputs are in the partial transaction (but perhaps different order) and have the same sequence numbers.&lt;br /&gt;
* The partial transaction contains at least one new (and signed) segwit input (owned by the receiver)&lt;br /&gt;
* All outputs from the template transaction exist in the partial transaction, except they are allowed to be reordered and have their amounts increased (but *never* decreased)&lt;br /&gt;
&lt;br /&gt;
=== Creating Final Transaction ===&lt;br /&gt;
&lt;br /&gt;
After validating the partial transaction, the sender signs all its inputs to create what is now the final transaction. It is important that the sender is careful to not be tricked by the receiver into signing other inputs it owns. The sender must only sign inputs that existed in the template transaction. If the sender is not careful the receiver may &amp;quot;contribute&amp;quot; inputs that are actually owned with by the sender, with the hope the sender blindly signs everything.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transaction Publishing ===&lt;br /&gt;
&lt;br /&gt;
Once the final transaction is created, the sender should publish it directly onto the bitcoin network. If the sender does not do this after a reasonable time (e.g. 1 minute), the receiver should publish the template transaction as an important anti-spy/anti-DoS tactic . The sender may also choose to publish the template transaction instead of the final transaction if they believe the receiver to have unreasonably lowered the feerate of the transaction (i.e. increased the size of the transaction, but not the feerate enough). And both parties can consider publishing the template transaction even after the finalized transaction is on the network (taking advantage of replace-by-fee) if the final transaction is not confirming and the template transaction has more fees.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Implementation Notes ===&lt;br /&gt;
For anyone wanting to implement bustapay payments, here are some notes for receivers:&lt;br /&gt;
&lt;br /&gt;
* A transaction can easily be checked if it&#039;s suitable for the mempool with testmempoolaccept in bitcoin core 0.17+&lt;br /&gt;
* Tracking transactions by txid is precarious. To keep your sanity make sure all inputs are segwit. But remember segwit does not prevent txid malleability unless you validate the transaction. So really make sure you&#039;re using testmempoolaccept at the very least&lt;br /&gt;
* Bustapay could be abused by a malicious party to query if you own a deposit address or not. So never accept a bustapay transaction that pays an already used deposit address&lt;br /&gt;
* You will need to keep a mapping of which utxos people have showed you and which you revealed. So if you see them again, you can reveal the same one of your own&lt;br /&gt;
* Check if the transaction was already sorted according to BIP69, if so ensure the result stays that way. Otherwise probably just shuffle the inputs/outputs&lt;br /&gt;
* A reference implementation is maintained at https://github.com/rhavar/bustapay which functions as a wrapper around some RPC calls to bitcoin core&#039;s wallet.&lt;br /&gt;
* The sender must be careful of an attack where the receiver tries to add additional inputs that are controlled by the sender, with the hope that the sender blindly signs it.&lt;br /&gt;
&lt;br /&gt;
== Backwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Bustapay is an optional payment protocol and therefor has no backwards compatibility concerns. It in fact can only be supported in addition to normal transaction processing, as falling back to a normal bitcoin transaction is a required behavior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
The idea is obviously based upon Dr. Maxwell&#039;s seminal CoinJoin proposal, and reduced scope inspired by a simplification of the &amp;quot;pay 2 endpoint&amp;quot; blog post by [[blockstream]].&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Adam_Back&amp;diff=67147</id>
		<title>Adam Back</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Adam_Back&amp;diff=67147"/>
		<updated>2020-01-17T08:47:25Z</updated>

		<summary type="html">&lt;p&gt;FaceFace: Not much of an improvement, but gotta get the ball rolling right?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
Adam Back is a British cryptographer and crypto-hacker notable as the inventor of [[Hashcash]], the [[proof-of-work]] system used by [[Bitcoin]].&lt;br /&gt;
&lt;br /&gt;
He is currently a lead developer at [[Blockstream]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* https://en.wikipedia.org/wiki/Adam_Back&lt;/div&gt;</summary>
		<author><name>FaceFace</name></author>
	</entry>
</feed>