South Korea’s top financial institution, the Bank of Korea, has released its analysis on central bank digital currencies (CBDC). The report indicates that central banks around the world are moving towards CBCDs due to advancements in blockchain technology.

Nothing should be considered investment or financial advice. Enjoy the ride.

First if you do not know what CBDCs are, then let’s review. CBDCs are Central Bank Digital Currencies. Not like Facebook’s Libra, but more closely related to China’s digital currency. The report we are referencing in this article is about a study the Bank of Korea did to gauge the interest in this field for central banks around the world. Let’s continue:

Blockchain Developments Driving CBDC Agenda

A report by the Bank of Korea published on Monday (May 8, 2020), revealed that central banks across the world are increasingly interested in developing their own respective CBDCs and a few banks have already made significant progress. The report titled “Overseas CBDC Progress Report” attributes the global attention on CBDCs to emerging developments in the blockchain industry.

According to the report, South Korea’s central bank conducted research and analysis on the CBDC projects of 14 central banks from a plethora of jurisdictions and found that decline in the use of fiat currency, and adoption of distributed ledger technology (DLT) in payment settlement processes are major factors driving the development of CBDCs.

An excerpt from the report reads:

“Most countries are investigating whether new future-oriented technologies can be applied beyond the centralized ledger management and account-based transactions that are currently applied to payment and settlement systems.”

Also, the report revealed that central banks are researching and developing two different types of CBDCs. Banks in France, Hong Kong, Thailand, Canada, Switzerland, and Singapore are focusing efforts on utilizing their state-backed digital currencies for managing large amounts. In other jurisdictions such as Norway, Sweden, China, and the U.K, the focus on is using CBDCs for micropayments.

While most of these central banks are still in the early stages of research and development, China and Sweden have both successfully completed proof-of-concept and have proceeded to real-world testing. Similar to China, the Bank of Korea has revealed micropayments as the main point of interest for developing its own CBDC. South Korea’s central bank is also considering leveraging DLT platforms from such as Coda and Hyperledger Fabric.

Importance of Micropayments

While these developments are great for blockchain and for the crypto eco-system, the use of micro payments is something that will have to be solved eventually. Central banks are trying to get ahead of this dilemma, but there are already a few solutions on the market today that could solve this issue as well. Most notably, IOTA has prized itself as the micro payment solution king and already begin partnering with hardware manufactures and the E.U for certain developments.

Likewise, projects like IOTA could be used in place of these centralized digital fiat solutions, or they could simply be bartered to pay for international micropayment solutions anywhere in the world.

Either way, the central bank solution of digital assets is a clear gateway for more digital currencies in the decentralized market to hit main stream. Maybe not all at once, but enabling people to convert their fiat into digital currencies will only promote the crypto economy in the end.

IOTA (or the Internet of Things Application) is both an open-source distributed ledger and cryptocurrency that entered the crypto market back in 2016.  At first glance, it may seem like IOTA is just another token on the market or yet another attempt at creating an open-source distributed ledger (just like Bitcoin, Ethereum, etc.).  However, taking a closer look reveals the truly revolutionary abilities that IOTA brings to the crypto world. 

IOTA Tangle Series

In this series, we plan to roll up our sleeves and dive into the details of how IOTA works and why it’s presented such a revolutionary design to the crypto world.  We’ll start with the fundamental building blocks in this post and move onto some of the practical applications in those that follow.  If you really want to understand how IOTA works from a mathematical and functional perspective, the Whitepaper is an indispensable resource to read and study.  The math behind the Tangle is quite impressive and complex…and it’s also very complicated.  I’ll include some links at the bottom of the post that you can use to further increase your knowledge.

Okay, enough introducing, let’s get to it!

While not the only novel facet of IOTA, the Tangle is such a radical distinction from the standard cryptocurrency / ledger currently in use by most tokens that it only makes sense to start here and continue to build.  Great, so…what’s the Tangle?  Simply put, the whitepaper defines the Tangle as “a directed acyclic graph (DAG) for storing transactions”.  Duh, it’s just a DAG!  Just kidding, let’s take a look at what DAG’s are and then try to understand why IOTA decided to use them. 

Tangle Graph Theory

There are several steps to get us to a DAG, so keep your geek hat on for a second and we’ll be back to planet Earth in just a minute.  To get started, mathematics has many different facets (more than just the algrebra, geometry, and maybe calculus that you took in high school or college); graph theory makes up a part of mathematics as a whole.  No, graph theory isn’t about studying graphs like y=x2 or cos(x); instead it’s about modeling pairwise relationships between child objects and their relationships to parent object(s).  Below is a simple picture of a graph:

Undirected graph

Figure 1:  A simple, undirected graph.

            This type of graph is referred to as an undirected graph.  There are no directional relationships between the points in the graph – instead they just exist together and link to form an entire structure.  This is different than what’s used in the Tangle; see below:

Directed Graph

Figure 2:  A simple, directed graph.

Notice the difference with this type of a graph – there’s a direction between the points (i.e., they are an ordered set of points).  The top left point connects to the top right point in a specific direction, whereas the top right point connects bidirectionally with the bottom point.  This forms the first foundation in understanding a directed acyclic graph.

            Alright, so we understand the first part of the DAG; what about the second part?  What does it mean for a graph to be acyclic?  Let’s take the strategy we used above and first define a cyclic graph.

Directed Cyclic Graph

Figure 3:  A simple, directed cyclic graph.

In this graph, we see that there is a logical ordering that produces a single cycle.  In other words, we can start at the top point and proceed around the structure, ending again at the starting point.  This can continue on and on as necessary; hence, the term “cycle” is fitting.

Directed Acyclic Graph

Figure 4:  A simple, directed acyclic graph.

There’s a difference with this graph.  Can you spot it?  There are no directed cycles such that one could start at a given point, loop around the graph, and end back up from where they started.  Another important distinction in a DAG – it always follows a topological ordering.  This means every time a new path is formed between nodes, it always goes from earlier to later in the sequence (or simply it doesn’t go “backwards” in time).  This helps us finish out our basic understanding of a directed cyclic graph.  Let’s put it all together.

  • A graph is an abstract concept that structures a set of objects together with some relationship among the objects.
  • A graph can be directed if the order between any two successive nodes in the graph matters.  In other words, A à B matters and doesn’t necessarily equal A ß B. 
  • Finally, a directed graph can be acyclic if there is no succession of hops along the graph that forms a cycle (which would allow one to start and end at the same node).
  • A directed acyclic graph always follows a topological order (such that it only ever makes connections “forward” in time and never “backward”). 

Tangle Vertex

It’s important to note that each time a transaction enters the network, a new “vertex” is added to the Tangle (where a vertex is a blue circular node above in Figure 4).  The edges that connect any two transactions are the approvals on the ledger.  Putting these two ideas together, a graph can be formed that relates transactions (vertices) with their corresponding approvals (edges). 

Phew, you might need to take a break after that one.  All that being said, this is the structure IOTA uses in its ledger to record and validate transactions.  This is obviously much different than a standard blockchain, but how?  A blockchain is a synchronous approval mechanism; this means that the longest (most trusted or most often validated) line of blocks stays on the blockchain and each block is added one after the other after the other.  Any forks or side branches eventually get orphaned and are discarded, no longer of any use even though work was done to validate the transactions they held.

Concept of the Tangle

While the blockchain is a synchronous set of blocks stacked one after the other, the Tangle has no concept of this rigid synchronicity.  Instead, the system acts asynchronously and can have many forks and branches that all converge over time.  The main impetus for this decision was scalability of the distributed ledger.  Because each node participates in the validation process during the performance of a transaction, the network of validated transactions continues to strengthen while staying nimble.  This allows computationally bounded devices (such as IoT devices) to participate in the network (no need for racks and racks of custom ASICs to validate transactions by calculating terahashes of computations). 

In addition, transactions on the network are “free” in that they require neither the sender nor the receiver to pay any MIOTA (IOTA’s token).  Instead, each transaction requires the node to perform two validations of other transactions within the network.  The choice of these transactions is outside the scope of this article, but feel free to look at the Whitepaper if you really want to know what’s going on here (especially starting at section 2).

Tangle Versus Blockchain

There are few more important distinctions to make with the Tangle and how it relates to a standard blockchain:

  • The Tangle provides virtually unlimited throughput (as opposed to, say, Bitcoin with about a 10-minute block production schedule or Ethereum which produces about 10-12 blocks per second).  Because of its asynchronous nature, the Tangle can proceed extremely quickly and has no programmed block schedule.
  • There are no mining fees in IOTA as there are no miners.  Each node must verify two transactions every time it produces a new transaction.  This allows the system to send all of the MIOTA specified in the transaction payload without having to worry about miners’ fees or higher fee payment if a quicker verification of the transaction is desired.
  • Because there are no miners in IOTA, there are no incentives (other than perhaps malicious intent) to slow the network down.  Typically, this is done to raise fees, which really goes against the decentralized nature of most cryptocurrencies.  Rather, nodes are incentivized to perform quickly as their transaction can be further validated after being added to the Tangle.

IOTA Education

If you made it this far, you deserve a medal of bravery.  IOTA is a complex concept to understand, but you find more and more nuggets of information each time you delve into the topic.  Still want to learn more?  Check out a few of these articles:

  • Here’s an extremely thorough look at directed acyclic graphs
  • We referenced it above earlier, but in case you missed it the IOTA Whitepaper is a great, thorough read on the topic.  While it mainly focuses on the Tangle itself, there are quite a few ancillary details that can be gleaned during a focused read.
  • Here’s a bit more information on IOTA from a high-level perspective.
  • Meet the Tangle.  We promise it doesn’t bite (yet).

This is only the beginning of our detailed exploration of IOTA.  We plan to visit more of the specific core concepts and applications in the future.  In the next article, we’ll take a look at IOTA’s overall place in the IoT world and how it plans to become the de facto token / ledger for transactions among these devices.  Until then, happy reading!

The community behind Bitcoin spent a good part of the other day trying to explain Bitcoin to J.K. Rowling. With the help of Elon Musk edging everyone on, they seemed to miss the point all together. Therefore, I want to take just a slice of this cake and dive into how I personally have come to find out why Bitcoin is a Global Solution to Divided Problems.

Nothing should be considered investment or financial advice. Enjoy the Ride.

Peer to Peer Transactions

I want anyone reading this to stop for a second and come up with a way to easily send some one money over the internet. Not just any person but someone half way across the world, who speaks a different language and transacts in a different currency.

Most people would immediately jump over to Paypal or possibly Zelle, or maybe even some off brand solution. The problem with a bunch of these companies is they come with a crazy amount of fees to follow up with your simple transaction.

For instance, I have a guy who provides me with photos and sometimes blog posts for another blog I run who lives in Russia. Brilliantly talented guy whose words just jump off the page as you read them in his British English writing.

I love working with him, but every time I send him even a payment as small as $100, it is hit with fees of up to around $10.

That is insane for simply trying to send someone money for a service or as a gift.

Clearly there should be a better solution, and already Bitcoin knocks that out of the park. A very VERY simple demonstration of how useful Bitcoin already is compared to other payment gateways and providers. Speaking of Payment Gateways, let’s dive into my next point.

Payment Gateways and Payment Providers

I am also currently working on a business idea that requires a payment gateway or payment provider. That’s because through our app we are building, we need to be able to accept credit card transactions for the services it will provide.

Simple enough right? That should be EASY TO DO IN 2020 just accept credit card transations.

Ironically, no it is not. Not only do you need a payment gateway, but you need a merchant account to go along with it. On top of that, that bank that will process the credit card transactions for you is going to fee the heck out of you. At the end of it all, most companies end up losing from 2% – 5% on every single transaction from credit card transactions alone.

I know that does not sounds like a lot, but when you start to do the math, it add up fast. With some businesses having very narrow margins of profit, this just digs into their expenses even deeper making it harder to operate and host competitive prices for services.

Let me put it do you this way, you would notice if gas prices were 2% – 5% higher at competing gas stations wouldn’t you? Point made.

Already with Bitcoin and other digital assets like XRP or IOTA, this isn’t even a problem. At scale, we could today all host crypto addresses and be saving these businesses billions and billions of dollars in total. That is a a lot money re-entering the economy and not going straight to the banks to feed their horrible monetary policy. Speaking of monetary policy, that is our next section.

Monetary Policy

This is the last topic I am going to cover, but I want to make very simple points that drive home the utility of Bitcoin and crypto today. The last of which would be monetary policy. With everything going on these days, this term has been a joke. I can say it is nice to get stimulus checks from the government, but bad for the economy since trillions of dollars are flooding the market.

Clearly, the assets and markets have been propped up by this and it is going to lead to a bubble that will burst leaving thousands of businesses with their metaphorical pants down.

Already the banks are struggling to give out loans, the housing market is literally at a stand still, gas prices are lower than ever before, and everyone wants to ignore the massive red flags, but hey, I am game. Let’s play ball economy.

Cash Flow

The current monetary policy of printing money and controlling the flow of cash is doing a few things. One it is delaying the impact of events like Covid to later dates, and two it is covering up the real problem that the banks have no cash flow to cover even their basic liabilities day by day.

The impact of Covid and the current lack of purchasing and operations in the world is going to lead to a miserable 2020 year and an even worse 2021 year. That will all add up to no bonuses being handed out next year, angry investors and board members demanding higher yields, lay offs world wide due to rising expenses over taking profits, lack of development in many industries, and many more things. What I am talking about is extreme hyper inflation after this calm in the storm. The prices of things could sky rocket over night. Just as the bottom dropped out on most things over night with Covid. It will happen fast, and people will not be prepared.

With the administrations at hand trying all they can, there has to be a better answer. That answer is that the world needs a decentralized economy, a decentralized monetary policy. The world economy and eco-system has out grown the traditional fiat world. It has out grown just a single economy setting the scales as the U.S has for decades. The world needs a stronger globalized economy tied together by a decentralized source. A source that can not be manipulated as easily or added to. The solution is Bitcoin at first, but will ultimately take more digital assets to get the job fully done.

Global Solution to Divided Problems

Things in the world are not working now, but the fact is they were not working before. Even before the virus, there have been signs of things slowly falling apart. Like it or not, the world will soon need a digital solution to the standard monetary problems we are facing. It will get to the point where the world doesn’t have a choice like Iran or Venezuela.

The only thing we can hope is that the world adopts the right one with time to perfect it. The alternative is just picking one to try and survive the economic collapses that could soon come.

When we create transactions on the Bitcoin network, it might be tempting to assume that since we’re using a cryptocurrency, we are totally secure in transferring money to another party. 

            In the world of cybersecurity, there is a token acronym to express security – CIA.  No, this isn’t referring to the federal agency in the USA – instead CIA refers to confidentiality, integrity, and availability.

  • Confidentiality expresses the “typical” definition of security – what you send to another party or store on your computer can only be revealed to those whom you choose and no one else.
  • Integrity expresses the idea that any message you send should end up exactly same wherever it goes – it shouldn’t be altered en route.
  • Availability expresses a definition of security meaning that a system/user should be able to access or contact another system/user when desired (i.e., a distributed denial of service (DDoS) attack would threaten availability). 

So, from a cryptocurrency perspective, we are secure using Bitcoin, right?  Our transactions are encrypted and protected against modification, and the network can’t possibly go down since it’s so decentralized – we must be completely secure!

Using only the three factors above, it’s pretty clear that our use of the Bitcoin network is pretty secure.  But let’s expand our meaning of confidentiality by taking a look from a tangential perspective – are you confidential using Bitcoin?

Huh?

Confidential Transactions

Let’s rephrase it – are you as a person, not the data you’re sending, confidential?  Can someone find out more information about you, such as where you live, how much bitcoin you’ve sent, how often you use the network, who you’ve paid in the past…  The answer might seem counter intuitive, but these are definitely not outside the realm of discovery.  (Quick aside:  from a legal standpoint, privacy and confidentiality are technically different; however, they cover very similar notions in “common speak”, so we will use the terms interchangeably here and provide a link below if you want to know how lawyers use the terms).

Time to dive into the details.  First, when you use a computer on a network (i.e., the Internet in this case), your computer has an IP address.  It’s either a 32-bit or 128-bit identifier that tells the receive to whom they should respond.  For example, let’s say your computer is located at 17.xx.yy.zz and you’re trying to talk to 20.xx.yy.zz (fake addresses used for privacy).  Did you know that from this simple information above you can find out that a corporate device owned by Apple is attempting to make a call to a device at Microsoft? (Check this out for a reason why). 

IP Address Gives You Away

Why this matters – your computer has an IP address, and when you “talk” to someone on the Bitcoin network, it is possible to find out your IP and even log every time your IP address has attempted a connection.  Your telco (Verizon, Cox, Charter, CenturyLink…) is assigned specific addresses and divvies those out to its customers.  Given a date and an address, the telco could discover who (at least which router in a household or business) attempted a specific connection.  Can you possibly get around this?  Sure, there are potential ways (VPNs, proxies, and Tor among others), but there is no way to not have an IP address associated with your connection.  Short answer:  it can increase anonymity but is not bulletproof.

What about your wallet address?  Let’s say you try to send someone BTC this week, and in a few weeks from now, you send both them and someone else BTC again.  These transactions will be forever placed on the blockchain and can be searched.  Someone looking for your address can tell how much you sent, when you sent it, and to whom you sent it.  Another potential for disclosing your address – asking for donations or payments on your website.  Lots of small websites run on donations – if you post your wallet address to ask for help running the site, your identity (or at least the site owner’s) can be forever traced back to you through the address.  All of this is encoded and forever encapsulated – but can this be mitigated?  In order to reach a higher level of anonymity, you could attempt to use a new wallet address with every transaction.  This is, in fact, the recommendation of Bitcoin.org.  

Break The Identity Tie

Can’t Bitcoin mixers aid in breaking the tie to your identity?  They can help – it does make an investigation into your identity more difficult to trace – but as amounts get larger and larger even these services are limited in their usefulness.  You also have to inherently trust the operator of the mixer – they can easily lose, steal, or mismanage your input BTC.  There are other options, such as CoinJoin, to anonymize payments.  CoinJoin takes multiple transactions from multiple spenders and combines these into a single transaction, effectively hiding raw details about who spent how much bitcoin.  This doesn’t require any modification to the Bitcoin network protocols and can be used now but is vague and can be difficult to employ – and again, still not bulletproof.

Is there any hope?  Of course, this isn’t a doomsday approach to cryptocurrency but rather a reminder to be careful while on the Internet.  If you choose to deal with trustworthy vendors and other users, you have very little to worry about in your online activities.  This just serves to reinforce that pseudonymity (using a name or identity other than your own) is possible but anonymity (completely unknown identity) is pretty much not.  It’s hard to say that there’s a 0% chance of someone finding out who you are given a specific transaction or other interaction on the Bitcoin network.

Learn More About How Anonymous Bitcoin Really Is

Even though we looked at a good bit of detail above, there’s so much more you can read about if you desire to understand the more technical facets of pseudonymity in the online world.  Take a look at a few of these resources for more:

We hope this was insightful for you and look forward to seeing you next time!

I have always been the kind of blogger to discuss good projects, positive news, and occasionally educational pieces. Although, I rarely write on projects that I dislike or simply disapprove of for various reasons. Therefore, I want to touch on the top 4 most hyped projects on the crypto space that I believe are horrible projects for one reason or another. This is more for fun, but take it as you will!

This is no way means that you can not make money off of these projects, but you might not want to support them after reading this. Remember that every time you purchase one of these projects or trade it, you are essentially supporting the economy behind it. You are supporting the use-case and the utlitity behind the project. So, be careful where you put your money.

Nothing should be considered investment or financial advice. Enjoy the ride.

Top 4 Worst Projects

Slamming right into this, let’s look at our line up for the worst hyped projects on the crypto market.

  1. First up is the notorious Bitcoin Satoshi’s Vision (BSV)
  2. Second to bat is the insanely hyped Tron project (TRX)
  3. Whose on third? That is none other than Steallar (XLM)
  4. Rounding out the team of misfits in fourth place is Bitcoin Cash (BCH)

This is our line up today folks. We are going to go through each project one at a time and break apart why exactly I have considered these projects to be the worst hyped projects on the crypto market. Again, these are my personal opinions so you can competently agree, ignore, or forward them to your boss. The choice is yours to do with the information as you please.

Whatever you do with the information, don’t give it to John McAfee because these will become his new favorite projects to shill, seriously.

Bad Things About Bitcoin Satoshi’s Vision

Without a doubt Bitcoin Satoshi’s Vision is the worst project on the market in my opinion. Here are a few reasons why:

  • BSV adds no value to the market scene because it is an almost identical copy of Bitcoin Core with little future development
  • It is lead by a psychopath named Craig Wright that has tried to crash the market several times
  • Hosted as a pump and dump scheme with clear examples in the charts
  • It exhibits strong ride or die mentality with its users and followers exhibiting hostility in the crypto community to other projects
  • This hostility also makes the entire eco-system look juvenile and dramatic causing investors to dismiss crypto
  • The project has a minuscule hashrate of around .5% – 1.5% of Bitcoin Cores over all hash rate meaning it could easily be compromised.
  • Most of it’s hashrate comes from few exchanges and mining companies meaning it is not decentralized at all

These are just some basic points to hit on. The main point is overwhelmingly the leader behind the BSV currency which I still believes owes someone billions of stolen crypto. There is absolutely no reason for why the authorities should not have already arrested Craig Wright except for ignorance, and I am predicting that before the next halving that man will be in jail and this project will be non-existent.

Investing in a project like this would be pretty much like going to the casino and throwing all your money not on black or red but on number 7 alone. Good luck is all I have to say.

Bad Things About Tron

TRON is a project that used to have a pretty decent standing in the market until last year. Over the last year there has been several developments that made this project look like a complete joke. Here are a few reasons why this project is bad in my opinion:

  • Tron is another carbon copy of Ethereum that tried to jump on board with the buzzword of “Third Generation Currency” but has had little impact on technology development
  • TRX is also led by a man-child, Justin Sun, who thinks if he screams loud enough, people will listen and like his project. There have been countless circumstances of this guy that yell suspicious like creating announcements of announcements, potentially being arrested in China to being “sick”, canceling a lunch on Warren Buffet because he was not allowed to leave his country, and many more things that just happen month after month. It is never ending with this dude. I do not have time to list everything that this joker does
  • Purchased BitTorrent and then practically has done nothing else with it to progress the market. It was more a marketing scheme which went successfully no where afterward
  • Again purchased Steemit and now is trying to merge it with Tron while taking over the chain effectively. Might piss everyone off along the way? But this is yet to be fully concluded. Either way, not looking good for the Steem community. Conform or die seems to be the theme

Tron Fails as a Crypto

Tron had potential, HAD. Now it honestly is just another stupid project that is trying to purchase it’s way to the top instead of actually bringing VALUE to the eco-system. No one needs TRON, and ultimately no one will use it when there are so many better options available on the market. All the while you have real projects like Ethereum, Cardano, and even EOS building an eco-system of sustainability around their main projects. Clear differences in what these projects value versus what Tron values.

Bad Things About Stellar

Next on the chopping block is the lesser known project Stellar. First on the list not to require or deem itself worthy of public shaming, but there are a few things to consider.

Instead of a running list for this project, we are going to approach this one more reasonably without running at it with the ax swinging.

Jeb and Stellar

This project first off, is not a bad project. It has a decent business model behind it, but it’s purpose is the reason it has made it onto my list today. You see, stepping back to 2013 and 2014, there was a man named Jeb McCaleb.

This fella is a piece of work. Brilliant as he might be, Jeb actually helped start and was one of the founders of Ripple, XRP, which is the top third cryptocurrency.

Well as the project (XRP) progressed, Jeb got unreasonable with his cohorts even so much as bringing his girlfriend into board meetings and into the office to start bossing other people around. Long story short, Jeb staged a moment in a board meeting where he wanted the CEO at the time to leave or he would. To his surprise, everyone at the table had the other guy’s back. No one asked Jeb to leave, but he did. Thrown out of his own company in a sorts.

Storming out and taking a break from the world to go surf the waves for several months, Jeb returned to the crypto world and created none other than Stellar. Stellar just so happens to be an almost copy of XRP with the same exact purpose as XRP. The only real difference is in philosophy. Instead of a token sale, Jeb and the Stellar team decided to airdrop all of their tokens similar to launching a free IPO. With some funding from people at Silicon valley, his new project soon took to the charts.

Although as we have seen over the years, Jeb loses sight on his projects. Even before XRP, Jeb was involved in the infamous Mt. Gox scandal. If you know about Mt. Gox, then you probably already don’t trust this guy.

Stellar Result

For the main reasons that the person behind this project is highly unstable, has a short attention span, and the project really brings nothing new to the market or adds any value, I deem Stellar a bad project. I hope that all makes sense. You might still make some money on the project, but you might as well invest in a crypto index fund at that point and just ride the waves with Jeb. Because that is all this project will be doing.

Bad Things About Bitcoin Cash

Last on the chopping block is the runner up scam to BSV, Bitcoin Cash.

Ironically, most of the points I made about BSV also apply to Bitcoin Cash except for a few things. Bitcoin Cash has a more reasonable following, a stronger hashpower, and has occasionally made some decent developments. In addition, BCH is not the worst project, but here is why I think it is still a bad project.

BCH is merely a transformation of Bitcoin Core even now, and that really is not needed in the market. We already have Litecoin which is the silver to Bitcoin’s gold, so we really do not need BCH for anything. In addition, the leadership behind the BCH project is not very stable consider the massive fallout with the BSV project in 2019. BCH is led by the proclaimed “Bitcoin Jesus” Roger Ver. From Roger there have been some questionable marketing tactics. For instance, the team behind BCH ended up purchasing Bitcoin.com. Not a bad marketing idea to promote their product, except that their project is not Bitcoin.

But they want to say their project is Bitcoin, which is a lie.

Bitcoin Cash Scam

Their project is a fork of the original Bitcoin core blockchain, and therefore it already misleads people. On top of this, Roger Ver took the deception to the next level by prying on new crypto investors. On the Bitcoin website, new investors were prompted to purchase Bitcoin if they wanted to. Upon doing so, the investors were lead into a trap and faced with two purchasing options.

  • Buy Bitcoin
  • Buy Bitcoin Core

Clearly, the investors were looking to purchase Bitcoin, but thanks to the deception, these investors ended up purchasing Bitcoin Cash instead which ruined their experience in the crypto market right away. Clearly, the reason BCH is here is for the lack of trust, lack of value added, and lack of purpose down the line.

List of Bad Crypto Projects

Here is my list of the top worst crypto projects. You might agree with it or fully disagree with it, that is up to you! Invest wisely though and at a minimum take some of the facts into consideration before putting your money in any of these projects.

Welcome to our series Ethereum from the Ground Up.  Throughout the course of this series, our desire is to explore the underpinnings of the 2nd largest cryptocurrency on the market. 

Ethereum learned a few important lessons from Bitcoin and was the first revolutionary cryptocurrency to feature a Turing-complete blockchain.  We’ll get into more of the application-level details in later weeks. But for now we first need to establish a solid foundation in the basic elements of Ethereum.  After discussing the atomic elements, we will be able to build our understanding and fully appreciate the system as a whole, including the facets Ethereum users encounter on a daily basis.

            Last week, we took the time to focus on two important facets dealing with how elements interact in Ethereum.  We began with state transition functions, which deal with how both world and account states change as a result of transactions taking place.  We also looked at code execution related to smart contracts.  This EVM code is similar in many ways to a standard machine language and allows extensible instructions to be written and executed on the blockchain.

Ethereum Core Elements

            To finish up with the core elements of Ethereum, it’s time to discuss the blockchain and how mining works.  Let’s start with the blockchain itself.  Note that Ethereum has been planning for a couple of years to release ETH 2.0. ETH 2.0 is the second generation of their blockchain which incorporates a proof-of-stake (PoS) algorithm instead of one related to proof-of-work (PoW).  The deadline has been pushed back but is planned for release in July 2020.  As of now, this doesn’t mean that ETH 1.x will be dead anytime soon – and who knows, there may be a fork and another Ethereum-based token will enter the network.  We’ll discuss ETH 2.0 closer to the end of this series, but for now just keep its eventual launch on your radar.

What is Blockchain

            Alright, back to the blockchain.  For those who may not be familiar with this concept, a blockchain is basically just what its name implies – a chain of blocks.  Generally speaking, a block is a collection of data that is chained together in some fashion to the block both before and after itself (usually through the use of cryptographic signatures).  This chaining is a critical part of ensuring the reliability of the blockchain – if a malicious actor could insert itself and modify a random block in the middle of a large chain, there would be no way to validate all data transfers that have occurred up to the present block.  These structures are rarely relied upon for data secrecy but are more often trusted for data authenticity and integrity.

            The Ethereum blockchain mimics that of Bitcoin in some regards but provides several key improvements that greatly enhance both ease of use and efficiency.  As a matter of fact, if Bitcoin were able to employ the methods that Ethereum uses, a node could realize between a 5x – 20x savings in storage space.  Why?  Ethereum doesn’t require a node to store the entire blockchain history.

            But how can you validate a transaction if you can’t validate that everything that preceded the transaction was correct?  Herein lies the genius of Ethereum:  the blockchain itself isn’t used exclusively as the means by which the correctness of previous transactions is proven.  Ethereum uses a separate structure (a modified Merkle Patricia tree) that maintains the world state at any point in Ethereum’s existence.  When Ethereum stores a block on the blockchain, more than just a list of transactions is stored within the block.  The block number, the difficulty, and the most recent state (from the aforementioned tree) are included within the block itself. 

Modified Merkle Patricia Tree

            It seems like this would be really inefficient…the entire state is stored in each block?  Here’s the beauty of the modified Merkle Patricia tree – only a very small part of the tree itself changes as a new block is added to the tree (for most blocks, there are occasional exceptions).  This means that only a very small fraction of data needs to be included in the block in order to capture a seemingly large amount of data. 

This is where the space savings of Ethereum’s blockchain vs. Bitcoin’s comes in – you don’t necessarily have to store the entire blockchain on a computer to validate future blocks.  Data is stored on the tree only once and can be referenced twice using hashes of the subtrees (children to the current position on the tree). 

            Before we get to mining, another perplexing matter arises with smart contracts – “where” exactly is this code executed?  Obviously, the contracts themselves live on the blockchain (and not on the Merkle Patricia tree), so it would make sense that they would have to execute on the blockchain – but how? 

Remember state transition functions from the last article in this series?  The actual execution of contract code is part of the state transition function (which itself is a part of the algorithm used to validate blocks).  This means that if a transaction is placed into a given a block, any node that downloads and validate the block will execute the code.  And it’s not just a one-time thing – the same code can be redownloaded and revalidated at any point, allowing for the execution of contract code in the future.  Pretty cool!

Ethereum Mining Difficulty

Alright, on to everyone’s favorite topic – mining.  How does mining actually work in Ethereum?  Let’s start with mining as a basic, generic concept first.  For a node to “mine” a cryptocurrency, the node basically needs to form a block of transactions, validate them, and add them to the blockchain.  It might sound pretty simple, but there’s quite a bit going on here.  Anyone can join in the action and mine Ethereum, but to actually profit from the work (i.e., the amount of Ether you own is more than the amount of energy you consume to solve the PoW problem) requires very calculated steps.

Just like Bitcoin, the difficulty in solving for the next block on the blockchain is related to how much total computational power (or the total hashrate) is currently on the network.  This means that as more and more nodes enter the network and increase the total hashrate, the difficulty goes up to keep the output block rate at a near constant. (The Ethereum network puts out a new block every 12 seconds or so)

Miners have the option of choosing which transactions to put into the next block they are attempting to solve (which means that most miners will attempt to include transactions with the highest transaction fee).  Remember that the goal here is for miners to solve a very difficult problem (hence providing a proof of their work as the name implies) that is easy for others to validate afterwards to prove that the mining was indeed correct.

Ethash Algorithm

While Bitcoin uses the hashcash algorithm for miners to prove that they have provided a proper hash for a block, the Ethereum network instead opts for the ethash algorithm.  There’s a method to this madness – the Bitcoin is nearly dominated by miners with super powerful rigs and purpose-built computing platforms (which incorporate Application Specific Integrated Circuits or ASICs). 

This essentially breaks the entire “decentralized” paradigm by allowing a few large miners to take over almost all of the mining.  They have the most power available with purpose-built hardware (i.e., ASICs) not easily available to “normal” users of the network.  For this reason, ethash uses an algorithm that makes it nearly impossible for dedicated ASICs to mine new blocks.  And, as we mentioned at the top of this article, companies have little incentive to begin designing Ethereum-specific mining hardware since Ethereum 2.0 plans to move the entire mining process from a PoW to a PoS paradigm. 

POS Paradigm

It may some time before the new PoS paradigm comes about in full force, but let’s take a brief glance into the future to see how this would work and how it compares to Ethereum’s current mining architecture.  Currently, anyone in the network can deploy hefty mining hardware and proceed to validate more blocks due to the shear heft of their hash rate. 

The energy consumption in this setup increases quite drastically as more and more CPUs and GPUs are utilized to mine blocks.  In a PoS system, your effective “hash rate” comes from the amount of stake you have in the network (in other words, how much Ether you own).  Different block validators take turns on voting which blocks belong on the blockchain; validators with more Ether get more of a say as to which blocks are added. In addition to significantly reducing the amount of power needed in the network overall, there will be fewer concerns for centralization and an increase in security. 

Learn More On Eth Blockchain

Curious to learn more about the topics we’ve discussed above?  Take a look at a few of these articles for more information:

Well, that’s all folks!  Thanks again for taking the time to learn more about Ethereum; we’ll see you in the next article!

Welcome to our series Ethereum from the Ground Up.  Throughout the course of this series, our desire is to explore the underpinnings of the 2nd largest cryptocurrency on the market.  Ethereum learned a few important lessons from Bitcoin and was the first revolutionary cryptocurrency to feature a Turing-complete blockchain.  We’ll get into more the application-level details in later weeks, but for now we first need to establish a solid foundation in the basic elements of Ethereum.  After discussing the atomic elements, we will be able to build our understanding and fully appreciate the system as a whole, including the facets Ethereum users encounter on a daily basis.

            Last week, we took the time to focus on what Ethereum is.  This included accounts, transactions, and messages among a few smaller items.  This week, we will take a look at how the elements interact.  There are three major areas to tackle in this sphere – Ethereum state transition functions, actual execution of code in contracts, and the blockchain coupled with how mining works.  We’ll take a look at the first two this week and discuss the blockchain / mining topic next week.

State Transition Function

            Alright, what is an Ethereum state transition function?  Let’s take each word individually and then try to understand what they mean together:

  • State – this represents the current condition or status of the network.  Ethereum has two major states, including world states and account states (which we’ll discuss below).
  • Transition – the easiest way to think about this is the state x converting or changing state to x’ such that .  The element x stays the same, but its current condition has been altered.
  • Function – a function performs the operation of altering the state’s current condition.

So, putting these all together, a state transition function is an operation that transforms the current condition of an entity in Ethereum (in our case either an account state and/or the world state).

            No problem, that makes sense.  But what about the two different states that were mentioned above?  Let’s start with the world state.  The world state of Ethereum is the current mapping between accounts and their account states.  Note that this is not stored on the blockchain but rather is stored in a state tree.  There’s an endless rabbit hole to enter here, but suffice it so say, 1) the world state of Ethereum is always changing when accounts perform transactions, and 2) this ever-changing state is always accounted for in the state tree.  It’s also interesting to realize that anyone can discover the current balance of an account or state of a smart contract by querying the world state tree.  If you really want to know more about this, the Ethereum Yellow Paper has all the details (in excruciating detail, no less 😊). 

Account State

            Now for the account state.  There’s not too much more to say about this than what we previously discussed in the last article.  We mentioned the two types of accounts, externally owned accounts and contract accounts, and essentially their state is just the current data held within the account.  In summary, the world state is based on accounts and their transitions while an account state is only concerned with its own data in flux via some modification.

            We are now ready to discuss the state transition function since we understand both of the aforementioned states.  See Figure 1 below for a depiction of such a function (taken from the Ethereum White Paper):

Figure 1:  Ethereum State Transition Function

Below is a condensed version of the state transition function.  Nerd alert:  the technical depiction of this function is  (similar to our example with x and x’ from earlier).

Function Layout

  1. Check the transaction…
    1. Is it well-formed (i.e., does it have all the values it should)?
    1. Is the signature valid?
    1. Does the nonce match the nonce in the sender’s account?
    1. If these are true, continue.  If not, throw an error.
  2. Calculate the transaction fee (STARTGAS * GASPRICE).  Deduct this amount from the sender’s account while incrementing the sender’s nonce. 
    1. If the sender doesn’t have enough gas, stop and throw an error.
  3. For all of the bytes in the transaction, deduct a certain amount of gas to pay for the transaction.
  4. Transfer the value to the receiver’s account.  There’s a little logic that goes on here:
    1. If the receiving account exists, everything is good to go.
    1. If the receiving account does not exist, create the account (remember, this would be an externally owned account type).
    1. If the receiving account type is a contract, run the contract’s code until it finishes or the transaction runs out of gas.
  5. If something went wrong trying to run this, put everything back the way it was originally (except the miner still gets mining fees). 
  6. And finally, if everything was okay, return unused gas to the sender and send the miner any mining fees accrued. 

That’s basically it.  It’s pretty simple if you look at it in total:  send an amount or run some code, deduct gas as needed, and pay the miner.  Of course, there are always slight nuances to everything, but this sums it up from a high-level point of view.

            But wait, it makes sense to transfer Ether from one account to another, but what does it mean to run code in a contract?  Great question and great timing!  You must have known that our next section is going to discuss code execution!

Virtual Machine Code

            “Ethereum virtual machine code” or “EVM code” is the language that powers contracts on Ethereum’s blockchain.  (For those of you computer scientists reading, EVM code is a low-level, stack-based bytecode language similar to machine code used in standard operating systems).  This code essentially runs a while loop (in software parlance) that continues executing the same operations over and over until commanded to stop or return to some calling parent function.  During the performance of operations, the code has access to three locations for storage:

  1. Ethereum incorporates a stack for calling functions just like most programming languages; the stack operates as a LIFO (last-in-first-out) buffer with push and pop functionality.
  2. An infinitely expandable memory base storing data in a byte array.
  3. The contract’s long-term storage (similar to a computer’s hard drive).  These key/value pairs retain information in the contract while the stack and memory are reset after all computations have been performed.

EVM Code Operations

EVM code operations are capable of achieving highly complex functionality but are themselves actually quite simple (if you are at all familiar with standard machine code, you’ll recognize many of the same operations in EVM code as you might writing low-level code for Windows or Linux).  Let’s break this down a little:  a tuple of information (or cluster or structure depending on your programming background) exists in the Ethereum virtual machine.  As each computation progresses, a new index is passed to the virtual machine stating which command must be executed. 

For example, if an ADD is performed, two items are popped off the stack, summed together, and pushed back onto the stack.  For each byte of information processed, the total amount of gas in the transaction is reduced by 1.  As we discussed in the last post, this is a key component in mitigating denial-of-service attacks.  If anyone desired to launch such an attack, it would be extremely expensive from a monetary standpoint and would greatly deplete the resources of the attacker.

What Can EVM Code Do?

Due to its Turing-completeness, the EVM code on Ethereum’s blockchain can basically perform any computation that you could imagine (again, just like the parallels with machine code that we have mentioned).   This means that we can add, subtract, multiply, divide, process complex functions, and even loop over code using jump instructions or references to other contracts.  Luckily, Ethereum’s creators have already answered the question about infinite loops – senders have to set a maximum number of transactions to be performed before a miner ever gets the transaction.  This allows for miners to understand that a process may be excessively long and take steps to fend off what might become an attack on the network.

Learn More About Ethereum’s Functions

            Alright, well there you have it – Ethereum’s state transition functions and code execution, while complex, make sense and enable a very powerful blockchain to perform a host of tasks.  Want to learn more about the topics we’ve discussed?  Take a look at a few of these posts:

In the next article, we’re going to take a look at Ethereum’s blockchain and how mining operations actually take place.  These entities may look similar to Bitcoin’s but have incorporated some changes that make for enormous efficiency gains.  We’ll see you in the next article!

Welcome to our next series on cryptocurrency topics.  As the 2nd largest coin in terms of market capitalization, Ether (the coin, and by association the Ethereum organization behind Ether) is a fascinating development in the crypto landscape.  After having learned lessons from both the strengths and weaknesses of Bitcoin, Ethereum’s main goal is not the provision of another cryptocurrency for exchanging funds in a decentralized fashion. 

Instead, Ethereum’s expressed intent is to “create an alternative protocol for building decentralized applications” upon which Ether is used for completing transactions.  While this may not be quite as jaw-dropping now since Ethereum has been around for close to 5 years, at the time it was a total paradigm shift in view of Bitcoin’s cryptocurrency semantic dominance – crypto is used for monetary exchange, and that’s about it (or is it?).

History of Ethereum

            Vitalik Buterin, the founder of Ethereum, was a programmer who co-founded Bitcoin Magazine.  He kept insisting that Bitcoin needed to have some sort of scripting language included so that he could use the blockchain to develop applications.  He didn’t seem to be gaining any ground with his proposals, so he decided to build his own system.  With a team of developers and many supporters who bought Ether tokens in a crowdfunding campaign, Vitalik’s dream finally came true with the full release of Ethereum in July 2015.

            Alright, that’s some of the history and purpose of Ethereum to provide a background to what we’re going to talk about for the rest of this journey.  In this article and those to follow, we plan to explore the fundamental concepts behind the cryptocurrencies we know and use (or invest in) on a daily basis.  Ethereum is rich with information to provide for plenty of such research.

Building Blocks of Ethereum

Let’s begin with the building blocks of Ethereum.  The very foundational state of Ethereum is made up of objects referred to as “accounts”.  Accounts are referred to by their 20-byte address.  For transitions in the state of Ethereum to change, there must either be a direct transfer of either value or information between accounts.

            Accounts themselves contain four distinct fields:

  1. A nonce is a mashup of “a numberused once”.  This is a counter to ensure each transaction will only be processed one time.
  2. The account contains an arbitrary balance of Ether (discussed below) at any given time.
  3. If this is a contract account (one of two types of accounts also discussed below), the account will have contract code that performs some sort of action when activated.
  4. The account defaults to containing an empty amount of storage but can be filled in as necessary.

If you have any prior knowledge to the cryptocurrency world, I’m sure that you’re aware of Ether – the digital fuel of Ethereum.  Ether is responsible for paying transaction fees in the Ethereum ecosystem.  However, you may not be aware that Ethereum actually contains two separate account types:

  1. Externally owned accounts – these don’t contain any code.  Rather they are simply used to send messages by creating and signing transactions. 
  2. Contract accounts – these accounts contain code that may interact with internal storage, send messages, or even create other contracts.

Contracts

Before we move on, it’s quite essential to realize the way that Ethereum uses the term “contract”.  In this sense, a “contract” isn’t referring to a binding agreement between two parties; rather, Ethereum recommends viewing these contracts as “autonomous agents” that execute code when prodded by messages or transactions and keep track of their own internal information.  If you have ever written software, you may have run across event-based programming or callback functions – this is basically analogous to the way contracts behave.

Accounts

Alright, quick recap since this information can be dense (but so valuable to learn!).  Ethereum is a crypto platform primarily focused on building decentralized applications (dapps).  There are many accounts in Ethereum that contain information and interact with each other using Ether, the crypto token of Ethereum.  Great, so we know what Ethereum is, what it’s composed of, and how payments are made – but how do accounts interact with other accounts?  Sure, Ether is used to pay for transactions, but what is a transaction in Ethereum parlance?

Let’s get our terms straight from the start – Ethereum has both transactions and messages that can be sent between accounts.  Specifically, a transaction is sent from an externally owned account while messages are transmitted between contracts. 

A transaction consists of the fields shown in the diagram above.

  • Each transaction has a recipient.
  • It also includes a signature to identify the sender.
  • The sender includes the specific amount of Ether to send to the receiver.
  • It includes an optional data field just in case (but doesn’t have use it).
  • A value for STARTGAS (discussed in the next paragraph)
  • A value for GASPRICE (also discussed in the next paragraph)

The first three fields are pretty understandable from any type of normal monetary transfer – one identified party sends a specific amount of currency to another specified party.  The optional data field can be used but normally is blank. 

Transaction Fees

STARTGAS and GASPRICE are very unique terms to Ethereum.  Any system of this magnitude on the Internet has to be prepared for a denial-of-service attack of some sort.  These values are used as mitigations to this threat.  A single computational step in Ethereum costs 1 gas (where gas is a fundamental unit of computation).  The STARTGAS value limits the total number of computational steps that a transaction is allowed to take. 

In essence, this helps limit a denial-of-service attack in that a miner knows beforehand how long a specific round of verifications will take and gives a warning in advance if an excessive number of steps has been requested.  The GASPRICE represents the fee that the sender pays for every computation step.  Every byte of transaction data usually requires 5 gas for every byte transferred.  Combining these together, the total transaction fee is STARTGAS * GASPRICE, which is subtracted from the account balance before a transaction ever takes place.  These together limit the damage a potential attacker could incur by taking an ever-increasing amount of Ether for every transaction on the network. 

In essence, an attacker could mount a large attack, but it would be very expensive and naturally limiting.

So, there’s a transaction.  That’s one of the two types of intra-network communications within Ethereum.  How about messages? 

Messages

A message consists of the fields shown in the diagram above.

  • Each message has an implicit sender and receiver.
  • The amount of Ether to send along with the message.
  • The optional data field is just in case (but doesn’t have to use it.
  • A value for STARTGAS (used in the same context as just explained above).

Obviously the fields above vary slightly from those within a transaction, but basically messages and transactions as objects are the same.  The big difference?  The communicating parties – messages are produced by a contract while transactions are produced by an external actor.  During the execution of a contract’s code, the CALL opcode is used to produce a message.  This information is relayed to the recipient in much the same way that a transaction leads to a recipient from an external actor’s initiation.  

What is Gas

Let’s discuss a little more about how gas works.  The idea here is somewhat similar to the transaction market in Bitcoin. If you want to get your specific block validated first, you’ll need to pay a higher price.  The miners within the Ethereum network are incentivized like those in Bitcoin – pay a bit more gas for a specific operation and you’ll likely get your transaction pushed through much more quickly. 

If you’re not in a rush, you can pay a nominal amount of gas and wait until the miners are willing to take up your transaction.  For every block of transactions that is validated by the miners, there is a gas block limit such that a specific block can only contain but so many computations (equivalent to an upper limit on gas within a block).  Miners elicit a fast gas price that will ensure your transaction is pushed to the front on the queue on the network for an increased price; you can also pay a safe low if you have the time.  The standard gas price indicates the average gas price currently on the network.

Ethereum Overview

Phew, we made it through.  Those are the basic elements of what Ethereum is.  In the next article, we’re going to discuss more about what Ethereum does, namely the state transition function and the execution of code in smart contracts.  There’s a ton to dive into, so stay tuned as we continue looking at Ethereum from the ground up.  Want to learn more?  Take a look at a few of these articles:

You made it!  Go take a break, get a drink, and come back to start on the next article – see you then!

A historic day for sure, May 10, 2020, where Bitcoin once again has moved in the opposite direction of the U.S. Federal Reserve. Opposing inflation by decreasing the block rewards once again by half, Bitcoin makes sure the ball is in it’s court as the world’s economic situation continues to worsen.

Let’s take a look at today’s events and what it could mean for bitcoin down the line as well as checking out the message left on the last block mined by the f2pool.

Nothing should be considered investment or financial advice. Enjoy the ride.

Bitcoin Halving

For those that do not know, Bitcoin halves the reward it produces per block confirmation every 4 years. This means that as the miners are hard at work competing to solve the algorithm first, the reward is only half as many Bitcoin as it was from the previous four years. This stays the case for the next four years until ultimately the halving hits again decreasing the rewards.

This does amazing things for the supply and demand of the economic model for Bitcoin and you can read about that here if you want.

In terms of the halving that happened most recently, there were some interesting developments.

The Last Block

In order for the halving to occur, there must be a last block mined! That just so happened to be block number 629,999. This last block was mined by a mining pool named f2pool. Luckily, they were prepared for this epic moment and left us a little message behind to commemorate the final block in memory of the Genesis block mined oh so long ago.

The message was of an article from the New York Times which reads:

“NYTimes 09/Apr/2020 with $2.3T injected, Fed’s Plan Far Exceeds 2008 Rescue”

The article from the New York Times can be found here and is very much a real article published by the New York Times.

While this is epic in itself, it really encapsulates the idea behind Bitcoin. So much so that it is a spitting image of the message left on the Genesis block which reads:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

A clear representation can be drawn between these messages as the community continues its agenda to pursue a monetary policy and digital asset free from governmental control.

The crazy thing is 11 years later and the economy is headed right back in the same direction wince we came. Crazy to think that over time, nothing really changed to better the economic stability of the world.

Moving Into a New Era

While the prior halving lead to extremely exciting times and developments no one could have predicted, we can only speculate what the next 4 years will bring.

Most projects in the top 50 did not exist at the prior halving, and I have a feeling the same may be said in 4 years. Only the top projects will survive that put the decentralized community first, and strive to better the world in some way.

Besides the general market, Bitcoin sure is poised to propel to new highs as the supply and demand model gets squeezed more than ever before. On top of this assumption, we will probably get the first real look at how Bitcoin will preform in a downward economy.

Never before has Bitcoin had to fight its way up in a collapsing economic model, so it will actually be good to see how the asset preforms. While most investors and speculators would assume Bitcoin to preform similar to commodities, it has gone untested at scale.

Only time will tell but for me, these next four years are a time to watch the market closely and see how the digital economy holds it’s own against the world’s teetering scales.

Welcome back to our tour of the cryptocurrency landscape.  In the last post, we discovered Cardano, a self-described “third-generation” cryptocurrency touting robust development practices and a three-fold goal of implementing scalability, interoperability, and sustainability into the current crypto world.  Cardano is quite unique in that it uses a proof-of-stake algorithm (Ouroboros) as opposed to the more well-known proof-of-work algorithms for verification and validation of transactions on the network.  Because of this, there’s no need for energy-gulping machine monsters spitting out hashes faster than a miscreant kid with soap in his mouth.  Instead, Cardano has organized a well-oiled machine of nodes, slot leaders, and methods to govern a sustainable blockchain implementation.  Cardano hopes to implement its own network architecture – RINA – into the space to allow for smarter notification of activities to only necessary recipients.

What is IOTA

            In this final leg of the journey across the cryptocurrency landscape, we’re going to take a look at IOTA.  While the coins we’ve looked at so far have dealt with businesses or personal payments or exchanging money with a friend, IOTA is actually built for…machines to use? 

            Yep, you heard me right.  Ever heard of the Internet of Things (IoT)?  This is a world unto itself filled with microprocessors and Internet-connected devices ranging from thermometers to refrigerators to industrial control systems and beyond.  Machines are becoming more and more autonomous, and as they advance, IOTA hopes to fill the void in microtransactions on a machine-to-machine basis in seeking to enable and enhance a niche, but ever expanding, market.

IOTA is a fascinating cryptocurrency and has so many features to explore that it’s hard to know where to start.  Let’s begin by talking about IOTA’s blockchain. 

Oh, wait, it doesn’t have a blockchain? 

Nope, IOTA actually uses a distributed ledger based on a stream of individual transactions that have been “tangled” together.  And, as luck would have it, this mesh of transactions is known as Tangle.  Take a look:

Figure 1:  A standard blockchain’s bottleneck vs. the IOTA Tangle.
Image taken from IOTA’s FAQs.

Before we dive into the details, let’s talk about Figure 1. 

IOTA Tangle

As can be seen in the first image, a standard blockchain requires a single stream of blocks to be output from a single validation point.  This means that a network under heavy load may experience excessive latency in confirming transactions (and with Bitcoin’s average of 6 transactions per second, it’s easy to see why some validations can take many hours). 

Take a look at how the Tangle differs – there’s no single, synchronous output of blocks.  Instead a mesh of blocks that all refer to each other pass the same validation point but can do so much more quickly.  It’s almost like trying to fit all traffic flowing into New York City into a single lane on the highway – you’ll never get to Times Square (at least not within the next week).  Imagine all of the same traffic on a 27-lane highway though; you could really move a lot of cars at once on a road system that big!

            This is the beauty of the Tangle.  Because it’s distributed and permissionless, the web of transactions (technically referred to as a Directed Acyclic Graph or DAG) can increase tremendously to support a seemingly boundless flow of traffic. 

Tangle Fees For Transactions

In addition speaking of transactions, there’s no fees of any sort to exchange MIOTA (the official name of IOTA’s token).  This means that you could send your friend something as small as $0.01 (a penny in the USA), and your friend would receive $0.01.  Nothing taken out.  No fees removed or retained.  Just money exchanging wallets. 

            But how can this be?  The whole point of miners is to validate transaction on the blockchain – if there are no fees, there is no incentive to validate transactions…?  Yet again, the beauty of the Tangle and IOTA’s methodology at work.  When you make a transaction, you must validate two other transactions that get attached to your transaction.  These in turn get re-validated over and over again leading to a trustworthy exchange of MIOTA among various nodes in the network.  And, counterintuitively, the more transactions that are occurring on the network, the faster the transactions are validated.  This is because there are more symbiotic relationships formed each second that allow for the mutual validation of transactions. 

Tokens on IOTA

            One more thing about the currency itself – all IOTA tokens that will ever exist were already created in the genesis block.  For instance, at the very outset, 2.779 x 10^15 (yes, that’s peta-IOTA) tokens were created and will never be replenished.  IOTA has no native method for “burning” tokens.  Sure, you could send them to an address and never let them see the light of day again, but from a practical standpoint, all tokens that exist currently will forever exist in some fashion within the network. 

            What kind of cryptography is incorporated within IOTA?  A new kind of cryptographic hash function known as Curl forms the basis of block signing.  Curl is specifically optimized for utilization by low-power devices and as such is small and quite efficient.  From a transaction validation standpoint, both computational power and Internet-facing bandwidth constrain the abuse that could be inflicted by malicious actors.  Computational power is constrained by the solving of a random nonce (similar to the way Bitcoin nodes validate transactions).  As more computational capability enters the network, the nonce values can fluctuate to ensure the honest capability far exceeds that of the malicious actor.  Although it continues to grow exponentially each year, bandwidth is a limited resource – it would be next to impossible for a malicious actor to employ more bandwidth than the entire network of honest transactions.

Curl Signatures on the Tangle

            Another important aspect about the cryptography of IOTA is how Curl differs from other signing approaches.  Instead of utilizing elliptic curve cryptography, IOTA instead uses hash-based signatures that claim to be quantum-proof.  The cryptography behind this will be discussed in a future post, but for now, check out this article for a very in-depth look at what this claim means. 

Ultimately, it’s a moot point to claim with 100% certainty that no future quantum computing methodology could break Tangle, sure.  But there are very strong proofs that can be used to show that, at least with the current technology, Curl will be resistant to brute-force attack by quantum computers.  Final answer:  we’ll see.  Check out some of the whitepapers on IOTA’s site – these are semi-scholarly articles that will provide all the details you could want (and hopefully at least most of the answers you’re looking for). 

Vulnerabilities in Curl

One thing to mention before we move on:  researchers at MIT discovered a vulnerability in Curl in 2017 that led to the modification of the signing algorithm.  The hashing algorithm Curl had previously used was found to produce collisions.  In other words, multiple values could be found to produce the same output values such that an attacker could craft a message that would be interpreted as valid after hashing.  Luckily, this problem was responsibly disclosed, fixed, and later updated with no known attacks in the wild. 

            From an investment perspective, what has IOTA looked like in the past few years?  Eh, it’s not been everything that was originally hoped and dreamed.  After a hack of the Trinity wallet used by IOTA and missteps in the overall governance of the network, MIOTA has not seen the rise in market performance other coins have seen.  It’s a bit unfortunate that this is the case as there is no clear-cut contender for the space that IOTA possesses (that of being involved in the Internet of Things and the impressive scalability / unique Tangle design).  Nevertheless, the IOTA team continues development and further enhancements to the system.  With the world of Internet-connected devices growing leaps and bounds every year, it seems like the markets shouldn’t count IOTA out (here’s hoping they don’t experience any more major hacks or blunders).

Learn More About IOTA

            Well, we really hope you’ve enjoyed this 5-part tour of the world of cryptocurrencies.  There are so many other coins out there to explore, but hopefully this laid a foundation to understand a few major players in the space and some of the technological aspects behind how all of this crypto world operates.  Still interested in learning more about IOTA?  In particular, check out a few of these articles:

Now you know everything there is to know about cryptocurrencies, so it all ends here.  Haha, just kidding.  There are so many avenues to explore and details to uncover.  Coming up, we’re going to really dive into the cryptocurrencies we mentioned in this past series starting with Ethereum.  Thanks for reading, and we look forward to seeing you again soon!