Blockchain, with Santa Claus, in shameless MS Paint
spiceprogram.org
spiceprogram.org
Firstly, recording the account of sahti is the only function of the ledger, which supposedly is a subset of a record of everyone's deeds' including the elves. Secondly then, fee analysis has shown that blockchains are a poor store of data and should not be used as a database since other mechanisms are far more efficient and cheaper.
>"That is not dead which can eternal lie. And with strange aeons even death may die"
The second and third are Enochian and transliterate to:
>"There is no sanity clause" and "Madness is the emergency exit"
respectively.
Note that I don't pretend to know how bitcoins work 100%; I have read up on bitcoins a while back, with this previous knowledge I still picked some things up, but I did not grasp the complete explanation from this MS Paint cartoon.
Maybe someone could shine some light on a few things that I am left wondering after reading this cartoon?:
[1]: What would be actually 'written on the pages' in the case of bitcoins? The transactions? [2]: What mechanism determines what 'finding' or 'mining' bitcoins means? At one point it says that there are rules regarding how many 'pages' there are per day. Is there a parallel for this in Bitcoins? It says that there is randomness involved in mining. I thought you had to find certain key pairs that were hard to calculate and that those key pairs were then used to grant people bitcoins again. Are the reward-bitcoins simple written in a new block? How does mining work? [3]: 'Sahti' seems to refer to money. Are we talking bitcoins or external currencies?
2. The mechanism used to determine what 'mining' bitcoins means is defined by the bitcoin client software implementation. In case of bitcoin it is about finding a suitable random number by using brute force.
3. I believe the cartoon is using sahti in comparison to bitcoins or ether or any internal currency used in a public blockchain.
With regards to 2, what would define a 'a suitable random number'?
1) I guess so, the blockchain contains the bitcoin transactions.
2) In order to add a block to the blockchain, you need to mix the block's fingerprint with a random value and shake, hoping for the mix to get a special and very recognisable appearance. If it doesn't work, you have to try a new random number (the block's fingerprint of course stays the same). When you've found a good number (which takes a lot of tries and luck) you raise a flag and say "hey, found it", and you can add your block to the chain. Then you're rewarded with some amount of bitcoins that are created from nothing (hence mined). I don't have clear how this reward is granted, whether it's already written in the block you're trying to add or in a new one, and in which form.
With regards to "hoping for the mix to get a special and very recognisable appearance". What happens here concretely? What would 'very recognisable' entail?
Example:
Not a good mix: 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
A good mix: 0000000000000000057fcc708cf0130d95e27c5819203e9f967ac56e4df598ee
This "shaken mix" is a SHA-256 hash of the current block plus a random number. SHA-256 is an algorithm that generates a "fingerprint" (called "hash") of a block of data, in such a way that it is not possible to determine, from the fingerprint itself, which data might have generated it [otherwise it would be possible to start from (a set of) desired fingerprints and calculate back to the set of possible blocks that could generate them].
In the case of a vendor, accepting _bitcoin_ has own security advantages, and bitcoin comes with its own blockchain built-in. As a vendor you probably wouldn't really need to worry about the blockchain as much as you would need to worry about avoiding exchange rate fees.
A blockchain is...
A distributed fault tolerant public database that no one owns and everyone can update.
Has this been done before?
Kind of, distributed database are not new. What is new is solving the problem of multiple updates changing the same data at the same time.
So for example let's say the following happens to our distributed database.
User 1 send the following SQL to the network.
Update customer set balance = 1000 where name = 'Customer1'
and User 2 at the exact same time tries Update customer set balance = 2000 where name = 'Customer1'
A blockchain database will have both statements in a block and execute them on every node in the same order. Other distributed databases would run into race conditions.So when you hear the statement
Blockchain startup X is going to disrupt industry Y.
You can reorganize the statement into something like.
Startup X is going to disrupt industry Y with a new type of distributed database.
Serializing parallel operation is hard!
"A customer of ours suggested that we use blockchains to improve the security of our application. What do you guys think?"
It is probably the equivalent of saying you use scrum and are oh so very agile. "We use blockchains for added security". What this would look like is then left up to the imagination of the person confronted with this phrase.
[1]: http://www.csoonline.com/article/3050557/security/is-the-blo...
Looks more like something made with paint.NET.
(I have never used the MS paint version that comes with win10, so maybe they improved it a lot)
This is all very meta.