STEM Spotlight: low-level languages, blockchain and algorithms for dummies

What the hell is an algorithm?

First things first, lets address the elephant in the room, what exactly is an algorithm anyway? If you’re exposed to social media to any extent I’m sure you’ve heard the term in reference to how the site feeds you content, but what actually is it? We need to understand this concept before we can move forward. Merriam-Webster defines algorithm as:

a procedure for solving a mathematical problem (as of finding the greatest common divisor) in a finite number of steps that frequently involves repetition of an operation broadly : a step-by-step procedure for solving a problem or accomplishing some end

Let’s break this down: in simpler terms, an algorithm is just an operation that you have to do over and over again to receive a result. The main benefit of these types of operations is that they scale very effectively, meaning they’re able to handle lots of information at once which the human brain isn’t very good at doing. Let’s take a very simple mathematical operation and extrapolate it to see how algorithms can make our lives easier.

Say you’re given a spreadsheet full of numbers and told to find the total sum of a column in that spreadsheet. You can go the oldschool route and count one by one and, after a really long time, you will have reached a total number. This approach doesn’t really scale. What if you wanted to know the totals of every column in the whole spreadsheet, the time complexity (the amount of time it will take you to complete a task) will go through the roof! A simple algorithm would allow us to automate this task.

Without even writing a single equation or line of code let’s think of how we can solve this. First we need to know if we’re done counting (if we’ve reached the end of the column), so we can set this as the end condition to cause our algorithm to stop. While we haven’t reached that condition we should take the value of the next row and add it to what we currently have. We start counting at 0 and add row by row until our end condition is met. Congratulations, you’ve made your first algorithm! Hopefully this example has served for you to better understand that algorithms are just fancy ways of making long, tedious processes more automated and efficient.

Ok, so what the hell is a blockchain?

Many developers in various STEM fields work specifically in this low-level field. Let’s take a step back and define what STEM is. STEM is an acronym for Science, Technology, Engineering, Mathematics and people who work in STEM are experts in one or several of those fields. For the purpose of explaining this quickly I will choose a field which requires knowledge of all of these fields at the same time: blockchain.

Blockchain is an interesting and unique new world as it takes the ideas behind how algorithms work and combines it with complex mathematics and automation in order to take advantage of the ever-growing power of computers to create a new tool: a modern solution to modern problems. Primarily it is an interesting and unique new way of thinking of consensus. You may ask: “how does blockchain developing compare to other STEM positions”? Given how it’s a new field that combines many of these topics, there really isn’t a comparable job that exists, it really is it’s own thing. It combines key aspects of other STEM disciplines, but always under the lens of decentralization and consensus. That is what makes this field so new, so interesting and why I’m excited to carve a place in it for my future.

Blockchain challenges

Another important tool to understanding and writing blockchains are hash functions. Blockchain faces a challenge that we vaguely hinted at earlier which is consensus, or “how exactly does my computer and your computer agree on this data?”. There are many approaches to solving this issue, and one that I find particularly interesting is by forcing your computer to solve hash functions (increasingly complicated mathematical puzzles) and having other computers verify the result. Once enough computers agree and all reach the same answer, we have consensus!

The fact that blockchain technology changes essentially how we agree on things is a game changer and brings forth many interesting and innovative implementations of the tech.

Real world examples

Increasingly we’re seeing how blockchain developers are targeting other aspects of the legacy financial systems. New protocols are being created constantly that try to provide modern solutions to old problems. Problems such as borrowing and lending, banking, trading, investing. There seems to be a new blockchain protocol every day created to facilitate and modernize some aspect of this financial world. And that’s just limiting ourselves to finance for the sake of this article, the implementations of blockchain in other fields are limited only by the creativity of human imagination. There truly are endless possibilities of implementation of this new technology.

That leads us to some of it’s negatives. Given it is such a new field, regulation is scarce. The market is in a frenzy for all these new blockchain developments and this causes many scams and illegitimate projects to slip through the cracks. We have seen time and time again many blockchain protocols that claim to have good intentions and that will bring some innovative solution to a problem receive ample support and funding only for the creators to take the money and run, leaving the investors and customers with nothing. This is one of the biggest challenges of blockchain development at the moment: sifting through the massive amount of start-ups and “life changing” tech to find what truly is a project worth working on vs which are solutions looking for a problem to solve.

In conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store