One of the next big thing that will get people interested are block-chain based technology. Many people are asking about "WTH is blockchain" and it seems that this will be asked quite a lot in coming days, both from CS and non-CS folks.

Now, I love explaining particulars using an analogy. Is there some analogy that I could use to eli5 to non-CS folks that are curious?

(Really appreciate answers, as I will simply link to this question for people asking about blockchains)

  • $\begingroup$ Can you tell us, are you someone that knows and want a good way to explain it?, or are you needing and explanation for yourself also. $\endgroup$ – ctrl-alt-delor Jul 20 '17 at 19:36
  • $\begingroup$ Apologies. Yes, I am someone that knows and want a good way to explain it. $\endgroup$ – T K Sourabh Jul 20 '17 at 19:38

Use a classroom activity, then present that as the analogy.

An old campfire activity, for those that remember it. A growing story that nobody knows the end of, or even if it will end.

The objective is to create a story, with everyone adding their parts, in turn. Someone starts the story by saying a few lines, and ending mid-sentence, just before some action happens. The next person repeats what the first persons said, and has to finish that sentence with something that makes sense, and then continues the story, using their own idea, since they don't know what the first person was thinking. Like the first person, the second stops mid-sentence in what they're saying. The third person repeats everything the second said (which includes what the first one said), and finishes the sentence left incomplete by the second. Adding more lines to the story, this person also ends mid-sentence. It continues in a similar fashion with each person repeating the whole story from the beginning, adding a couple lines, and ending mid-sentence. At some point the "next" person will not be able to repeat, even in their own words, the story so far, and the chain fails, hence ending. If it happens to be too short, or if not every student has had the opportunity to participate, a new story may be started, and try again. Once everyone has had a chance to participate, in as many rounds as you deem appropriate, you can pick up the chain and finish the sentence, and the story, bringing it to a successful completion.

After the story, or stories, have run their course, you can relate the process to a blockchain. Each piece (except the first) depends upon the preceding piece, and is meaningless without it. If, at any point, someone in the chain doesn't hold up their part of the "contract," by completing the previous sentence, the story is ruined. Still, even without an end, everything up to the last incomplete sentence remains valid, and can be traced back to the original piece.

This is totally non-technical, so it will not be of value in discussing blockchain implementations. It will, however, be memorable, and the students should be able to grasp the concepts behind a blockchain implementation when you do present it.

| improve this answer | |
  • $\begingroup$ This an excellent way to explain the basic concept behind block-chain. I am gonna wait for sometime and see if anyone can top this before accepting. Thank you :) $\endgroup$ – T K Sourabh Jul 21 '17 at 18:55

It is like a set of legal precedents, where each one refers to previous ones, and adds a bit. To understand the latest one, you must walk the chain, and try to work out what is now true.

Old precedents can not be edited, but new ones can supersede (by saying it is like the old one except that …).

Precedents are created in local courts, there is no need for the legislature of central court to be involved. Then these new precedents can be distributed to other courts.

If two courts create a precedent concurrently, then this needs to be considered when interpreting. A new court hearing may be formed to merge precedents creating a new document, that links back to the two that need merging. Thus all precedents have 1 or more parents (except the root, this is a statute), and 0 or more children. However a precedent can not know about its children, as when a new child is added, the precedent can not be changed (as it is immutable).

| improve this answer | |
  • $\begingroup$ Thanks but this doesn't explain the decentralisation aspect of verifying block-chain. :( $\endgroup$ – T K Sourabh Jul 21 '17 at 18:59
  • $\begingroup$ @TKSourabh added something about decentralisation. $\endgroup$ – ctrl-alt-delor Jul 21 '17 at 20:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.