Author

Topic: Assertion failed when submitting block with Satoshi's address (Read 113 times)

legendary
Activity: 2394
Merit: 5531
Self-proclaimed Genius
Quote
I've followed this exactly but I didn't encountered any error.
Try also importing Satoshi's public key:
Code:
importpubkey "04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f" "satoshi"
I deleted all data files and executed both commands, then I reached the same error again. So maybe it works only if someone imported Satoshi's key.
Okay, now I got the assertion error if I import satoshi's pubkey before executing the command (using a fresh datadir).

However, node didn't crashed and there's no error in the debug.log, and it seems like the command worked at the first attempt regardless of the error.
So I doubt that it could be used to attack other nodes (or rather satoshi's node, bec. it requires his pubkey  Tongue).
hero member
Activity: 667
Merit: 1529
Quote
What version of core do you currently use?
The latest official 22.0 release.
Quote
Is it full sync?
It is regtest, there are no connections, I just put the next block after Genesis by myself.
Quote
Code:
high-hash
In regtest it matches the minimal difficulty, in other networks it has to be mined first.
Quote
I've followed this exactly but I didn't encountered any error.
Try also importing Satoshi's public key:
Code:
importpubkey "04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f" "satoshi"
I deleted all data files and executed both commands, then I reached the same error again. So maybe it works only if someone imported Satoshi's key.
legendary
Activity: 2394
Merit: 5531
Self-proclaimed Genius
1. Open Bitcoin Core regtest.
2. Type in console:
-snip-
I've followed this exactly but I didn't encountered any error. Tested in both v0.21.0 and v22.0 - Windows10 OS.
Maybe it's an isolated case?
legendary
Activity: 3654
Merit: 8909
https://bpip.org
I wonder if it is possible to remotely crash nodes by feeding them with such blocks.

Seems unlikely, given that the assert is happening in wallet code. It doesn't crash v0.21 client:

Code:
***@***~$ bitcoin-cli -datadir=*** -rpcconnect=*** submitblock 0100000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4aed046061ffff7f20000000000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000
high-hash
***@***:~$
legendary
Activity: 3234
Merit: 2943
Block halving is coming.
What version of core do you currently use?

The error seems related to Bitcoin file corruption.

Is it full sync? You can make a backup of bitcoin to another hard drive and uninstall the Bitcoin core then after that put the backup Bitcoin data back to the original location and install bitcoin core again(Make sure to download it again).

Let see if it can remove/fix the error.
hero member
Activity: 667
Merit: 1529
1. Open Bitcoin Core regtest.
2. Type in console:
Code:
submitblock 0100000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4aed046061ffff7f20000000000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000
3. Some error message is displayed:
Code:
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: C:\Program Files\Bitcoin\bitcoin-qt.exe
File: wallet/wallet.cpp
Line: 922

Expression: wtx.m_confirm.hashBlock == confirm.hashBlock

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)
---------------------------
Abort   Retry   Ignore   
---------------------------
I wonder if it is possible to remotely crash nodes by feeding them with such blocks.
Jump to: