edicted Blog Banner

edicted

Steemit API Function verify()

What is the most amazing thing about cryptocurrency? For me it's the fact that we created something digital that can't be copied, while at the same time can't be controlled by a higher authority. Blockchain regulates itself.

Who remembers this bullshit propaganda? I saw it so many times back in the day before watching a movie in the movie theater.

Yeah, I would steal all those things, especially if stealing them is defined by loading up schematics and printing them out in some badass futuristic 3D printer. Copying is not stealing. Duh!

As this open source free market barrels into the future it will become obvious to everybody: Intellectual property and patent law has been outdated. They stifle creativity and halt progress. Anything that can be copied will be copied, and crypto can't be copied, giving it massive value in the Internet Age.

copy-paste.png

Ironically enough, the blockchain ledger is something we'd like everyone to copy. The more sources that have a copy of the ledger, the more obvious and secure consensus becomes. How can we get the Steem ledger into the hands of as many people as possible?

"Download Blockchain" Torrent

This is essentially just a continuation of my last post. Anyone can share blocks on the blockchain with a system of torrenting. However, how can we be sure that these blocks haven't been tampered with?

This is why I must insist that a new function be added to the Steemit API:


verify();

Anyone should be able to use the verify() function by querying a full node.
verify() accepts three variables and returns true/false.


Variables:

  1. blockStart
  2. blockEnd
  3. hash

So let's say I downloaded the last million blocks from an unknown source. This is about 35 days worth of blocks. I clump them altogether and run SHA-256 on it to get the hash. I want to make sure that all these blocks are valid, so I query a full node:

verify( 28717666, 29717666, D5496FD75DD8262F0495AB5706FC464659EB7F481E384700E6174B6C44144CAE );

I should be able to query any full node with this request and they should all return 'true'. Now I know that the information I received is valid.

question.png

Why?

Well, I guess I could have just asked the full node to send me all one million blocks, but that's just not sustainable as we continue to scale up. Peer-to-peer torrenting will take a lot of stress off the full-node servers and force Internet Service Providers to bear the brunt of all that data exchanging hands. The difference between uploading a million blocks and verifying a hash is massive.

We've been trudging our way through this bear market for so long it's hard to imagine facing scaling issues again, but those days will be back sooner than you know it. We need to allow anyone on Earth to be able to download whatever blocks they desire and know that those blocks are legit. We need to provide a way to limitlessly copy the blockchain and distribute it.

You know what else can be copied infinitely without limit? Fiat.


Return from Steemit API Function verify() to edicted's Web3 Blog

Steemit API Function verify() was published on and last updated on 23 Jan 2019.