New answers tagged


I addition to Claris' answer, if your question is about ECDSA, the hashing step is actually an essential part of the signature scheme and not just a step we choose to do before invoking it. Without it, the signature would not be secure. This is because given a public key, it is possible to compute (signature, message hash) pairs such that the signature is ...


Hashing ensures we get a constant length input for the signature operation.


Bitcoin uses double hashing almost everywhere>SHA256[SH256[X]]called Hash256 which produces a 160 bit out.Linking transaction outputs and inputs.Generating the checsum in a bitcoin address.Hashing the block in a merkle tree.


I figured it out, I simply was missing a step. I wasn't signing my transaction before sending. >>> t.sign('my_private_key') >>> res = srv.sendrawtransaction(t.raw_hex()) >>> res { 'txid': '8ca3d23d55dbded21a3ee8809ba55e2fa97394332020fad55582ab29e9619de4', 'response_dict': '...


c0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e is the k1 nonce. a3c2dce777813dc3f0d7a105a5fd56d5894ba30ffa01ba79667cadba37a9d8df is the private key.


Assuming you're talking about ECDSA signing. For BIP340/Schnorr signatures, see this answer. For valid signatures Let: d: the private key P=d*G: the public key k1: the (first) nonce R1=k1*G: the public first nonce r1=R1.x mod n: the public first nonce as it will be encoded in the signature. k2=2*k1, R2=k2*G=2*R1, r2=R2.x mod n: the same for the second nonce ...


I solved the problem by installing the bitcoin package again. I was getting this error message with my script Traceback (most recent call last): File "./", line 136, in <module> print_the_secrets(digest256_final) File "/home/valentin/python/doubleslow/", line 301, in ...


From this only for example, only for outgoing transaction With this:

Top 50 recent answers are included