Bitcoin Forum
March 29, 2026, 03:09:10 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin Message Tool - alat za potpisivanje i verifikaciju putem komandne linije  (Read 66 times)
katanic97 (OP)
Hero Member
*****
Online Online

Activity: 658
Merit: 1023



View Profile WWW
March 20, 2026, 03:35:53 PM
Last edit: March 21, 2026, 06:57:18 AM by katanic97
Merited by Daniel91 (2), dkbit98 (2), ovcijisir (2), Porfirii (1)
 #1

Autor: witcher_sense
Original tema: Bitcoin Message Tool - command-line signer & verifier

Uvod

Lagani, potpuno open-source CLI alat za potpisivanje i verifikaciju Bitcoin poruka. Bitcoin poruka je najjednostavniji i najprirodniji nacin da dokazes vlasnistvo nad odredjenom adresom, bez otkrivanja bilo kakvih poverljivih informacija.

Ovaj alat se u velikoj meri oslanja na specifikaciju opisanu u BIP137:

"...Iako ne postoji zvanican BIP koji definise kako se digitalno potpisuju poruke pomocu Bitcoin privatnih kljuceva za P2PKH adrese, to je prilicno dobro poznat proces. Medjutim, sa uvodjenjem Segwit-a (u obliku P2SH i bech32 adresa), postalo je nejasno kako razlikovati P2PKH, P2SH i bech32 adrese. Ovaj BIP predlaže standardni format potpisa koji omogucava klijentima da razlikuju ove tipove adresa."


Imaj na umu:

"Posto ovaj format ukljucuje i P2PKH kljuceve, kompatibilan je unazad. Ipak, neka softverska resenja proveravaju opsege headera i mogu prijaviti novije segwit tipove headera kao gresku."

Vise informacija: https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki

Wallet-i koji u potpunosti podrzavaju BIP137 potpise:

1)Trezor
2)Sparrow Wallet
3)Coldcard?
4)...

Ovaj alat je u sustini pokusaj da se dodatno prosiri upotreba ovog standarda.

Instalacija

1) Za instalaciju preko pip-a, pokreni:

Code:
pip install bitcoin-message-tool

Mozes napraviti virtualno okruzenje za ovu aplikaciju i pokretati je odatle, na primer koristeci Poetry.

Napravi novi folder (bmt je skracenica od Bitcoin Message Tool, ali mozes nazvati kako god zelis):

Code:
poetry new bmt

Code:
cd ./bmt

Napravi novo virtualno okruzenje

Code:
poetry install
Code:
poetry shell

Skini ovu aplikaciju iz PyPi preko ove komande:
Code:
poetry add bitcoin-message-tool

Da ga pokrenes iz terminala, koristi ovu komandu:

Code:
python3 -m bitcoin_message_tool

Kada pokrenes aplikaciju bez argumenata izace ti help poruka

2) Alternativno, mozes direktno da skines izvorni kod sa GitHub-a koristeci ovu komandu:

Code:
git clone https://github.com/shadowy-pycoder/bitcoin_message_tool.git

Ili samo napravi fork repoa i posle kloniraj tu verziju

Instaliraj potrebne zahteve koristeci ovu komandu:

Code:
pip install -r /path/to/requirements.txt

Da pokrenes aplikaciju iz repoa koji si klonirao ili napravio fork, jednostavno koristi ovo:

Code:
python3 /path/to/bmt.py -h

Kako koristiti Bitcoin Message Tool

Sledeci primer treba da ti pokaze jasno kako da potpises i proveris poruke koristeci ovaj CLI alat:

Osnovna upotreba:

Code:
python -m bitcoin_message_tool -h

or

python bmt.py -h
usage: python3 bmt.py [-h] {sign,verify} ...

Bitcoin message signing/verification tool

positional arguments:
{sign,verify}

options:
-h, --help     show this help message and exit


Potpisivanje poruke

Code:
python bmt.py sign -h
usage: python3 bmt.py sign [-h] -p -a {p2pkh,p2wpkh-p2sh,p2wpkh} -m [MESSAGE ...] [-d] [-v]

options:
-h, --help            show this help message and exit

Sign messsage:
-p, --privkey         private key in wallet import format (WIF)
-a {p2pkh,p2wpkh-p2sh,p2wpkh}, --addr_type {p2pkh,p2wpkh-p2sh,p2wpkh}
                        type of bitcoin address
-m [MESSAGE ...], --message [MESSAGE ...]
                        Message to sign
-d, --deterministic   sign deterministtically (RFC6979)
-v, --verbose         print prettified message

Primer: Nasumicni potpis za "kompresovani" privatni kljuc i P2PKH adresu

Code:
$python bmt.py sign -p -a p2pkh -m ECDSA is the most fun I have ever experienced

PrivateKey(WIF): <insert private key here>
Imaj na umu da se privatni kljuc nece prikazati u terminalu..


Rezultat:

Code:
Bitcoin address: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
Message: ECDSA is the most fun I have ever experienced
Signature: IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=

Isti rezultat, ali sa ukljucenim -v/--verbose flagom

Code:
-----BEGIN BITCOIN SIGNED MESSAGE-----
ECDSA is the most fun I have ever experienced
-----BEGIN BITCOIN SIGNATURE-----
175A5YsPUdM71mnNCC3i8faxxYJgBonjWL

IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=
-----END BITCOIN SIGNATURE-----

Provera poruke:

Code:
python bmt.py verify -h
usage: python3 bmt.py verify [-h] -a ADDRESS -m [MESSAGE ...] -s SIGNATURE [-v] [-r]

options:
-h, --help            show this help message and exit

Verify messsage:
-a ADDRESS, --address ADDRESS
                        specify bitcoin address
-m [MESSAGE ...], --message [MESSAGE ...]
                        Message to verify
-s SIGNATURE, --signature SIGNATURE
                        bitcoin signature in base64 format
-v, --verbose         print full message
-r, --recpub          recover public key

Primer: Provera poruke u verbose rezimu

Code:
python bmt.py verify -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \
> -m ECDSA is the most fun I have ever experienced \
> -s HyiLDcQQ1p2bKmyqM0e5oIBQtKSZds4kJQ+VbZWpr0kYA6Qkam2MlUeTr+lm1teUGHuLapfa43JjyrRqdSA0pxs= \
> -v

Rezultat:

Code:
True
Message verified to be from 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL

    Vise primera i izvornih kodova se mogu naci ovde:
    https://github.com/shadowy-pycoder/bitcoin_message_tool

    Testovi sa Sparrow Wallet

    Hajde da proverimo SegWit potpis napravljen sa pravim novcanikom.



    Rezultat:



    Hajde da proverimo SegWit signature kreiran ovim tool-om:



    Rezulat:






    ███████████████████████████
    ███████▄████████████▄██████
    ████████▄████████▄████████
    ███▀█████▀▄███▄▀█████▀███
    █████▀█▀▄██▀▀▀██▄▀█▀█████
    ███████▄███████████▄███████
    ███████████████████████████
    ███████▀███████████▀███████
    ████▄██▄▀██▄▄▄██▀▄██▄████
    ████▄████▄▀███▀▄████▄████
    ██▄███▀▀█▀██████▀█▀███▄███
    ██▀█▀████████████████▀█▀███
    ███████████████████████████
    .
    .Duelbits PREDICT..
    █████████████████████████
    █████████████████████████
    ███████████▀▀░░░░▀▀██████
    ██████████░░▄████▄░░████
    █████████░░████████░░████
    █████████░░████████░░████
    █████████▄▀██████▀▄████
    ████████▀▀░░░▀▀▀▀░░▄█████
    ██████▀░░░░██▄▄▄▄████████
    ████▀░░░░▄███████████████
    █████▄▄█████████████████
    █████████████████████████
    █████████████████████████
    .
    .WHERE EVERYTHING IS A MARKET..
    █████
    ██
    ██







    ██
    ██
    ██████
    Will Bitcoin hit $200,000
    before January 1st 2027?

        No @1.15         Yes @6.00    
    █████
    ██
    ██







    ██
    ██
    ██████

      CHECK MORE > 
    slackovic
    Legendary
    *
    Offline Offline

    Activity: 3122
    Merit: 1508


    Top-tier crypto casino and sportsbook


    View Profile
    March 21, 2026, 07:59:18 AM
    Merited by katanic97 (1)
     #2

    Ovaj post me podsjetio na topic gdje članovi foruma mogu osigurati svoj forumski račun na način da potpišu Bitcoin poruku. Radi se o tome da napišete ovakav tekst:

    Code:
    Message: I am <forum_username> and I'm confirming my Bitcoin address and forum account.
    Address: <Bitcoin adresa>
    Signature: <hash potpisa>

    Ja sam to napravio još 2018. godine. Na taj način možete prilično lako vratiti račun na forumu u slučaju da zbog zbog hacka ostanete bez njega. To je dosta važno najviše jer je većina nas ovdje Legendary (ili blizu), a takav račun je šteta izgubiti. Ovako potpišete poruku i ako izgubite pristup računu, a u topicu ste potpisali poruku, samo s istom adresom ponovo potpišete poruku kao jamstvo da ste stvarno vlasnik računa. To je jednostavan, a nepobitan dokaz da ste stvarni vlasnik računa i mislim da će vam račun biti vraćen.

    Znam da je dosta nas starosjedioca ovdje to napravilo, ali ima novih članova za koje vjerujem da ne znaju za ovu mogućnost. A šteta bi bilo ostati bez Hero ili Legendary računa kad ga je tako jednostavno zaštititi.

    ██████▄██▄███████████▄█▄
    █████▄█████▄████▄▄▄█
    ███████████████████
    ████▐███████████████████
    ███████████▀▀▄▄▄▄███████
    ██▄███████▄▀███▀█▀▀█▄▄▄█
    ▀██████████▄█████▄▄█████▀██
    ██████████▄████▀██▄▀▀▀█████▄
    █████████████▐█▄▀▄███▀██▄
    ███████▄▄▄███▌▌█▄▀▀███████▄
    ▀▀▀███████████▌██▀▀▀▀▀█▄▄▄████▀
    ███████▀▀██████▄▄██▄▄▄▄███▀▀
    ████████████▀▀▀██████████
     BETFURY ....█████████████
    ███████████████
    ███████████████
    ██▀▀▀▀█▀▀▄░▄███
    █▄░░░░░██▌▐████
    █████▌▐██▌▐████
    ███▀▀░▀█▀░░▀███
    ██░▄▀░█░▄▀░░░██
    ██░░░░█░░░░░░██
    ███▄░░▄█▄░░▄███
    ███████████████
    ███████████████
    ░░█████████████
    █████████████
    ███████████████
    ███████████████
    ██▀▄▄▄▄▄▄▄▄████
    ██░█▀░░░░░░░▀██
    ██░█░▀░▄░▄░░░██
    ██░█░░█████░░██
    ██░█░░▀███▀░░██
    ██░█░░░░▀░░▄░██
    ████▄░░░░░░░▄██
    ███████████████
    ███████████████
    ░░█████████████
    Rikafip
    Legendary
    *
    Offline Offline

    Activity: 2436
    Merit: 7816



    View Profile
    March 23, 2026, 08:28:41 AM
     #3

    Ovaj post me podsjetio na topic gdje članovi foruma mogu osigurati svoj forumski račun na način da potpišu Bitcoin poruku.
    Ja nikad nisam to napravio u tom threadu cisto zbog toga sto istu stvar (potvrdjivanje vlasnistva racuna) mogu napraviti i sa jednom od adresa koje sam koristio za signature kampanje ili neki od contesta.

    slackovic
    Legendary
    *
    Offline Offline

    Activity: 3122
    Merit: 1508


    Top-tier crypto casino and sportsbook


    View Profile
    March 23, 2026, 08:44:19 AM
     #4

    Ja nikad nisam to napravio u tom threadu cisto zbog toga sto istu stvar (potvrdjivanje vlasnistva racuna) mogu napraviti i sa jednom od adresa koje sam koristio za signature kampanje ili neki od contesta.

    Dobro, imaš pravo. Ali ja sam si odredio jedan BTC wallet samo za potpisivanje poruke i ne koristim ga za ništa drugo. Nikad ne znaš kad ti neki wallet kojeg koristiš može biti kompromitiran pa mi se ovako čini bolje. A i u vrijeme kad sam ovo radio (2018.) veća je lova bila u altcoin kampanjama. Sjećam se da u to vrijeme nisam ni razmišljao o BTC signature kampanjama.

    ██████▄██▄███████████▄█▄
    █████▄█████▄████▄▄▄█
    ███████████████████
    ████▐███████████████████
    ███████████▀▀▄▄▄▄███████
    ██▄███████▄▀███▀█▀▀█▄▄▄█
    ▀██████████▄█████▄▄█████▀██
    ██████████▄████▀██▄▀▀▀█████▄
    █████████████▐█▄▀▄███▀██▄
    ███████▄▄▄███▌▌█▄▀▀███████▄
    ▀▀▀███████████▌██▀▀▀▀▀█▄▄▄████▀
    ███████▀▀██████▄▄██▄▄▄▄███▀▀
    ████████████▀▀▀██████████
     BETFURY ....█████████████
    ███████████████
    ███████████████
    ██▀▀▀▀█▀▀▄░▄███
    █▄░░░░░██▌▐████
    █████▌▐██▌▐████
    ███▀▀░▀█▀░░▀███
    ██░▄▀░█░▄▀░░░██
    ██░░░░█░░░░░░██
    ███▄░░▄█▄░░▄███
    ███████████████
    ███████████████
    ░░█████████████
    █████████████
    ███████████████
    ███████████████
    ██▀▄▄▄▄▄▄▄▄████
    ██░█▀░░░░░░░▀██
    ██░█░▀░▄░▄░░░██
    ██░█░░█████░░██
    ██░█░░▀███▀░░██
    ██░█░░░░▀░░▄░██
    ████▄░░░░░░░▄██
    ███████████████
    ███████████████
    ░░█████████████
    Pages: [1]
      Print  
     
    Jump to:  

    Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!