The fee/change address of cryptograffiti.info.
The first transaction of each Bitcoin block is called the "coinbase transaction", and it is magic as it does not need to point to a previous output script and have a valid input script as it serves as a Block reward for miners.
Solving the Schrodinger equation with the time-independent Schrödinger equation by
Ciro Santilli 37 Updated 2025-07-16
Before reading any further, you must understand heat equation solution with Fourier series, which uses separation of variables.
Once that example is clear, we see that the exact same separation of variables can be done to the Schrödinger equation. If we name the constant of the separation of variables for energy, we get:
- a time-only part that does not depend on space and does not depend on the Hamiltonian at all. The solution for this part is therefore always the same exponentials for any problem, and this part is therefore "boring":
- a space-only part that does not depend on time, bud does depend on the Hamiltonian:Since this is the only non-trivial part, unlike the time part which is trivial, this spacial part is just called "the time-independent Schrodinger equation".Note that the here is not the same as the in the time-dependent Schrodinger equation of course, as that psi is the result of the multiplication of the time and space parts. This is a bit of imprecise terminology, but hey, physics.
Because the time part of the equation is always the same and always trivial to solve, all we have to do to actually solve the Schrodinger equation is to solve the time independent one, and then we can construct the full solution trivially.
Once we've solved the time-independent part for each possible , we can construct a solution exactly as we did in heat equation solution with Fourier series: we make a weighted sum over all possible to match the initial condition, which is analogous to the Fourier series in the case of the heat equation to reach a final full solution:
- if there are only discretely many possible values of , each possible energy . we proceed and this is a solution by selecting such that at time we match the initial condition:A finite spectrum shows up in many incredibly important cases:Equation 3.Solution of the Schrodinger equation in terms of the time-independent and time dependent parts.
- if there are infinitely many values of E, we do something analogous but with an integral instead of a sum. This is called the continuous spectrum. One notable
The fact that this approximation of the initial condition is always possible from is mathematically proven by some version of the spectral theorem based on the fact that The Schrodinger equation Hamiltonian has to be Hermitian and therefore behaves nicely.
It is interesting to note that solving the time-independent Schrodinger equation can also be seen exactly as an eigenvalue equation where:The only difference from usual matrix eigenvectors is that we are now dealing with an infinite dimensional vector space.
- the Hamiltonian is a linear operator
- the value of the energy
E
is an eigenvalue
Furthermore:
- we immediately see from the equation that the time-independent solutions are states of deterministic energy because the energy is an eigenvalue of the Hamiltonian operator
- by looking at Equation 3. "Solution of the Schrodinger equation in terms of the time-independent and time dependent parts", it is obvious that if we take an energy measurement, the probability of each result never changes with time, because it is only multiplied by a constant
This section is about partial implementations that are only able to read the blocks, ususally coming from Bitcoin Core, to interpret the data:
Officially supported installation method on Ubuntu 23.10.
TODO who owns it? Are they reliable?
- transaction hex data: blockchain.info/tx/930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72?format=hex
- disassembled transaction as JSON: blockchain.info/tx/930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72?format=json
- block by height:
This helper dumps a transaction JSON to a binary:
bitcoin-tx-out-scripts() (
# Dump data contained in out scripts. Remove first 3 last 2 bytes of
# standard transaction boilerplate.
h="$1"
echo curl "https://blockchain.info/tx/${h}?format=json" |
jq '.out[].script' tmp.json |
sed 's/"76a914//;s/88ac"//' |
xxd -r -p > "${h}.bin"
)
Determines energy. This comes out directly from the resolution of the Schrödinger equation solution for the hydrogen atom where we have to set some arbitrary values of energy by separation of variables just like we have to set some arbitrary numbers when solving partial differential equations with the Fourier series. We then just happen to see that only certain integer values are possible to satisfy the equations.
Previously called "bitcoin-strings-with-txids" since text was the initial focus, but Ciro Santilli decided to go for the more general name once images became more and more important to the project.
Set of scripts b Ciro Santilli, primarily created while researching Cool data embedded in the Bitcoin blockchain.
By "Satoshi uploader" we mean the data upload script present in tx 4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17 of the Bitcoin blockchain.
The uploader, and its accompanying downloader, are Python programs stored in the blockchain itself. They are made to upload and download arbitrary data into the blockchain via RPC.
These scripts were notably used for: illegal content of block 229k. The script did not maintain its popularity much after this initial surge up loads, likely all done by the same user: there are very very few uploads done after block 229k with the Satoshi uploader.
Our choice of name as "Satoshi uploader" is copied from A Quantitative Analysis of the Impact of Arbitrary Blockchain Content on Bitcoin by Matzutt et al. (2018) because the scripts are Copyrighted Satoshi Nakamoto on the header comment, although as mentioned at Hidden surprises in the Bitcoin blockchain by Ken Shirriff (2014) this feels very unlikely to be true.
A more convenient version of those scripts that can download directly from blockchain.info without the need for a full local node can be found at: github.com/cirosantilli/bitcoin-inscription-indexer/blob/master/download_tx_consts.py by using the
--satoshi
option. E.g. with it you can download the uploader script with:./download_tx_consts.py --satoshi 4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17
mv 4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17.bin uploader.py
The scripts can be found in the blockchain at:
- uploader: tx 4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17 block 229991 reproduced at: gist.github.com/cirosantilli/ade4dde7c2f2f5020d792872681763e8The uploader creates a standard Pay-to-PubkeyHash transaction with a single output and data as a fake pubkey hash, and sends change to an address specified on the command line:
./bitcoinInsertionTool.py <data> <change-addr>
- downloader: tx 6c53cd987119ef797d5adccd76241247988a0a5ef783572a9972e7371c5fb0cc block 229991 reproduced at gist.github.com/cirosantilli/e90bd2e6c3fab25a20898e61e3ab3e90The downloader just strips all operands, and keeps all data, notably where public key hashes would be normally put.
The uploader script uses its own cumbersome data encoding format, which we call the "Satoshi uploader format". The is as follows:This means that if we want to index certain file types encoded in this format, a good heuristic is to skip the first 9 bytes (4 size, 4 CRC, 1
- ignore all script operands and constants less than 20 bytes (40 hex characters). And there are a lot of small operands, e.g. the uploader itself uses format www.blockchain.com/btc/tx/4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17 has a
OP_1
, data,OP_3
,OP_CHECKMULTISIG
pattern on every output script, so theOP_1
andOP_3
are ignored. I.e., it is P2FMS. - ignore the last output, which contains a real change transaction instead of arbitrary data. TODO why not just do what with the length instead?
- the first 4 bytes are the payload length, the next 4 bytes a CRC-32 signature. The payload length is in particular useful because of possible granularity of transactions. But it is hard to understand why a CRC-32 is needed in the middle of the largest hash tree ever created by human kind!!! It does however have the adavantage that it allows us to more uniquely identify which transactions use the format or not.
OP_1
) and look for file signatures.Let's try out the downloader to download itself. First you have to be running a Bitcoin Core server locally. Then, supposing we run:worked! The source of the downloader script is visible! Note that we had to wait for the sync of the entire blockchain to be fully finished for some reason for that to work.
.bitcon/bitoin.conf
containing:rpcuser=asdf
rpcpassword=qwer
server=1
txindex=1
git clone git://github.com/jgarzik/python-bitcoinrpc.git
git -C python-bitcoinrpc checkout cdf43b41f982b4f811cd4ebfbc787ab2abf5c94a
wget https://gist.githubusercontent.com/shirriff/64f48fa09a61b56ffcf9/raw/ad1d2e041edc0fb7ef23402e64eeb92c045b5ef7/bitcoin-file-downloader.py
pip install python-bitcoinrpc==1.0
BTCRPCURL=http://asdf:qwer@127.0.0.1:8332 \
PYTHONPATH="$(pwd)/python-bitcoinrpc:$PYTHONPATH" \
python3 bitcoin-file-downloader.py \
6c53cd987119ef797d5adccd76241247988a0a5ef783572a9972e7371c5fb0cc
Other known uploads in Satoshi format except from the first few:
- tx 89248ecadd51ada613cf8bdf46c174c57842e51de4f99f4bbd8b8b34d3cb7792 block 344068 see ASCII art
- tx 1ff17021495e4afb27f2f55cc1ef487c48e33bd5a472a4a68c56a84fc38871ec contains the ASCII text
e5a6f30ff7d43f96f61af05efaf96f869aa072b5a071f32a24b03702d1dcd2a6
. This number however is not a known transaction ID in the blockchain, and has no Google hits.
Fixed total angular momentum.
The direction however is not specified by this number.
To determine the quantum angular momentum, we need the magnetic quantum number, which then selects which orbital exactly we are talking about.
tx 243dea31863e94dc2f293489db02452e9bde279df1ab7feb6e456a4af672156a contains another upload script. The help reads:
Publish text in the blockchain, suitably padded for easy recovery with strings
Pinned article: Introduction to the OurBigBook Project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 2. You can publish local OurBigBook lightweight markup files to either OurBigBook.com or as a static website.Figure 3. Visual Studio Code extension installation.Figure 5. . You can also edit articles on the Web editor without installing anything locally. Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact