<p>Sample of genesis, growth, and current height
<img src="https://pbs.twimg.com/media/E6tL-i_XEAQzFWd?format=jpg&amp;name=large" alt="blk0_10_2655.dat" /></p>
<p>Sample of the latter part and the end of blk02655.dat. This probably covers parts of the last 10000 blocks.
<img src="https://pbs.twimg.com/media/E6tHeWEWQAAbV_d?format=jpg&amp;name=large" alt="blk02655.dat" /></p>
<p>Process here:
<a href="https://twitter.com/bitcoinanatomy/status/1416891318232551428?s=20" rel="nofollow noreferrer">https://twitter.com/bitcoinanatomy/status/1416891318232551428?s=20</a></p>
<pre><code>$ pip install pixd
$ python -m pixd path/blk00000.dat
</code></pre>
<p><a href="https://pypi.org/project/pixd/" rel="nofollow noreferrer">https://pypi.org/project/pixd/</a></p>
<p>Trying to understand:</p>
<ul>
<li>How many bytes per line and how 1MB looks</li>
<li>Recognizing block headers, transaction data,</li>
<li>Categorizing the patterns found</li>
<li>Confirm order of blocks</li>
<li>Locate special blocks and transactions (first segwit block, first transaction, batch transactions, multisig, coinjoins, LN channel opens)</li>
</ul>
<p>Anyone else curious?</p>
<p>Thanks!</p>
<p>Edit:</p>
<p><img src="https://pbs.twimg.com/media/E6ueo--WYAEfWDB?format=jpg&amp;name=large" alt="miner tracks" /></p>
<p>Hex only. Different patterns left behind by the miners.
Diversity in ways of constructing blocks causes the transaction signatures of the transactions align in and creating geometric and organic patterns.
Each line has a ~32bytes or 64 hex characters. Changing this changes the frequency.</p>
<p><img src="https://pbs.twimg.com/media/E6ui6dRWYBQnEkn?format=jpg&amp;name=4096x4096" alt="detail" />
<img src="https://pbs.twimg.com/media/E6tvp4YWUAcpegB?format=jpg&amp;name=4096x4096" alt="detail" />
Details</p>
<p><img src="https://pbs.twimg.com/media/E6uNzPDXMAQD26d?format=jpg&amp;name=large" alt="analysis" />
<img src="https://pbs.twimg.com/media/E6uN2bdXMBUVWt9?format=jpg&amp;name=large" alt="analysis" />
Zooming out of the hex</p>
<p><img src="https://pbs.twimg.com/media/E6wQZ4hXoAADMej?format=png&amp;name=large" alt="bigger sample" />
Bigger sample</p>

CC BY-SA 4.0
2021-07-20T15:10:49.187Z
That is a very difficult way of looking at this data, especially as it's a well defined binary format that we can just, load with a parser of our choosing. Blocks files are just a bunch of blocks concatenated, and block files are just a bunch of transactions concatenated with a header.
Claris
CC BY-SA 4.0
2021-07-20T20:10:13.587Z
We're not trying to validate the blockchain. The goal is to find and understand new ways of looking at the data.
Pedro
CC BY-SA 4.0
2021-07-20T20:11:04.133Z
Right but it’s a useless representation that has no ability to convey information. I didn’t say anything about validation.
Claris
CC BY-SA 4.0
2021-07-20T21:23:45.820Z
The patterns you're seeing are just related to the length of transactions.
Pieter Wuille
CC BY-SA 4.0
2021-07-20T21:54:45.360Z
My understanding is that these patterns are mostly influenced by the order in which miners build their blocks. They vary in big chunks of the hex, sometimes they all read as noise but if you change the line length, you can get those blocks into focus and see that the configuration also produces a pattern but a very different one.
Pedro
CC BY-SA 4.0
2021-07-20T21:55:51.190Z
Here we see the adjustment of the number of bytes shown per line by changing the size of the terminal window. https://twitter.com/bitcoinanatomy/status/1417353713027518464?s=20
Pedro
<transactions><blockchain><history><chainanalysis>
Help analyzing this color coded hexdump of the Bitcoin blockchain
Pedro
# Help analyzing this color coded hexdump of the Bitcoin blockchain

(Asked by: username_0 on 2021-07-20)

Sample of genesis, growth, and current height
![blk0_10_2655.dat](https://pbs.twimg.com/media/E6tL-i_XEAQzFWd?format=jpg&name=large)

Sample of the latter part and the end of blk02655.dat. This probably covers parts of the last 10000 blocks.
![blk02655.dat](https://pbs.twimg.com/media/E6tHeWEWQAAbV_d?format=jpg&name=large)

Process here:
<https://twitter.com/bitcoinanatomy/status/1416891318232551428?s=20>

```
$ pip install pixd
$ python -m pixd path/blk00000.dat

```

<https://pypi.org/project/pixd/>

Trying to understand:

* How many bytes per line and how 1MB looks
* Recognizing block headers, transaction data,
* Categorizing the patterns found
* Confirm order of blocks
* Locate special blocks and transactions (first segwit block, first transaction, batch transactions, multisig, coinjoins, LN channel opens)

Anyone else curious?

Thanks!

Edit:

![miner tracks](https://pbs.twimg.com/media/E6ueo--WYAEfWDB?format=jpg&name=large)

Hex only. Different patterns left behind by the miners.
Diversity in ways of constructing blocks causes the transaction signatures of the transactions align in and creating geometric and organic patterns.
Each line has a ~32bytes or 64 hex characters. Changing this changes the frequency.

![detail](https://pbs.twimg.com/media/E6ui6dRWYBQnEkn?format=jpg&name=4096x4096)
![detail](https://pbs.twimg.com/media/E6tvp4YWUAcpegB?format=jpg&name=4096x4096)
Details

![analysis](https://pbs.twimg.com/media/E6uNzPDXMAQD26d?format=jpg&name=large)
![analysis](https://pbs.twimg.com/media/E6uN2bdXMBUVWt9?format=jpg&name=large)
Zooming out of the hex

![bigger sample](https://pbs.twimg.com/media/E6wQZ4hXoAADMej?format=png&name=large)
Bigger sample

**Tags:** transactions, blockchain, history, chainanalysis

> **Comments:**
> **username_1**: That is a very difficult way of looking at this data, especially as it's a well defined binary format that we can just, load with a parser of our choosing. Blocks files are just a bunch of blocks concatenated, and block files are just a bunch of transactions concatenated with a header.  
> **username_0**: We're not trying to validate the blockchain. The goal is to find and understand new ways of looking at the data.  
> **username_1**: Right but it’s a useless representation that has no ability to convey information. I didn’t say anything about validation.  
> **username_2**: The patterns you're seeing are just related to the length of transactions.  
> **username_0**: My understanding is that these patterns are mostly influenced by the order in which miners build their blocks. They vary in big chunks of the hex, sometimes they all read as noise but if you change the line length, you can get those blocks into focus and see that the configuration also produces a pattern but a very different one.  
> **username_0**: Here we see the adjustment of the number of bytes shown per line by changing the size of the terminal window. https://twitter.com/bitcoinanatomy/status/1417353713027518464?s=20  

---

## 0 answers

