special block version or is my data corrupt?

I’ve recently written my own blockchain parser. It works well (yay!) up to a certain block and then fails because the data read is pure nonsense.

I’ve tracked down the error away from my code to the data on the disc and I get the same result if I parse the file only using a sheet of paper and a hex editor. Even after deleting the file and executing bitcoind -reindex I still get the same errornous results.

My question is if anybody can reproduce this or if my data is still corrupted somehow. Maybe I just need to delete all files and let bitcoind create them again?

My findings:

  • blk00622.dat causes the trouble
  • Problem still exists after deleting blk00622.dat and running bitcoind -reindex (according to diff the new file equals the old one)
  • The last ok block is block #428949 (at file address 0x7B748DF). I have no problem parsing it with my hex editor, I get the same results as shown here: https://blockchain.info/de/block-index/1144703
  • The errornous block begins at file address 0x7C68AB3
  • It starts with F9 BE B4 D9 41 0F 0F 00 F9 BE B4 D9*

F9 BE B4 D9 is the block’s magic number and 41 0F 0F 00 is the block size. The strange thing here is that the following version number again equals the magic number (which makes me thing that maybe my data is still corrupt). The remaining data of the block makes no sense, for example the time field points to 03/04/1948 ..


*see https://en.bitcoin.it/wiki/Block

Recent Questions – Bitcoin Stack Exchange

What is special about a private blockchain based on proof of stake?

I recently came across a paper published in 1988 called “A quorum-based commit and termination protocol for distributed database systems”. I could not read it because it is not free, but to me this sounds very similar to what a private blockchain using proof of stake for consensus achieves. I have a hard time believing that’s all there is to it considering all the hype going on. With that in mind, I have the following questions:

  1. Is chaining blocks together the only innovation here? Why not just have trusted validators sign transactions in permissioned distributed databases? We have had these technologies for decades. What is the difference?
  2. Couldn’t a 51% attack where someone has private keys for a certain transaction rebuild the chain from that point on for basically free? How does this achieve any realistic level of immutability?
  3. Why would financial institutions want to 1. Pay to store competitors data 2. Allow competitors to see their data?

I want to understand what everyone is finding so new and exciting about private blockchains.

Recent Questions – Bitcoin Stack Exchange