BIP: ?
Layer: Applications
Title: Address Paste Improvement
Author: nopara73 <adam.ficsor73@gmail.com>
David Molnar <molnardavid84@gmail.com>
Comments-Summary: No comments yet.
Comments-URI:
Status: Draft
Type: Standard Track
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Program | |
| { | |
| private static readonly Network _network = Network.TestNet; | |
| private static readonly BitcoinExtKey _seed = new BitcoinExtKey("tprv8ZgxMBicQKsPeGSjHbcTdpBxmVvRmySiUkQFBLruRTrn2dXAtn2rqApjVUgqsFkhfJZLYy8kXgRaEgZh7M3zdxyabF1TcwoxZsgpmAnHYyH"); | |
| private static readonly ExtKey _fundingExtKey = _seed.ExtKey.Derive(0, false); | |
| private static readonly BitcoinAddress _fundingAddress = _fundingExtKey.ScriptPubKey.GetDestinationAddress(_network); // mkvRuHAv3qek4mP3ipjqFnaFXj4d2kKit3 | |
| private static readonly QBitNinjaClient _qBitClient = new QBitNinjaClient(_network); | |
| static void Main(string[] args) | |
| { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| private static void BuildProofOfTumbleBitConceptTransactions() | |
| { | |
| uint256 txIdToSpend = _qBitClient.GetBalance(_fundingAddress, unspentOnly: false).Result.Operations.First().TransactionId; | |
| Transaction txToSpend = _qBitClient.GetTransaction(txIdToSpend).Result.Transaction; | |
| var tOfferExtKey = _seed.ExtKey.Derive(1, false); | |
| var tOfferDestination = tOfferExtKey.ScriptPubKey.GetDestinationAddress(_network); // mk1soVb7Se1t99v7APGqiXofr2pKVS7hN5 | |
| var tFulfillExtKey = _seed.ExtKey.Derive(2, false); | |
| var tFulfillDestination = tFulfillExtKey.ScriptPubKey.GetDestinationAddress(_network); // n4mey3skuXQna149vUaanuAPyEDiunsryT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| private static void BuildProofOfTumbleBitConceptTransactions() | |
| { | |
| uint256 txIdToSpend = _qBitClient.GetBalance(_fundingAddress, unspentOnly: false).Result.Operations.First().TransactionId; | |
| Transaction txToSpend = _qBitClient.GetTransaction(txIdToSpend).Result.Transaction; | |
| var tOfferExtKey = _seed.ExtKey.Derive(1, false); | |
| var tOfferDestination = tOfferExtKey.ScriptPubKey.GetDestinationAddress(_network); // mk1soVb7Se1t99v7APGqiXofr2pKVS7hN5 | |
| var tFulfillExtKey = _seed.ExtKey.Derive(2, false); | |
| var tFulfillDestination = tFulfillExtKey.ScriptPubKey.GetDestinationAddress(_network); // n4mey3skuXQna149vUaanuAPyEDiunsryT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using NBitcoin; | |
| using NBitcoin.Policy; | |
| using QBitNinja.Client; | |
| using System; | |
| using System.Linq; | |
| using System.Threading; | |
| using System.Threading.Tasks; | |
| using static System.Console; | |
| namespace HTumbleBitProofOfConcept |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ExtKey _fundingExtKey = _seed.ExtKey.Derive(0, hardened: false); | |
| BitcoinAddress fundingAddress = _fundingExtKey.ScriptPubKey.GetDestinationAddress(_network); // mkvRuHAv3qek4mP3ipjqFnaFXj4d2kKit3 | |
| WriteLine($"{nameof(fundingAddress)}: {fundingAddress}"); | |
| uint256 txIdToSpend = (await _qBitClient.GetBalance(fundingAddress, unspentOnly: false).ConfigureAwait(false)).Operations.First().TransactionId; | |
| ctsToken.ThrowIfCancellationRequested(); | |
| Transaction txToSpend = (await _qBitClient.GetTransaction(txIdToSpend).ConfigureAwait(false)).Transaction; | |
| ctsToken.ThrowIfCancellationRequested(); | |
| // BUILD OFFER TRANSACTION |
| Adversary | Core | Core + Tor | Wasabi 1.1.3 | Wasabi 1.1.4 | Wasabi 1.1.4 + Full Node |
|---|---|---|---|---|---|
| One Peer Is Malicious Spy | private | private | private | private | private |
| All Peers Are Malicious Spies | vulnerable[1] | private | vulnerable[2] | private | private |
| Tor Breaker | private | private | private | private | private |
| All Peers Are Malicious Spies && Tor Breaker | vulnerable[1] | vulnerable[1] | vulnerable[2] | vulnerable[1,2] | vulnerable[1] |
| Malicious Wasabi Backend | private | private | private | private | private |
| Malicious Wasabi Backend && Tor Breaker | private | private | vulnerable[1] | private | private |
| Supernode | vulnerable[1] | private | private | private | private |
| Spying ISP | vulnerable[1] | private | vulnerable[2] | private | private |
UPDATE: FIXED! https://github.com/zkSNACKs/WalletWasabi/pull/1341/commits/2e732b1f54b9107649c09a509c3088b90c2b2494#diff-bc431b4bc31acb6d49cd62c6288310e7R280
cHNidP8BAFIBAAAAAc7zcL29QILOKmfw2HxoIPW+ptT73rk9dlDTKAKnDZTvAQAAAAD/////AXjzAgAAAAAAFgAUyI/BVg66hOg6mhA75T7jNY4Q9LcAAAAAAAEBH0ANAwAAAAAAFgAUqzA+o/d8FXwN9KUcOx8sOnTCrlEiBgIn178QYmbFrS8Bge/N+qOdlTmwHmXldAfk1XwRUxUutBh6iOeiVAAAgAAAAIAAAACAAAAAAAEAAAAAIgICCkeqqmQACENtyZREwn1I4O7gA6eAVfNwPgEeYM/EaisYeojnolQAAIAAAACAAAAAgAAAAAADAAAAAA==
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Infographics: https://i.imgur.com/zGygu4U.jpg | |
| Luke Dashjr, a prolific Bitcoin Core developer, has been sent to Twitter jail: he received a permanent suspension for proclaiming he'll respond with appropriate force if anyone tries to force vaccination on him or his family. To avoid confusion it's important to clarify he does not have an anti-vaccine stance, rather he took a wait for more data approach instead. | |
| Bitcoin is the future of money, a technology that is as fundamental to humanity as speech itself. It is paramount for mankind to thrive. Luke spent over a decade working on this technology, therefore taking away his access to public communication channels is great disservice to society itself. | |
| Flexes: | |
| - Core dev | |
| - BIP maintainer |
OlderNewer