Sunday, May 6, 2018

Blockchain Adventures!

1 bπŸ“Ž πŸ“Ž πŸ“ŽπŸ“Ž πŸ“Ž πŸ“ŽπŸ“Ž πŸ“Ž πŸ“Ž πŸ“ŽπŸ“Ž πŸ“Ž
Blockchain: A continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way". 
πŸ“ŽπŸ“Ž πŸ“Ž πŸ“ŽπŸ“Ž πŸ“Ž πŸ“Ž πŸ“ŽπŸ“Ž πŸ“Ž
Reader: Hey, that was a mouthful. Can you, like, talk to your readers in English?!
Akram: Um, as to your remark about the admittedly convoluted definition of blockchain there, OK, no problem; it was a bit dense and packed, to be sure. As to your question, I’ve got good news for you, because the esteemed magazine, my favorite (technology) magazine—MIT TR of course—has done exactly that in their most recent print edition, which is devoted to a single topic, and where they unravel blockchain in easily-digestible chunks (You guessed it, we’re talking about an entire issue of MIT TR devoted to… blockchain of course, yay!).
Reader: That’s great news on two counts, woohoo!
Akram: Glad you are excited. Just curious as to why you said that was great news on two counts?
Reader: Oh, I thought it was obvious: I mean, like, first of all, we get the lowdown on blockchain from a trusted (pun not intended) source. And second, we readers feel absolved from having to reader the trashy stuff that you write!
Akram: Sigh, so much for that, so much for me and my good intentions. Akram, dude, back to square one! Sigh, back to planet Earth.
In all seriousness, you owe it to yourself to check out the all-new MIT TR format, now thoughtfully devoted to a single topic (the bimonthly print issue, that is).
2 b
Listen up, before you on run off to your nearest bookstore—the last remaining vestige of the brick-and-mortar bookstore that is—to grab (goodness, after buying it of course in the checkout line) your very own copy of MIT TR, won't you please hear me out? Like, please!
For crying out loud, since you’ve all been with me so far, we might as well wade through the rest of the morass I've got for you here, shall we now? Cool, cool? 😎

See, hope springs eternal in the human breast πŸ„

So as I said at the outset—thinking here to the Wikipedia definition of blockchain which sits atop this essay—the definition is a mouthful. Let’s have ourselves a bit of adventure as we parse and dissect it all.

It’s going to be rather pictorial—no, not pectoral, so stop flexing your Schwarzenegger muscles there, you!—this essay will be, so strap on your seatbelts, and buckle up for a wild ride. Here we go, woohoo! πŸš€12 b
But for a breather, why don’t we check out the lovely orb gingerly balanced in the gracefully outstretched hand above? Ah yes, I knew you would not demur. And hey, all you Harry Potter fans out there, calm down: We’re not getting into the goblet of fire, and that sort of thing, much as I myself adore the movies (Haven't read a single book in that series, though.)

Whew. Some people just get so excited and roiled up πŸ‘»

Anyhow, there—in the lovely orb above, but of course—lies a remarkable application of blockchain: Yep, that’s of course the eponymous Ethereum moniker, a "decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference."

11 bOkay, that was just a breather. Now we do a deep-dive in real earnest. All you fellow software types are presumably nodding your head in agreement—and approval, at least I hope so—as you take in the schematic above (All those colorful thingamajigs, those blocks, tastefully wired together in an intricate chain which happens to be the blockchain.)

Yep, that’s it, that’s pretty much what blockchain is, conceptually at least—details, details! I don't get it why people are always fussing about details πŸ˜‰4 b
It all started with—see the cloud (think “distributed”) design patterns volume above that sits atop the  brick wall right behind the secure programming-related stuff?—with the desire for “... resolving longstanding problems of trust and enabling a community to track its transactions without entrusting that record-keeping process to a central intermediary, the blockchain idea promised a way to bypass the various gatekeepers who control society’s exchanges of value.” (according to Michael J. Casey and Paul Vigna. In their fine book entitled The Truth Machine: The Blockchain and the Future of Everything.

The two authors go on to tellingly, and accurately, note in their book that:
In essence, the blockchain is a digital ledger that’s shared across a decentralized network of independent computers, which update and maintain it in a way that allows anyone to prove the record is complete and uncorrupted. The blockchain achieves this with a special algorithm embedded into a common piece of software run by all the computers in the network. The algorithm consistently steers the computers toward a shared consensus on what new data to add to the ledger, incorporating all manner of economic exchanges, claims of ownership, and other forms of valuable information. Each computer updates its own version of the ledger independently but does so by following the all-important consensus algorithm.
Make a note of the "consensus algorithm" reference above (Hint to the wise: Pop quiz popping up sooner than later…) 🎬
3 b
Having searched high and low for simply the best material on blockchain, the volume in the picture above is what I would recommend for a crystal-clear, no-fluff, conceptual journey through the blockchain landscape πŸ”­
Blockchain: A Practical Guide to Developing Business, Law, and Technology Solutions by Joseph J. Bambara Paul R. Allen
Good stuff. Really good stuff πŸ†
5 b
Remember, though, that, much as in all other things digital, algorithms are key to making blockchain  technology tick ⏰ (The careful reader—that’s you, of course!—will already have noted the reference to "the all-important consensus algorithm" which I mentioned in the brief excerpt above (from the splendid book entitled The Truth Machine: The Blockchain and the Future of Everything.)

And yes, that’s why I’ve got a nice specimen of algorithmic wisdom, lore, and virtuosity featured prominently in the pic above: Algorithm Design and Applications (Wiley) by Michael T. Goodrich and Roberto Tamassia

If you dig algorithms like I do, I strongly urge you to check out the fun—and sometimes irreverent, though always polite and civil—details at the following pointer where you will get the lowdown on algorithmic wisdom, lore, and virtuosity, and possibly even a bit more than you bargained for: Best Algorithms Books (Part 2) πŸ˜‚

(Hey, a Faustian Bargain it sure ain’t, let me assure you!)

Should you want even more—and who am I to stand in your way of enlightenment—you will also want to check out what’s up, right over here: Best Algorithms Books (Part 1).

See, blockchain is algorithms all the way down… 🐒 🐒 🐒 🐒 ... 🐒 13 b
Featured square center in the pic above—see those lovely logos tucked inside the fearsomely-symmetrical hexagonal thingamajigs all tiled away in a tessalation?—are after all the fruits from the trees which were planted in the fertile soil of blockchain. Hey, gardening metaphors aside, there is the related matter of growing software, one burgeoning algorithm at a time.  should you have the appetite for making things headier still, I can only point you in the direction of blending object-orientation with the functional programming style: When Object Orientation Met Functional Programming 🎭

Fair warning, though, that you run into stuff such as that memorable greeting of H. M. Stanley (on locating and meeting David Livingstone in Africa) when he had remarked: "Dr. Livingstone, I presume?" (Sheesh, some people can be so droll.) 🎩
15 b
And floating ethereally—suspended in the evening sky that is half-surreal and half-ethereal—is Ethereum of course, a truly remarkable application of blockchain goodness 🍎14 b
Oh goodness, what befell Ethereum here? It seems to be in the midst of staving off an unruly attack launched by a bunch of ambushing Halloween jack-o’-lanterns! Hey blockchain, help us thwart off those pesky jack-o’-lanterns that want to hack there way in to where they have no business to be in…

The last time I checked, jack-o'-lanterns were strictly designated for the house porch πŸŽƒ10 b
Is blockchain fragile? I don’t think so. Is it anti-fragile? Well, that is a question best left to folks brainier than I am… πŸ™ˆ

Considerations of lumping blockchain in the anti-fragile bucket—the category of things which not only thrive on chaos but need it to survive—are really the territory of folks like Nassim Nicholas Taleb. Me, I’m a hard-core distributed systems designer and developer. What do I know about ethereal stuff like economics and market behaviors? So there πŸ‘•

Look, I do know my MPC (Marginal Propensity to Consume) from my TVC (Total Variable Cost), and my multiplier effect from my stagflation—yes, there is such a thing as stagflation!—and stuff like that. But that’s where I stop; a word to the wise who want to deliberate on all things anti-fragile, notwithstanding blockchain! πŸ’° πŸ’Ή πŸ’΅ πŸ’Έ πŸ“ˆ8 b
How rude of me! It just dawned on me that I haven’t so much as introduced the lovely "Drawing Hands", um, drawing above and in fact adorned a handful of other pics as well, including the pic which appears at the top of this essay πŸ™Š

(Akram, two slaps on your wrist. Now! I mean, how could you? Sheesh… We’re going to have you burnish the entire Eiffel Tower—the one perilously perched atop the right-hand side edge of the blockchain book in the picture above—since we’ve already noticed the sheen on the Eiffel Tower fading away, evanescently, or something like that, anyway!) πŸ—Ό

So to set the record straight—plus redeem myself—here's the scoop on that lovely “Drawing Hands” drawing, gloriously framed and which, in turn, I have embedded in the framed pic above: It's the work of Professor Edward Ashford Lee, one of the world’s leading experts in the field of the Internet of Things (IoT). When it comes to artistry, he is far more talented than I; you will concur after witnessing my chicken scratch drawings 🐣 Anyhow, he is the Robert S. Pepper Distinguished Professor in EECS at the University of California at Berkeley, and is the author of the splendid book called Plato and the Nerd: The Creative Partnership of Humans and Technology (The MIT Press) πŸŽ“

For more details on some of his work that I especially dig, I refer you to:
    1. An essay here 🍎
    2. An essay there 🌻
    3. And another one right here
        But I digress.19 b
        Oh my, what happened here? All blockchained—big-time neologism alert here!—and nowhere to go, hey you in the picture above, sitting so glumly and forlorn, with your arms tightly wrapped around your tucked-in knees? πŸ‘Ί

        It just so happens that the most recent issue of FORTUNE magazine has a feature length article on the redemption of a blockchain-related villain of sorts... πŸ˜‡16 b
        Methought I heard a voice cry "Immutable no more"? It sure wasn’t Macbeth, that I can tell you, so you might as well ‘fess up now… πŸ™‰

        Just sayin’. Here’s my proof:
        MACBETH: Methought I heard a voice cry ‘Sleep no more,
        Macbeth does murder sleep:the innocent sleep,
        Sleep that knits up the ravelled sleeve of care,
        The death of each day’s life, sore labour’s bath,
        Balm of hurt minds, great nature’s second course,
        Chief nourisher in life’s feast’—

        ~ William Shakespeare (The Great Tragedy of Macbeth)
        (Oh man, was Shakespeare one sleep-deprived dude or what? I mean, the words above—coming from the mouth of his character Macbeth though they are—sure reek of insomnia, and sure sound autobiographical, potentially apocryphal!) 😴

        And lest you think that I'm just blowing you off with all this fancy talk of Shakespearean stuff, I invite you to have a peek at: On Writing—Or Now I Write (All bets are off; the tacit understanding is that you proceed at your own risk)

        Anyhow, here's what's up with immutability: 🚧
        17 bThe Moving Finger writes; and, having writ,
        Moves on: nor all your Piety nor Wit
        Shall lure it back to cancel half a Line,
        Nor all your Tears wash out a Word of it
        πŸ˜‚
        ~ Omar KhayyΓ‘m (from Edward Fitzgerald’s translation of the great poet-astronomer’s work entitled The RubΓ‘iyΓ‘t of Omar KhayyΓ‘m)
        And yes, it's only after a lot of tears have been shed—and a whole ton more immutably-recorded transactions later—you get a ton of blocks chained together πŸ“Ž πŸ“Ž πŸ“Ž πŸ“Ž … πŸ“Ž

        Yep, you got it: We we got ourselves an impregnable castle, um, an impervious blockchain I meant to say of course! 🏰18 b
        Yet another way to imagine blockchain is as a bunch of bricks being added to a wall, one brick at a time…

        (Akram, yo, speaking of walls, where is your obligatory Pink Floyd quote from The Wall this time, for crying out loud?! We haven't seen a single Pink Floyd lyrics quote lately...) 🏒 🏒 🏒 ... 🏒 6 b
        Wait a second, what is that National Geographic magazine doing here? Can somebody please tell me that now, quick?! πŸ‘€

        Look, metaphors abound in our lives and it is no coincidence that George Lakoff illuminated the world with a remarkable book precisely the subject: Metaphors We Live By. When it comes to blockchain, what kind of metaphors shall we fish for? 🎣 🎣 🎣 ... 🎣

        5 b
        Okay good, we are now back to surfing uncertainty, having gone, shall we say, From Bacteria to Bach and Back in the fanciful flight of a metaphorical fugue (Okay, okay, before you run away in disbelief, quite possibly shuddering  at the prospects the specter of a digression into stuff inspired by GΓΆdel, Escher, Bach: An Eternal Golden Braid, I’ve hastily changed course and decided to postpone my diatribe—ahem, an exploration—on "The Evolution of Minds", which just happens to be the subtitle of this cool and rather stylish book by Daniel C. Dennett  🎯9 b
        Hey, now we're cooking with gas: And no, I’m not talking here about Mr. T (Alan Turing of course, whose eponymous book lies supine on the red carpet above that I had rolled out just for you. Just for you!) 🎈

        What I had in mind—in saying that "Now we're cooking with gas” above—is simply this: The Go programming language is eminently suited for all things blockchain.

        And you don’t have to take my word for it either. Just check this out: The official Go implementation of the Ethereum protocol (9,592 git commits under the belt, and going strong, with 23 branches, no less, in flight, goodness!)

        Obviously, you will also want to take a peek at some more lighthearted material here: The Go Programming Language (Really good stuff by yours truly, I promise, or at least that's what I've been told on good authority. And yes, that’s despite my having written it!) πŸ˜‰20 b
        Seats all arranged—more like, um, “gummed-together" together with steel bars—in a tidy little chain, and all green, too, no doubt within envy. I mean, they are, for crying out loud, rubbing elbows with not one but three whole blocks of grey (And no, they were not taken from any old blockchain). The rub is that the operational speed (of adding blocks to a given blockchain) currently hovers well under one every 10 minutes…

        Slow as molasses or what?! 🍯

        So there are some challenges along the way to wider adoption of the blockchain technology… But based on everything that I've seen so far, I have full confidence that these challenges can—and will—will be overcome. Blockchain technology is, IMHO, destined for widespread adoption 🎑


        Eventual consistency anyone? πŸ‘ 
        22 b
        And so our meandering adventure draws to  close. Here were are, having architected towering monuments of software structures. Soon enough, we’ll be reaching for the stars. Ready for lift-off? πŸš€

        Look, this ain't no armchair traveling. (See, I had told you at the outset that this was going to be a wild ride!) πŸš‚

        More to come… Stay tuned: πŸ“Ί21 b

        2 comments:

        1. Interesting topic and entertaining article from the Author!

          ReplyDelete
          Replies
          1. - Hey thanks! That people keep coming back here all the time to read my musings on diverse topics will forever remain a mystery to me... But I will, for now anyway, take it as a hint that maybe, just maybe, something worth your while is going on here :)

            - Seriously, though, I'm delighted that you found this Blockchain adventure both "Interesting... and entertaining..."

            - So here's the thing: Bitcoin has, of course, been praised, but also maligned. Frankly, it's still a fairly new application of Blockchain technology; these are just growing pains that inevitably attend any new promising technology.

            - Blockchain is, beyond a shadow of doubt, a mind-numbingly brilliant fiat of technological prowess. It ain't going anywhere... It's here to stay, and we all owe it to ourselves to embrace its tremendous potential, while also remaining mindful of the pitfalls in applying it meaningfully in the service of consumers and businesses.

            - Okay, relax, because this is where I get off my soapbox ;)

            - Just one more thing: You all please keep those comments coming. While I may not be able to respond to each and every one of your comments, let me assure you that I read every single one! I promise!!

            - Interestingly, I'm starting to see a pattern in the distribution of comments. One essay that I wrote a few years ago, however, continues to defy the engines of my engineering mind as to why it has proved to be such a massive hit: It's got the scoop on all things Big Data wisdom (Apache Spark and Apache Hadoop, specifically.)

            - FWIW, this is a link to a reader comment (on that essay), one which was posted fairly recently, and is a fair representative, I would say, of the enthusiasm you all have shown to my musings.

            - Thank you all so much: You all make my day, every single day :)

            Delete