Very Secure

Podcast Episode 02 - The USDdb and Bitcoin's Speculative Attack

February 14th, 2022

Episode 02 is below. I may burst out a few more episodes in the near future, and then eventually settle with a 1-per-week or 1-per-month podcast.

In this episode I discuss:

-Examples of USG hallucination.
-The relation between the USG mind virus and the dollar aka the USDdb
-The higher cause you contribute to when you buy BTC.
-The coming and desire of the downfall of the exchanges, aka the USDdb<->Bitcoin interfaces

P.S. I apologize in advance for my fillers "um, uh, like, you know's" sprinkled throughout the podcast, I'll work on reducing them in future episodes.

Trbexplorer Genesis Release

February 13th, 2022

UPDATE: Known Bugs

Please read the log and apply the fixes mentioned if you would like to start scanning before I publish the vpatch. Thanks to billymg for catching these.


The genesis of trbexplorer and the corresponding sig can now be found on my codeshelf:

trbexplorer codeshelf page

While the program is a modification of the online component to jfw's Gales Bitcoin Wallet, the scope of the project has changed enough that I thought it proper to regenesis instead of apply a vpatch on top of his work.

In order to run trbexplorer, I recommend you have a 2 TB SSD. At the time of writing, the amount of disk space used on my machine hosting is 948GB.

Indexing the trb blockchain took my machine hosted on asciilifeform's rack roughly 4 months. If you want to run trbexplorer and you don't even have a trb node sync'd, you're looking at roughly 6-10 months of total sync time depending on your hardware.1 So start syncing today.

UPDATE: billymg reported that his trbexplorer took only 12 days to index his fully sync'd node on an FX-8350 AMD processor w/ an SSD.

  1. My machine has 4GB of RAM, a 1 GHz Processor - AMD GX-412TC SOC, and 2TB of storage on an SSD []

Podcast Episode 01 - Ending The Hallucination of the USG

February 12th, 2022

I've decided to start podcasting. Here is the first shot, please leave any suggestions in the comment box below. Harsh criticism is welcome.

The audio file can be downloaded at .


- How the United States Government is nothing more than a mind virus.


Mark Passio's Website:

The Possible Outcomes of Segwit

January 27th, 2022

Did you ever realize that the word upgrade has a counterpart, downgrade, but the word update has no counterpart downdate? Because progress only goes forward ...right?

The Bitcoin network has remained backwards compatible ever since Bitcoin's release on January 3, 2009.1 This is despite numerous attempts to fork the chain. This great feat of Bitcoin is recognized by many, segwit users included. But segwit nodes, while having maintained backwards compatibility, have also introduced new rules into the system. The real bitcoin does not recognize these new rules. What are the consequences of this, and how will any future fork wars play out? I foresee three possible outcomes.

The 1st possible outcome is the status quo is maintained, meaning that all future blocks in the current chain remain compatible with both segwit and trb nodes. Segwit coins and trb coins remain with their expected owners and the two networks coexist in symbiotic fashion.

The 2nd possible outcome is that at some point in the future a segwit-incompatible block is mined where the miner snags a segwit user's coin. At this moment we fork into two chains, trb-chain (with height h+1) and segwit-chain (with height h). Segwit nodes see trb-chain as invalid, and thus remain on segwit-chain. Trb nodes see both chains as valid, but switch to trb-chain owing to its greater height. If the trb-chain grows faster than the segwit-chain, the fork persists. If the segwit-chain manages to catch up and surpass the trb-chain, trb-nodes will reorg and adopt segwit-chain, putting us back in a post-hiccup version of outcome 1.2

The 3rd possible outcome is trb becomes economically irrelevant. Perhaps the segwit users/bitcoin core team manage to pull off a hard fork that wins in the market place, or trb nodes all go offline. Revisionist history wins, and the roots of Bitcoin fade away into the cosmos.

Given the information I have, all three of these scenarios seem equally likely. The first is the status quo, but it is in an unstable state while both trb and segwit nodes are online. The second scenario can happen at any moment, but it requires the active move of a miner, and it may require a coordinated effort of 51% of the hashing power. The third scenario is the ultimate objective of the enemy, and thus may come to fruition despite its negative consequence for everyone using bitcoin.

No matter how things play out, the best decision today is to move your coins out of "3" and "bc1" addresses and into a p2pkh address aka "1" address. Why would you put all your bitcoins at risk? To save a couple of mbtc on transaction fees?

  1. The first block with height 0 is hard coded into trb and is dated Jan 3, 2009. The second block, which is the first block not included in the source code, was mined on January 10, 2009. []
  2. History has shown that miners like to SPV mine. This means they sometimes forego validating transactions in blocks mined by other pools in order to get a slight head start in mining the next block. So if the segwit mining cartel does not validate its blocks, it is possible that a solo miner could throw a wrench into the segwit system by mining just one non-segwit-compliant block. []

Use Bitcoin, Avoid The Shitcoin Casino

January 6th, 2022

Let's list some of the many reasons why one should buy bitcoins instead of shitcoins.

1. Bitcoin is the only coin protected by proof-of-work and thus the only coin that actually offers sovereignty over your money Any shitcoin that attempts to copy Bitcoin's PoW system can be economically sabotaged by the bitcoin miners.1 Bitcoin's energy consumption is world-eating, block 716521 has a sha256 hash of


If the number of 0's at the front of that hexadecimal string doesn't mean anything to you, go on some sha256 calculator and see how long it takes you to guess an input that gives you at least 3 leading 0's.2 Since shitcoins are unprotected by mining3 they always resort to being "protected" (i.e. controlled) by some authority, usually their creator.4

2. Bitcoin is the natural Schelling point. Let's say that all the shitcoiners were well meaning folks and there was no difference between the technical merits of shitcoins and Bitcoin. It would still be advantageous for the world's investors to agree to use one coin so as to facilitate business. Bitcoin would be/is the obvious choice: it came first, it has the economic majority, and it has mathematical evidence that a large amount of energy is being inputted into the system.

3. Minting bitcoin incurs a cost to the miner, whereas creating a shitcoin is ~free. New bitcoins are issued when a miner mines a block. It is expensive to mine a Bitcoin block, as made apparent by the astronomically high hashrate. Thus, it is expensive to mint a bitcoin.5 Meanwhile an infinite number of shitcoins can be created at ~no cost.

4. Bitcoin was created before all others and sucked up the freedom loving anarchist community, whereas shitcoins absorbed late-to-the-party scammers. Before bitcoin existed there were people looking for alternatives to the current financial system and others content with the status quo.6 When Bitcoin was created, a number of anarchists7 found what they were looking for and got into the game. Only later when this community gained wealth did others start to notice wtf was going on. Jealous/unsatisfied with the fact that they could never get as rich as the early bitcoin adopters, a few brazen scammers decided to take the Bitcoin code, make a few changes, and sell their shitcoin as the next Bitcoin.8

5. Bitcoin is liquid and has an OTC market, whereas the others...? You can come to Costa Rica and get a bag of colorful cash for your bitcoins. When you use a shitcoin you are constrained to a poorer community and KYC exchanges.

6. Shitcoins attract suckers with statistics like market cap that make the shitcoins seem more liquid/useful than they are. I can create a shitcoin with 1 trillion units, trade one of those units to a friend for $1, and then voila, the shitcoin has a market cap of $1 trillion. mEthereum tards apparently sacrifice mEthereum (i.e. register some units permanently unspendable) in order to increase the value of other mEthereum units. While this may benefit individual mEthereum holders, this hurts the mEthereum economy. Burning coins means there are fewer units in circulation and thus the network has less ability to fund real world projects.9

7. Smart contracts and other "blockchain inventions" are useless marketing schemes created to pump shitcoins. Smart contracts are only useful in highly contrived and unrealistic nerd fantasies. If you need some money to move based on a certain condition, you can do this with *any* financial system, even the old faithful USD.10

If received_electricity() then
send_btc_to_power_company(PRICE_PER_KILOWATT_HOUR * get_kilowatt_hours_used_this_month())

This is by no means an exhaustive list of the reasons why one should use Bitcoin over shitcoins. One can never create such a list, because no matter how many reasonable arguments one makes against using shitcoins, their creators always find a new way to market their scam.

  1. Some shitcoins market themselves as ASIC-resistant, i.e. resistant to hardware made to specifically mine their coin. This claim by itself should raise alarms to thinking persons. []
  2. This is essentially what the miners do, they fiddle with the input to a sha256 function until the output has a certain number of leading 0's. That same input contains meta data about the bitcoin block as well as the list of transactions included in that block. []
  3. Shitcoin creators often keep up the pretense that their coin is mined, but this is only security theatre - the hashrate of shitcoins is always some epsilon percentage of bitcoin's. []
  4. One scheme used for securing shitcoins is PoS, which stands for piece of shit proof of stake. One of the many issues with this scheme is once a stakeholder has sold his coins his private keys remain valuable to anyone trying to rewind the block at the height where the coins moved. So after selling his coins, he is incentivized to sell it to attackers trying to double spend. If that makes no sense to you, I don't recommend spending time learning about it, another problem with the creators of shitcoins is that each one finds a new way to waste your time studying their new nonsense scheme. []
  5. To be fair, bitcoins were cheap to mine at the start of the chain. There is no cure for this initial premine, and afaik satoshi released his source code and announced his project even before he started mining himself. []
  6. Or at least had their head so far up their ass that they didn't see a problem with inflation. []
  7. I use the term anarchist to denote those who want to live without being ruled, i.e. 'an' - without 'archon' - rulers. []
  8. Of course I can't really say why shitcoiners shitcoin, their intentions are known only to them. Maybe they actually believe that they are improving on bitcoin with their changes. But I doubt it. []
  9. This also means that until the Bitcoin block reward reaches 0, everyday the bitcoin price stays the same the Bitcoin network gains more economic power since new coins are added into circulation. []
  10. I'm sure some mEthereum dude is going to respond to this "well yes but see you need to have the code on the blockchain itself" for god knows what reason. []

Blockexplorer Web Interface And The Updated TODO List

August 1st, 2021

A prototype of the web interface to my blockexplorer is now available at 1 Feel free to try it out, but do not build anything on top of it, for the api will be swept away from under your feet. Here are the next items on my TODO list:

1. Clean up the code. The core command line tool is nothing short of a mess. I need to proofread, lint, and potentially restructure the code so it starts to resemble something I would sign with my key.

2. Fix address/scriptPubkey confusion. As jfw pointed out in my last article, I was confused about the distinction between bitcoin addresses and the scriptPubkey of an output. This confusion is apparent in my db schema, which has the column name 'address' for where I store what is actually the scriptPubkey. Given that it took some 4 months to index the database, I'm going to temporarily use a duct tape solution by adding a comment that clarifies the misnomer until I find out how to rename the column.

3. Create a better system for pagination. When querying for data about an address through the commands view-address or utxos, I display a limited number of transactions. There is an optional parameter that let's you specify this limit. However the explorer user should also be able to pick at which position he wants to start the limited query - i.e. show results 0..500, 501..1000, etc.

4. Create a strategy for backing up the rather large database (~1/2 TB atm).

5. Create an intelligent argument parser If users provide one argument (an address) they should immediately get the response to view-address with the address as the parameter. Likewise if they provide just the hash of a block, the program should know to return the result of view-block of the block with the given hash.2 This needs to be done at the level of the python script for the web server.

6. Create a web interface that has links to commands. I.e. I should inject anchor links to the responses so you are able to click an address to see the result of view-address for that address. Same for hashes of transactions, block numbers, etc. This means I will also need a separate endpoint to obtain raw output.

7. Formalize response to queries and provide a spec and example python client that interfaces with the web api.

  1. I had some trouble with my web browser displaying this page for security reasons beyond the usual green lock issue. If you have trouble viewing the page please inform me. []
  2. Actually view-block currently only accepts the block height. []

A short guide for setting up apache with flask on gentoo.

July 29th, 2021

1. Install apache.

emerge apache

2. Install mod_wsgi.

Before emerging mod_wsgi set your python targets to python2_7 by adding the following lines to /etc/portage/make.conf

emerge --ask www-apache/mod_wsgi

3. Setup a group that has permissions for necessary files and directories.

groupadd www-data
usermod -a -G www-data apache
chown youruser:www-data necessaryfilesndirectories
chmod 0774 necessarydirectories1
chmod 0764 necessaryfiles

4. Add a virtual hosts file to /etc/apache2/vhosts.d. You may need to delete some other default hosts file in that directory that is competing for your port/ip address. Example vhosts file (modified from the example one in asciilifeform's logger) below:

Listen 80

WSGIPythonPath /home/youruser/pathtoyourwsgifile

<VirtualHost *:80>


    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined

    WSGIDaemonProcess yourbotuser user=youruser group=apache threads=16

    WSGIProcessGroup %{GLOBAL}

    WSGIScriptAlias / /home/youruser/yourcustompath/youruser.wsgi

    Alias /static/ /home/youruser/yourcustompath/static/

    <Directory /home/youruser/yourcustompath/static>
        Require all granted

    <Directory /home/youruser/yourcustompath/>
    <Files yourwsgifile.wsgi>
        Require all granted


5. Create a wsgi file that looks like


from yourflaskapp import app as application

6. Create a flask app, example

from flask import Flask
from flask import request

PORT = 80
app = Flask(__name__)

def index():
    return "hello world"

if __name__ == '__main__':'', port=PORT)

Bonus Tips:

7. Run apache commands via /etc/init.d/apache2, rather than just the global apache2 command.

8. Set apache's environment variables in /etc/conf.d/apache2.

  1. The execute bit is necessary to be able to search inside of a directory. []

WARNING: Bitcoins stored in segwit addresses, i.e. addresses that start with a "3" or "bc1" are NOT safe. Please move your coins immediately before a miner "steals" them.

July 20th, 2021

whaack: no hope, i guess, of getting a mass movement off of segwit - i.e. convincing all the well meanining bitcoiners without the werewithal to see the dangers of segwit to move their coins to a safe address while the current mining cartel is enforcing the new rule

Let it be known that we tried...

Tell your father, tell your mother,
tell your sister, tell your brother,
tell your uncle, tell your aunt,
tell your nephew, tell your niece,
tell your friend, tell your neighbor,
tell your husband, tell your wife...

If you store your bitcoins in a segwit address, then one day you will wake up to see they have suddenly disappeared from your wallet.

Let's go over how segwit came to be, why it leaves your coins vulnerable to the whim of miners, and what you can do to protect yourself.

Once upon a time, satoshi released the first working version of his bitcoin client. A copy of this version is stored at the real bitcoin foundation's website. If it's not obvious, the name the real bitcoin is tongue-in-cheek, as no one has the authority to own the bitcoin project or claim themselves the lead developer of bitcoin.

However, just like in the English language, where we have no Official Dictionary yet we have a consensus on word definitions, we must keep a consensus on bitcoin rules without Official Developers. And in the case of both language and bitcoin, history matters. With all else equal, when a word has two competing definitions, the definition that came first is the correct one. The same principle applies for the rules of bitcoin.

The first working version of bitcoin -i.e. the real and only bitcoin- contains a rule where outputs that go to an address starting with a "0" byte are treated as anyone-can-spend. The name is self explanatory, if you put coins in an anyone-can-spend address then anyone is allowed to use those coins as an input to their transaction. In a world with greedy miners running the real bitcoin, the miners would likely create transactions that send these coins to themselves and mine them in the next block. However...

At bitcoin block 481,824 miners were convinced to put a restriction on who could spend anyone-can-spend addresses. This extra restriction, a rule unbeknownst to the real bitcoin, prevents miners from mining transactions that use anyone-can-spend addresses as inputs unless the transaction being mined includes an auxiliary "segregated" piece of data that serves as a signature. This new rule -known to the layman as segwit- is backwards compatible, no problem for the real bitcoiners, and it works. ...Until it doesn't.

The problem is that this new rule has drastically reduced the security of the real bitcoin network by giving an insane amount of power to the miners.1 If the miners as a whole, or any miner with enough hashing power, defects from their promise that they made at block 481,824, chaos ensues and another fork war begins. The "defecting" miners (which, in the eyes of the real bitcoin, are not actually defecting, but instead taking what is rightfully theirs) will begin to mine anyone-can-spend transactions without requiring the segwit data. They will likely try to send the 5 million or so coins held in segwit addresses to themselves.

The economic consequence of this is unclear. The miners may choose to dump these coins on the market, crashing the real bitcoin's price, or they may choose to hoard the coins, sending the real bitcoin's price - not to the moon - but to the stars. I have expressed an optimistic view while trinque and others have perhaps the more realistic one.

signpost: this idea that trb has some kind of strategic advantage is complete nonsense.
signpost: as mats says, draining the segwitcoins would extinguish bitcoin, and some other network would take its place.
signpost: this isn't happening in a vacuum, and saint mp of lost causes is not watching over trb.
signpost: it's a piece of shoddy trash we never got finished decrufting.
whaack: signpost: so trb users are beholden to all new rules i.e. softforks that prb imposes?
signpost: no, they can fork off into a network of their own, pretending that trbcoin is a unit of account in their imaginary economy, I suppose
signpost: contrary to the teachings of mp, declaring victory is not all that is required.
whaack: my point in saying that trb has a 'massive technical advantage' is that if segwit coins get drained, trb still has an accounting system, whereas segwit users do not
signpost: so what?
whaack: so for the 98% of the world not involved in bitcoin, but have heard the term, trb users have a product to sell and segwit users do not
whaack: segwit users will say 'bitcoin is broken! it was hacked!' and trb users will say 'nah, just download this client'
whaack: i admit that the infrastructure of a huge number of wallets and exchanges collapsing does not bode well
signpost: that is utter nonsense. "bitcoin failed." is what will happen in that scenario.
signpost: if you want the economic phenomenon called bitcoin to proceed, you'd better hope the segwit piggy is *not* cracked open.
signpost: to give mp a small amount of credit, why do you suppose he chose "the darkening" to refer to this era?
signpost: it is quite likely from where I sit that what comes next is a chinese-style totalitarian "smart contract" system, much like while peripheral nerds can use p2p warez networks just like they did in the old days, the *economic phenomenon* of mp3/rar/etc was crushed.
signpost: and we'll recall the old days of real p2p.
whaack: i admit that the thought that bitcoin depends on the miner's continuing to enforce the softfork of segwit is so daunting that i may just have trouble swallowing that idea

The existence of transactions that attempt to take the coins held in anyone-can-spend addresses is not a theoretical concern, the transactions exist today, waiting to be mined. All it takes for segwit to fall apart is for the miners to return to using OG bitcoin.

whaack: !e push 01000000014a61d44f3c13a1fdeec587c3d6dc22975758e3e88873e330855741304c12e7a20000000000ffffffff0270281200000000001976a9146c560e9d65f3daf56e44d7c4c6b6bb39c4c120b188ac70281200000000001976a9146c560e9d65f3daf56e44d7c4c6b6bb39c4c120b188ac00000000
trbexplorer: txid 8a5385db0d79f61964047eb73801fb5d052f2dda6da4213120982c59434080d4
whaack: alright, bomb planted
thimbronion: whaack: terrorist!

Save yourself from being a victim of Segwit Armageddon, move your coins to a proper p2pkh address. Even if you believe it's best that the segwit softfork stays enforced, keeping your coins in p2pkh addresses is the safer and more economical action. Should there ever be a hardfork war, those storing their bitcoins in proper p2pkh addresses will have coins on both forks, whereas those storing them in segwit addresses will have coins in only 1 of them.

  1. This power wasn't created out of thin air - it was taken from all of the "bitcoin" users who were duped into using segwit. []

Three Waves From Playa Negra, July 17th Between 5:20AM and 8:15AM

July 19th, 2021

...last time at Negra1...


A photographer caught three of my waves on camera two mornings ago. I have 1 picture for the first 2 waves, and a sequence of photos for the 3rd wave. As always, click the picture for higher resolution.

Wave 1


Wave 2


Wave 3


  1. Playa Negra is arguably the best wave in Guanacaste. It is a right that barrels over coral reef. []

A new potential injury, this time knee joint problems

July 17th, 2021

Preventing an injury is easier than fixing an injury, and thus I'm logging my first instance of mild pain in my knee joint.1 I felt the pain after 3 hours of surfing Playa Negra and then spending another hour on a carver.2 I am fairly certain that the pain is coming from having poor technique while I was practicing new moves on the surf skate. I was compressing and torquing to get sharp bottom turns.

I found a random video on youtube of one guy who evidently went through the trouble of constructing a model of the knee so as to better understand how to fix the same problem as I am having now. So I'll leave it here for my future reference.

One piece of advice that I've now received from two athletes regarding injuries in small joints/tendons is to focus on making those smaller muscles very strong. So next on the to-do list is to figure out a series of workouts I can do to improve my knee joint strength as well as my wrist strength.

  1. Maybe I had some pain before, but I never logged it so idk! Do you have a super good memory, or are you also forgetting things because you don't write them down on your blog? Do you have a blog? A journal? []
  2. Carver is a brand of skateboards used for practicing surf technique. []