Showing posts with label Ethereum. Show all posts
Showing posts with label Ethereum. Show all posts

2018-01-08

What crypto projects I'm looking looking forward to in 2018

2017 has been an important day for both Bitcoin and cryptocurrencies in general. While hopefully not as tumultuous, 2018 is looking like it will bring us a lot of interesting innovation in the space. Here are some of the things I'm personally looking forward to seeing unfold in the new year.

ICO Securities


After the SEC's investigative report on The DAO, we have seen a number of companies (mine included) start looking into ICO Securities. This might be a start of a new wave of ICOs that will be bigger than the entirety of the current market.

If a lot of sentiments I've heard so far are to be believed, we might see such ICOs replace traditional VC funding, bring in more traditional investment industry into the market, and get a number of people from various governments to watch closely where this trend will unfold. If properly harnessed, Security ICOs could also drive real-world innovation while providing more sustainable, long-term growth than the current trend of "sell vaporware with hype and turn 100x profit in a few months".

I'm certainly the most excited to see where this trend will go and whether my guesses will turn out to be correct or not...

Lightning Network adoption


In 2017 we got SegWit activated on Bitcoin and a few other currencies. So far it has alleviated a bit of the transaction traffic, but it's nowhere near useful enough to solve the Bitcoin scaling problem on its own. Hence why I'm excited to see if the Lightning Network will be able to deliver on its promises and go mainstream allowing Bitcoin to once more be used for everyday purchases. Betting on SegWit without blocksize increase has certainly been a large gamble that has allowed a number of alts to grow into their own prominence. Hopefully we'll see this year if this bet pays off, or Bitcoin might lose its luster...

Ethereum POS change


The anticipation of Ethereum changing from POW to mostly POS has been heard many times through 2017. We've seen the technology delayed to (hopefully) later this year. If successful, it would make Ethereum the most prominent POS coin out there, possibly driving some people to invest in it for the staking returns. While I'm not sharing the paranoia surrounding Bitcoin's POW (claiming that its energy consumption will continue to grow at a massive rate eating a significant chunk of world's energy production in a few years), it's still a worthwhile experiment to see undertaken.

Interledger, Codius, etc.


Ripple is another company / crypto to look out for in 2018. While I might have my reservations about XRP the currency, I have strong respect for Ripple the network and its creators.

Other than the growth of the Ripple network itself, there are two interesting projects from Ripple Labs that might become more prominent in 2018. The first one is the Interledger Protocol, a protocol aiming to help facilitate payments across different ledgers / blockchains / etc. The second one I was surprised to see the light of day again was Codius (which has been shelved for some time in 2015) - a universal hosting standard for smart oracles.

Ripple Labs is definitely a company that will be doing interesting projects for years to come. It will be interesting to see what they will cook up for us in 2018...

Tether and other fiat IOUs


Tether has been an interesting fiat IOU these past few years. The space itself has been a bit paradoxical honestly - there have been a lot of fiat IOUs on Ripple, but only one prominent IOU on the Omni network and so far not all that much on the Ethereum network. Tether as a currency has been rather unremarkable until it started having some banking problems and despite that its market cap has increased to almost 1.5B USD at the time of writing. This has sparked at least one very prominent Twitter user to start calling it out on every given opportunity.

There are two ways I could see this play out in 2018. On one hand, we might see fiat IOUs to appear more prominently on the Ethereum blockchain (Tether has apparently already made that leap), possibly to compliment the above mentioned ICO Securities. On the other hand if some more paranoid people are to be believed, Tether might turn into another MtGox and implode with such a force as to crash the crypto prices by a lot.

One way or another 2018 is looking like a year where fiat IOUs might become more important in the crypto space.


Government-backed cryptos


For years a lot of Bitcoiners have been stating that some governments should adopt Bitcoin as a national currency. A few years back we saw Canada looking into doing the opposite - adopting its fiat currency into a crypto form with MintChip. Unfortunately, that project went nowhere, but it's looking like this year we might have the next serious contender - Venezuela aiming to launch its Petro.

Petro is designed to be "backed by oil, gas, gold and diamond reserves", making it a bit more of a commodity IOU than a fiat IOU. It might be an interesting experiment, especially if this creates an alternative to the hyper-inflating bolivar accessible to the people of Venezuela. It will remain to be seen whether the government will be able to keep the value of the new currency stable and keep it backed by the natural resources, or will we one day see the currency stop being backed by anything.

If successful, this might be the first time a government-created currency will have to complete on somewhat equal footing to private currencies and digital cats.

Conclusions


2018 is looking like another exciting year in crypto space. We will see how the echos of the prior year will play out, as well as get to experience entirely new developments shape the space. There is never a dull moment in this industry...

2017-12-31

Bitcoin's second near-death experience, aftermath of the scaling debate, the SEC - Crypto year 2017 and what's to come in 2018

2017 has been one of the most turbulent year in crypto history to date. We have seen important changes in technology and the political climate, divides in the community, as well as wild jumps in prices of many cryptos. I would like to take a moment to talk about a few key takeaways from this year and what I think had the most impact on the future of crypto.

Bitcoin's second near-death experience


Bitcoin has been declared dead so many times it has basically become a meme. As of the time of writing, there have been 222 obituaries proclaiming the death of the currency. I'm not here to talk about those, but about a feeling you could get from old-timer Bitcoiners.

I've been in the community since 2011, and I have experienced two moments where Bitcoin's future was uncertain. I came in right around the first notable bubble, when the price soared to the unthinkable... $30/BTC (or about ~$40 in the polish markets). After that bubble has popped, the price began to decline. Slowly creeping down, taking with it confidence of many bitcoiners. At the time nobody could tell for certain what was going to happen - whether the coins will become worthless, or will we see something different happen entirely.

People nowadays despair when Bitcoin drops 30% from all-time-high peak, but back in 2011, we saw Bitcoin go down to about $2 per coin, or a decline of about 93%. The future of the project was uncertain, everyone was depressed, and for me, that was Bitcoin's first near-death experience.

Of course, we recovered. After that, when the next bubble came, you had more confidence that Bitcoin will bounce back. We've seen it before. "There is no bubble like the 2011 bubble" I tend to say.

In 2017, we had to deal with the scaling problem that has been anticipated since at least 2015. We had to figure out what solution might be the best - whether to go with big blocks, or go off the chain. At the same time, we had to anticipate that ever since The DAO and Ethereum's split, any major, contentious change to the Bitcoin protocol would create a similar split. Piled on top of that we had the covert ASICBOOST scandal and over a year of the community being forcibly divided in discussing the scaling solutions.

In other words, the pressure was rising from all sides and something had to give. At the same time, many sides have remained rigid, not willing to make a compromise. Instead we saw warring solutions - SegWit, 2x, UASF, etc. In the end we saw a group trying to reach a solution - "SegWit now, 2x in half a year", which allowed SegWit to activate but would backfire when that second part was to come due.

However, before SegWit could be activated, we had a different fork be proposed - Bitcoin Cash. Increasing the block size and changing a few other things. However, this one didn't wait to reach a majority, instead opting to declare a fork happening and going through with it.

The period following the announcement has been Bitcoin's second near-death experience. The future was once again uncertain - would this split in mining power mean some crazy oscillations in the difficulty? Would the currency retain its value after the split? Would one chain dominate the other and just take over? These were uncertain times in which the altcoins thrived.

The forks came and went, Bitcoin is still around, so is Bitcoin Cash. We now know how Bitcoin responds in this situation, so we will be ready in the future once more. "There is no split like the 2017 split" I suppose?

The aftermath of the scaling debate


Even though SegWit has been activated, we are still seeing a lot of transactions waiting to be confirmed in the mempool. With the lightning network being months away from being ready, it seems the transaction fees will keep on increasing. We can also see an interesting trend lately - people trying to bully companies into integrating the "optional" SegWit into their system to lower fees. It's somewhat disheartening to see. I hope that in 2018 we will see an empty mempool again...

Another important event that took place this year was the failed attempt to follow through with the SegWit2x agreement and the subsequent backlash against the "transgressors". We've seen old-school bitcoiners wanting to change Bitcoin's POW to spite the miners or force various businesses to "sign a very simple pledge that acknowledges that Bitcoin is not ruled by miners in order to be linked from bitcoin.org". Luckily neither of those have gotten any traction and could be written off as a pendulum effect to the SegWit2x continuing up to the 11th hour before being called off.

The last unfortunate aftermath of the scaling debate has been the decisive split of the Bitcoin community. Up until the SegWit / Bitcoin Cash split I had hopes there could be some reconciliation (1, 2). After the scaling debate would be over and the project could be back on track that we could come back together and bury the hatchet. However, once a split happens and both sides survive long enough, there is no going back - there are people financially tied to one end but not the other that understandably won't leave their side. We had some high-profile people supporting one side or the other, and what seems like layers of narrative being spun on both sides (proclaiming something is being implemented because of X, but in reality it's done because of more selfish reason Y, for example - invading Iraq because of WMDs, while in reality it might be because of oil or the like). It's unfortunate that we have failed to keep the community together in the first place and to bring it back together before the differences were irreconcilable...

Here's to hoping we can learn to at least respect and tolerate one another and remember what we were fighting for in the first place...

Crypto securities and the SEC report


The DAO has been an important project that has already shaped the industry despite or perhaps precisely because its failing. It has split the Ethereum blockchain in twine, and this year it has given us something rather unexpected - a SEC investigative report. It concluded that The DAO has been a security, which has had a significant impact on the ICO community. Now you have to seriously consider whether you're creating a security or a utility token when creating an ICO and follow with the appropriate requirements.

This has created a new wave of interest in the community. Some people are embracing being a security and taking a full advantage of that, while others are moving away from being a pseudo-security not to be found guilty of fraud or other regulations.

The crypto-securities have definitely been dominating my conversations over the last months and I have no doubt they will be the big news in 2018. I also heard some rumours from credible sources that at least one notable project has been declared to not be a security, but I can't disclose what it is until some official announcement unfortunately. So there is development happening on both sides of the spectrum, which is always good to hear.

Conclusions


The Bitcoin scaling forks and splits have been a major event in the Bitcoin's history. They have left a lasting effect on the community and technology. This year we have also seen some important report coming from the SEC that has already began to shape the ICO landscape. We are likely to see that become a major influence of what 2018 will look like.

Here's to 2018 and what's yet to come!

2017-05-29

What other cryptos can learn from Ripple

While last week I criticised Ripple's XRPs, we can't equate the whole system to its currency. There are many fundamental features of the Ripple system that other cryptos can learn from. A lot of them are small and obscure to anyone who hasn't had a hands-on experience developing systems on top of cryptos. Luckily enough, that's my speciality.

So here are a few features of the Ripple system that other cryptos can learn from, as viewed by a programmer.

AccountTxnID and Memos


Sometimes you need to send a transaction with some extra data attached. Whether it's an invoice ID, customer number, or some other business-related information, you have some data that needs to go into the blockchain. This will help you keep track of what transaction did what, give some identifiable information as to the origin of the transaction and so on.

Even Bitcoin recognised the need for this feature by introducing OP_RETURN in 2014. Before that, people used to create unspendable transaction outputs that the system would have to keep track of forever.

Ripple already had that at launch in 2012 in the form of AccountTxnID and Memos. The first is a short field, ideal for including transaction IDs and similar short strings. The latter can store a lot more complex data structures - long strings, multiple hex arrays, that sort of things.

LastLedgerSequence


When building a more complex cryptocurrency system, you have to deal with the fuzzyness of transactions before they enter a block. Essentially, when you send a transaction out, you might not know what will happen to it until it either becomes part of a block, or a conflicting transaction becomes part of a block. If a transaction becomes lost in the network, gets stuck in a processing queue, or there is something else wrong with the system, it's essentially stuck in a limbo. It may be confirmed in the next second, it may never be confirmed, or maybe it will take a few hours.

So here's the problem - how do you handle such transactions? You can try resubmitting them if you have the hex representation of them, but that still doesn't guarantee an outcome. You can try double-spending yourself, but then you have two transactions stuck in a limbo. Do you resubmit a different transaction to credit the same person? Then you might accidentally send them the money twice if you're not careful. All of those outcomes are less than ideal.

Here is where LastLedgerSequence comes in. It's a field you can include in a transaction that allows you to specify when a transaction will DEFINITELY fail. You put a ledger number sometime in the future, and if the transaction is not included before that given ledger number, you know for sure it will NEVER be included in a ledger. The transactions are allowed to fail gracefully in a predictable manner.

Data vs Metadata


First generation cryptos are fairly straightforward. A transaction does one thing and one thing only - move money around. If a transaction gets included in a block it means the transfer went through, if it doesn't - it didn't. There are only two outcomes here.

When talking about a more complex system, there will naturally be more possible outcomes. Maybe a transaction got included in a block and it did exactly what it was supposed to. Maybe it got included in a block but failed to achieve anything. Maybe there are different paths it could've taken to get to the outcome, etc.

This is why Ripple transactions have both data and metadata to them. The first shows what a transaction SHOULD do, the second - what it DID do. This allows the transactions to be more complex, while still ensuring that any given transaction call returns all the information relating to a given transaction.

Built-in, dedicated distributed exchange


An efficient Crypto 2.0 system benefits a lot from having a distributed exchange built into it. While some systems like NXT only allow trading a given IOU for its native token, Ripple goes one step further and treats all currencies the same. You can trade any currency for any other, even to the point of undermining the value of XRPs because of it. It is also a very important part of a few other features.

While systems with smart contracts like Ethereum can mimic the functionality of Ripple's built-in exchange, it would be hard to compete with the efficiency of a dedicated exchange logic. As someone who has experience programming a crypto exchange, I can attest that order sorting and matching can be a complex task that would be hard to efficiently execute in a smart contract. Ripple has the strongest distributed exchange that I've seen in any crypto project.

Trades as part of a payment


In a system with multiple currencies, how do you go from having currency A to sending someone currency B? Quite often, you'll have to take that currency to some sort of market, trade it, then use the resulting funds to send the second currency directly. Alternatively, you use some sort of third party to brokerage the deal, take a cut and take its sweet time to get there.

This is not a case with Ripple. A trade can happen as a part of a payment. Sending money from one address to another is just as simple whether you hold the same currency or not. The currencies don't matter, only the value does.


A Ripple payment that can be fulfilled by 4 different currencies

This feature leverages the power of a distributed exchange to its full potential. Everyone has access to the same market and doesn't need to hold more than one currency to transact with anyone on the network.

Atomic, multi-currency transactions


A big issue with transactions that span multiple currencies is the possibility of the transaction failing partially and the funds ending up in some transitory currency. If you're sending USD and expecting them to end up as GBP, you wouldn't want to end up with EUROs. This would be a bad outcome discouraging people from sending more complex transactions.

Ripple solves that issue by forcing every transaction to be atomic. Either the transaction is fully processed, or it completely fails. There is no way to end up somewhere down the middle. Moreover, there is virtually no limit to how complex a transaction can be. You can send out one type of currency, which would take multiple different routes and touching on multiple currencies before ending up at your destination as the intended currency. It is rather remarkable.

The consensus algorithm and predictable block times


Ripple does not rely on a traditional mining algorithm to create its blocks. Instead, Ripple uses a consensus algorithm to issue its ledgers. While the system is more centralised than most cryptos because of that, it solves a lot of other important issues.

First of all, the block times are quite consistent. You know exactly how often they are created and the interval between the blocks is very short and stable. Secondly, the system is more resilient against front running, making the distributed exchange more honest. Lastly, the system in general is less susceptible to market manipulation by the miners - they can't stall certain transactions or oracle data in hopes of manipulating the market and gaming the system.

Conclusions


While the Ripple system has its flaws, it also has a lot of interesting features other cryptos can learn from.

2017-05-14

Another crypto bubble and the rise of altcoin markets - a story in 9 charts

The crypto markets seem to be in another bubble, orders of magnitude bigger than the last. However, this time a lot of the money is flowing into altcoins interestingly enough. How this situation will play out and where the market will stabilise at will be a really interesting story to watch unfold - whether Bitcoin will re-capture the market, or will some other crypto take its place. I would like to take this time to go over some of the history that brought us here however, as it's also a fascinating tale (if you like graphs).

Here is a short version of the story, in one graph by Woobull:
Bitcoin network congestion, market dominance, and altcoin marketcap, by Woobull.


This is a cautionary tale for Bitcoin, but before we can really talk about how Bitcoin might be impacted, we have to talk about some altcoins. So strap yourself in for this whale of a tale in 9 charts...

Story leading up


The story of this bubble really starts around 2015, when some Bitcoin core developers wanted to address the network congestion they saw coming in Bitcoin. This was the start of the Bitcoin scaling debate that gave rise to BitcoinXT, Bitcoin Unlimited, SegWit, UASF, etc. The writing was on the walls - if Bitcoin continued to grow in popularity, soon the blocks would be full and we would have to deal with the consequences. Two years have passed, and no consensus has been reached, thus priming us for the current events.

Bitcoin Unlimited Rally


The bubble proper was started by the disagreement on how to scale Bitcoin. At the moment, there were two major solutions being proposed to address the issue - SegWit and Bitcoin Unlimited. Perhaps tired of waiting for consensus to emerge, perhaps prompted by Roger Ver's ambitions, Bitcoin Unlimited started to rally people behind its hard fork. Those came in two main waves - around October 2016, and March 2017, increasing both node count and number of blocks mined.




The fact that Bitcoin Unlimited was gaining momentum, coupled with rumours of a planned 51% attack to cull a network split made serious waves in the community. We were faced with a real possibility that the network will fork and perhaps split. Every major player was taking sides in the discussion, and the tensions kept rising. The problem got exacerbated by the Covert ASICBOOST scandal. If Bitcoin had a doomsday clock for the network splitting, it would probably be uncomfortably close to midnight.

With the uncertainty of Bitcoin's future and the rising tensions, other events started to take place.

Rise of Ethereum


2016 has been a bit of a rollercoaster for Ethereum. The year started at a sub-dollar price per ETH, reached about 20 USD/ETH due to The DAO, then slumped to about 7 USD/ETH after its hard fork and network split. The new year started on a positive note with a roadmap for the future of Ethereum. ETHs were sitting comfortably at #2 market spot by market cap, increasing a bit with Bitcoin price increases (1, 2, 3, 4) as you'd expect in a calm market.

Then March came along. Bitcoin Unlimited started gaining popularity, and the fear of a potential Bitcoin network split started shaping the market. While historically Bitcoin has been seen as the stable gold standard among cryptos, the safe heaven you'd park your money at if you didn't want to cash out into fiat. However, with the future of the network being uncertain, some people decided to move their wealth elsewhere.

March was the month where Bitcoin slumped and Ethereum was there to pick up the money moving away (1, 2, 3, 4). You can practically see the ~21B USD market cap shifting gently towards Ethereum, giving it a boost from 1.6B USD to 4.6B USD in that month, while Bitcoin went from 20B USD to 15B USD.



In April the Bitcoin situation started to calm down. Bitcoins started to recover along with their market cap going back to 21B USD by the end of the month (1, 2, 3, 4, 5). However, another important development started brewing elsewhere...

Litecoin and SegWit


Litecoin has always been "silver to Bitcoin's gold", its shadow. Sometimes outperforming Bitcoin price increases percentage-wise, but rarely making a big splash overall. Seeing Bitcoin stumble with its scaling solutions, it seized on the opportunity to make a name for itself.

What is important to remember, is that Litecoin can be classified as a "copycoin" - a cryptocurrency largely operating similar to Bitcoin, on a pretty similar codebase with minor tweaks. It's so similar, that by chance or negligence, Litecoin's multisig addresses have the same prefix as Bitcoin. Copycoins in general operate on hype and innovation (real or manufactured) - there are so many similar coins that if you don't stand out from the crowd, you're going nowhere.

While Litecoin did not have the network congestion issues of Bitcoin, it still decided to improve its network and push for SegWit adoption. While it looks like the process started in February, there was a considerable rally for SegWit in late March, as indicated by the sudden jump in SegWit blocks and market activity.



The process was spearheaded by Charlie Lee, the creator of Litecoin. A notable opposition to the SegWit progress were Bitmain and Antpool. Supposedly they were blocking Litecoin's SegWit activation to prevent further SegWit adoption on the Bitcoin blockchain, where they are allegedly profiting from Covert ASICBOOST. After a long ordeal, Litecoin finally locked in and activated SegWit mere days ago.

There have been some other altcoins that also followed Litecoin's SegWit adoption, but their stories aren't that interesting.

The price also reflected that - going from under 5 USD/LTC at the start of the year with about 220M USD market cap, to a high of 35 USD/LTC and 1.8B USD market cap in the recent weeks. While this would normally allow it to take #3 spot on the crypto market cap list, another network had a meteoric rise that came largely out of nowhere...

Rise of Ripple


Ripple has had a mixed reputation in the Bitcoin community. It's the oldest and one of the most prominent Crypto 2.0 networks. It has been caught the ire of bitcoiners in 2013 for being seen as "pro-regulation" during US Senate hearingsdeclared dead in 2014 (Bitcoin has been declared dead over 100 times now), has been fined by FinCEN for Bank Secrecy Act Violations, etc. Ripple Labs have developed essentially a competitor to its own network - the Interledger Protocol.

However, more recently it looks like the company is going back to its roots and focusing on the Ripple network. It stated publishing quarterly market reports on XRPs and talking about its plans for the future. There are more and more news about various banks using its network. All in all, it looks like the market has warmed up to the currency:


While we see a small blip on the chart in early April when it crossed 1B USD market cap, the currency started to enter a meteoric rise around the start of May (1, 2, 3). The year started with a market cap of 220M USD and a price of 0.006 USD/XRP, while currently it sits at 8.4B USD and 0.22 USD/XRP.

Now, let's look at how this all comes together.

Market dominance


At the time of writing, we this is how the market looks like:

#1 Bitcoin - price: 1813 USD/BTC, market cap: 29.6B USD
#2 Ripple - price: 0.22 USD/XRP, market cap: 8.4B USD
#3 Ethereum - price: 90.8 USD/ETH, market cap: 8.3 BUSD
#4 Litecoin - price: 29.6 USD/LTC, market cap: 1.5B USD

Total market capitalisation of all coins: 55B USD, of which 25B USD are in altcoins. This means Bitcoin's market dominance is under 55%, while at the start of the story, it was about 85%:


Bitcoin has historically been the "gold standard" for crypto. The market leader, the first mover, the biggest whale. However, it seems like in this market if you're standing still, you're moving backwards.

Since the start of our story, Bitcoin has periodically dipped in its price, but overall we're seeing all-time high price. The recovery was probably due to people worrying less about the potential network split that might come from Bitcoin Unlimited. Bitcoin is certainly stronger than ever, but there might also be blood in the water - despite the price of bitcoins rising, so too did the altcoin markets grew in leaps and bounds.

Whether this bubble we're in right now (and it certainly has the look of a bubble) will pop hard and the market will rebound in Bitcoin's favour, or whether a new paradigm will be made where bitcoins play less of a dominant role, only time will tell. It is very unlikely Bitcoin will ever sink too deep into the coin list, but if the scaling stalemate continues, Bitcoin's advantage will be eroded over time.

For years one could easily dismiss altcoins as being a fad, nowhere near as mature as Bitcoin. But at some point you have to realise you might have to compete for your top dog spot. We're living in a market that is used to exponential growth, and Bitcoin's market cap is "only" two doublings away from its next competitor.

Conclusions


We are probably in the biggest crypto bubble to date. Not only has once again reached its all-time high price recently, but the altcoins have also grew by leaps and bounds.

In the near future, I would expect some large contraction, especially in the alt market. Litecoin will probably dip back down now that SegWit is activated and its rally is over.

It will be interesting to see where the money will flow if the value of bitcoins will pop - whether people will be cashing out to fiat, or altcoins.

The biggest threat for Bitcoin is still the scaling issue - if that's not dealt with soon, the issue might just go away... along with many Bitcoin users that will switch to some of the alternatives.

2017-03-26

Bitcoin hard fork - if you want peace, prepare for war

Over the last few weeks we had a lot of people discussing Bitcoin forks. Every member of the Bitcoin community is voicing their opinions on the matter, so I figured I'd write down my thoughts as well.

Historical perspective


While the debate has picked up a lot recently, it's by no means a new problem. BIP101 proposed increasing the block size in mid-2015 and BIP-141 introduced SegWit in late 2015. Since then we had a number of projects wanting to fork Bitcoin - BitcoinXT, Bitcoin Unlimited and Bitcoin Classic. This is in addition to things like Sidechains, Liquid, user-activated soft forks, etc.

All in all, we can all agree (well, with some exceptions) that we need to expand the Bitcoin network transaction capacity. We can't really wait much longer - this was starting to be an issue in 2015, and now it has become a necessity.

Bitcoin slowing down


Bitcoin for a long while had the first mover advantage - everyone wanted to get into it, develop on top of the platform, etc. Being in the community early was really fun - seeing the first ATM launch, getting merchants on board, etc. However, nowadays it's a different story. Waiting multiple blocks to get one confirmation, paying over 30 cents in fees, etc. - that's not an ideal situation in comparison to what we saw years ago.

If nothing changes, we'll probably see a lot of the big Bitcoin companies expand or migrate to other platforms. Coinbase already doesn't want to pay the fees by themselves, Storj has moved to Ethereum, etc. With Ethereum's growing market cap, there are only so many reasons to stay with Bitcoin...

The fork


So this brings us to the fork situation. There is currently a lot going on in the community, but from what I can understand, there are two main camps when it comes to forking at the moment - those that want to activate Bitcoin Unlimited and soon, and those that want to get SegWit activated sometime this year.

When figuring out what can happen next, we have to keep in mind the scant few examples we had of contentious coin hard forks in the past.

From what I can tell, Bitcoin Unlimited is heading in the direction of activating its hard fork no matter what. It's ramping up in node and mining power count. It is likely that the node count is fake, and there have been some reports about the possibility of attacks on pools that don't signal Bitcoin Unlimited (by orphaning non-signalling blocks in a minority attack). There is also a concern with miners being blacklisted by the effective monopoly in mining ASICs if they signal SegWit.

Lastly, we need to keep in mind the man pushing for Bitcoin Unlimited adoption - Roger Ver. I'm not going to get into discussing his past or personality (there are plenty of trolls that have you covered), instead, lets focus on one fact - he's an early Bitcoin adopter, and he appears to be loaded. Being able to trade 130k BTC loaded. That's more than 4 times the amount of BTC Ethereum raised during its presale. So my guess is, that he could safely pay out of pocket to fund the forking effort, even if it doesn't make economic sense.


So because of this, I think the Bitcoin Unlimited will activate its fork sometime soon. Now, what will happen next?

The aftermath


It was interesting hearing Gavin's exchange with Matt on whether Bitcoin Core should have an opt-in flag to accept the possible fork or not. It looks like the answer for the time being is "no", which means the repository everyone considers to be the "gold standard" for Bitcoin will not accept Bitcoin Unlimited blocks, causing a fork.

If you want to keep Bitcoin network on only one side of the fork, you have to attack the other side. Whether that is a moral or legal way of handling the situation - it's up for debate. At any rate, 51% attack on the Bitcoin Core side of the fork is a possibility that has to be kept in mind. Luckily, there is "a nuclear option" to defend against something like that - PoW change. Since the vast majority of Bitcoin mining power is in ASICs, any change to the mining algorithm makes all of that hardware obsolete. This will mean that an attacker that has been stacking up on ASICs will end up with a large pile of useless hardware, but also that your honest miners will have the same issue.

So if Bitcoin Unlimited forks and tries attacking the Bitcoin Core side of the fork, it is likely we will end up with a PoW change fork and the unchanged, SHA256 fork. The SHA256 fork will either be kept alive by miners that oppose the Unlimited fork, or it will be left by the wayside as they will realise where the wind is blowing and switch over to Bitcoin Unlimited to maintain some income from their hardware.

Early on, the PoW fork would still be vulnerable to an attack. There are a lot of altcoin miners out there ready to put their CPUs and GPUs to work. Whether they will stand with the Bitcoin PoW fork supporters or be mercenaries for hire by the attackers remains to be seen.

If there is no attack on the minority fork, the Bitcoin landscape will probably be more peaceful, but also more divided. A number of exchanges have already signed a statement on the hard fork matter, and it looks like they will either be ignoring Bitcoin Unlimited, or treating it as an altcoin. So all in all, we'll have the Ethereum / Ethereum Classic scenario once more.

If a fork happens and Bitcoin Unlimited doesn't secure key supporters early on (miners, exchanges, developers, etc.), it is possible it will go the way of Elacoin. A coin needs to be traded and developed upon to stay relevant.

Preparations


Since the fork has not yet happened, there is still some time for preparations. Every Bitcoin business will have to consider the implications of the fork on what they're doing. How will customer BTC balance be handled? How will you prepare for the relay attack? What are the edge cases you need to think about?

Even working for Factom I had a discussion about this issue, and we're not holding BTC balance for our users.

Finally, every Bitcoin user will have to prepare for the fork. Whether you decide to hold onto bitcoins at a responsible exchange, keep it in your wallet, or sell it for now in hopes of buying cheap coins during the turmoil, you should make a conscious decision on what to do, or risk getting some of your coins lost in the process.

Conclusions


Bitcoin needs to address its transaction throughput sooner than leter. It is likely Bitcoin Unlimited will attempt to hard fork soon. The fork will either lead to the community being divided, or an attack on the minority chain to force everyone to switch. The attack will likely lead to another fork and an uncertain future fo the minority chain. Everyone should ready themselves for the fork.

If you want peace, prepare for war.


2016-08-01

Contentious Bitcoin fork WILL create a split

The Bitcoin community has debated a potential hardfork to Bitcoin for over a year now. There have been various solutions proposed to change the hard cap on block size and increase the amount of transactions that can go into any single block.

Leaving aside the discussion as to which approach would be the best for Bitcoin in the long run, we can agree that there is a disagreement on the issue and any hard fork that may happen will not be as unanimous as the previous forks were. Looking at some recent examples, we can expect that any contentious Bitcoin fork will create a split in the network.

Big players can trump forks - Elacoin


Last year Steve Sokolowski shared his thoughts on a Bitcoin hard fork proposal in a forum post. Other than discussing the actual solution, Steve also shared a story of Elacoin's attempted hard fork. Apparently, it was some unremarkable Proof of Work altcoin which activity has died off after awhile. A new developer came in and decided to breathe new life into the coin by creating a Proof-of-Stake fork. A lot of people got excited for the update and the trading volume and price rose back up.

When the fork was scheduled to take place, despite the backing of the community, the developers and stakers, the fork failed since Cryptsy continued to trade the coin without upgrading their daemon. Eventually the hard fork was deemed a failure while the old coins were still being traded.

This brings to mind the famous experiments with five monkeys, a ladder and a banana. People would trade a coin in anticipation of the fork, then ignore the fork and continue trading the coin due to its increased price and volume, completely forgetting why they were trading it in the first place. Classical altcoin speculators.

This only goes to show that big players, even if they are in a minority, can trump developer forks. While a story like this is rather unlikely to happen in Bitcoin, since the coin itself has many different markets and a vast community, we could experience a different problem when a hard fork happens...

New Coke vs Coke Classic - Ethereum


Not so long ago, Ethereum has experienced The DAO debacle, wherein a large quantity of ethers were drained from a high-profile smart contract. This prompted the Ethereum developers to create a hard fork that invalidated the attack. For a few days everything seemed to go smoothly - the majority of the network supported the fork, everyone transitioned just fine and it looked like the network could put the kerfuffle behind them. Then came Ethereum Classic...

Ethereum Classic is, I suppose, an "un-fork" of Ethereum - a codebase designed to ignore the DAO hard fork and continue the network as if it never happened. Whether the developers believe that they are supporting the community that disagrees with the fork, or they just want to make a quick buck, the fact is that the classic ethers (ETC) started being traded on Poloniex, probably one of the biggest altcoin exchanges currently, and now are being actively traded on a number of other exchanges with a current market cap of $200M and 24h trade volume of $65k - forth market cap after Bitcoin, Ethereum and Ripple, and having double the trading volume of Ethereum, second only to Bitcoin...

From a perspective of any Bitcoin core developer wanting to fork Bitcoin, this is probably the worst thing that could have happened in the given situation. Exchanges supporting both sides of a fork can set a precedent of what will happen when Bitcoin is forked in any fashion short of full unanimity. Even if the unforked version of Bitcoin has 1% of its market cap, that's $94M market waiting for an exchange to take their money - it would be the 7th largest coin market, around the halfway point between Litecoin and Dash.

As an Ethereum Developer pointed out in an Ethereum Foundation Skype Chat leak - ignoring Ethereum Classic means there is no money to be made, while embracing it allows you to tap into some "vestigial value remaining from the shared chain history".

Even if any potential fork has all of the support from all of the developers and miners, there isn't much one can do to stop the un-fork, perhaps short of a Coiledcoin-esque 51% attack. Even if networks like Ethereum implemented "the bomb" (a special smart contract that prints tokens out of thin air, intended to kill an un-forked network), a developer could just create another hard fork to disable that code pretty much like the DAO was disabled...

Kill it with fire


So when all is said and done, it looks like the only way to ensure only one version of Bitcoin is around, one would need to reach an overwhelming consensus with the developers, the miners and the exchanges to support only one part of the fork. Anything short of that will create a split network with duplicate tokens being created on both tines of the fork.

To ensure the rest of the network follows suit, someone should put aside some funds and mining power to be able to execute 51% attacks on any un-fork that would start being traded at an exchange. While a 51% attack in normal cases might be in the legal murky territory, perhaps using it to enforce a hard fork might not be seen as an attack on the currency, but as a part of the upgrade process. The law might not catch up to this conundrum for years still.

Conclusions


Anything short of an unanimous hard fork to Bitcoin will most likely result in a network split where both sides of the fork. The split will most likely be motivated by short-term profit to extract some remaining value from the alt-chain. A good way to ensure no such split happens would be to divert some resources to performing 51% attacks on the minority chain and thus causing whatever exchange that tries to trade them to lose money.

Related discussions:


2016-07-18

Transactional currencies - Entry Credits and Gas

DISCLAIMER:
While I work for Factom, the opinions expressed in this piece are, as always, my own.

----

Working at Factom I came across an idea that seems seldom explored in the cryptocurrency space - a transactional currency called entry credits. They operate alongside the main currency of the network, factoids, but while factoids are a fully functional cryptocurrency that can freely circulate in the network, entry credits have a number of restrictions on them:

  • Entry credits are created out of factoids (by burning them) at an exchange rate dictated by the system, but they can't be turned back into factoids
  • Entry credits can be created ahead of time to lock in their factoid-entry credit exchange rate, and used later down the line
  • The exchange rate is tweaked by the system to stabilise the price of entry credits, while still allowing factoids to be a free-floating currency
  • Entry credits can only be spent (burned) to store entries into Factom - they can't be spent elsewhere
  • Entry credits are not transferable - they can only be spent by the account that received them during the factoid->entry credit conversion
These restrictions create a few interesting features for the system that I don't see explored much in other cryptocurrencies:
  • It is possible to put a large amount of entry credit tokens on a hot wallet without worrying much about theft - any would-be hacker wouldn't be able to cash out the stored value, only spend it. This makes production servers much less of a target for attacks.
  • Being able to lock in the price of the tokens ahead of time means companies can budget ahead of time and don't have to worry about token volatility
  • Having the exact amount of tokens in an account, one always knows how many transactions they can perform in the system before running out

Other tokens


While I haven't heard of another currency having the same features, there are some that function similarly.

Most cryptocurrencies adjust their transaction fees on a regular basis to keep up with the price of their coins. This can function as a way to keep the transaction cost stable without trying to control the price of a currency.

Ethereum uses a more formal approach to this with their gas currency. It is separate from their ethers, but you can't purchase gas ahead of time. The gas is used to pay for transactions and operations in smart contracts, but the final cost calculations are more complicated - one can get gas rebates for freeing up memory as far as I heard.

Conclusions


The Factom project might be one of the first projects to implement a fully transactional currency - entry credits. While being a confusing feature for some, it is an interesting approach of stabilising the transaction cost of production blockchain application, as well as limiting the attractiveness of an attack on the production servers.

2016-06-20

Perfection or bust - the rise and fall of The DAO

Full disclosure - I own some ether and I have put some of it into The DAO presale. I don't think it coloured my view of the situation, but I feel it's better to be open about such things.

The DAO has made a lot of waves recently. First - last month when it became the largest crowdfunding project in history, at one point surpassing Star Citizen's 116M USD (although it might be partially due to ETH exchange rate fluctuations). Second time - earlier this week when the DAO was hacked. So lets start from the beginning and have a look at the rise and fall of The DAO.

DAOs, in general


DAO, or Decentralised Autonomous Organisations have been a fairly nebulous concept in the crypto space for awhile. They basically are computer programs that run as an organisation, using its code as law. They can hold digital assets and money that can be spend on various projects, services and other digital assets.

Some have proposed to use DAOs to create a rudimentary self-sustaining decentralised organisations. Such programs would actually use their resources to hire people to improve them. I've heard this concept described first during the 2013's Money2020 Ripple conference, and I would consider BitShares to be one of the first self-sustaining DAOs.

Of course, with the current level of cryptocurrency technology, the DAOs are very limited in scope. They can't be as sophisticated as modern AI running on supercomputers, and since code isn't lawfully binding - the various DAOs have to rely on humans to interface with the outside world.

In theory, DAOs could create a lot new jobs. As @aantonop put it though:

TheDAO will create many jobs. First for people like me who have to explain what the hell it is.

The DAO


The DAO (holding a very generic "temporary name", which it probably won't escape from), created by Christoph Jentzsch, the founder of Slock.it, was set out to be one of such self-sustaining DAOs. It was set up to be a quasi-venture-capitalist-fund. As with many token crowdsales, it was skirting the borders of the law - allowing anyone to invest, not doing any KYC, promising "benefits to the DAO Token Holders", without outright selling securities.

The project had support from a number of high-profile members of the Ethereum Foundation

The DAO started operations by selling its tokens for ETH. The promise was that later the ETH would be used to fund various projects and try to extract value from those projects to the DAO itself. The DAO also had a mechanism to upgrade itself to newer versions of the code. The entire process of both spending money and code upgrade would be governed by the token holders voting. Every vote would be proportional to the amount of tokens held.

By the end of the crowdsale, The DAO has raised 8.26M ETH, more than 10% of the total coin supply.

In theory, The DAO could've been a very strong player in the crypto space. Even if it would spend 10% of its funds just funding early stages companies, it could give out 100k USD to 100 different companies and probably have great ROI by the end.

However, there was a bug in the code...

The exploit


Around 2016-06-17, news broke that The DAO's balance was being drained. Quickly there was a call to all exchanges to stop trading the tokens and Ethers while the situation is being resolved.

As it turns out, The DAO had a small bug in it (discussion, technical overview). They managed to make a recursive call to a function and use that exploit to start draining The DAO of its ETH. Before the attack stopped, 3.6M ETH was extracted, worth about 50M USD give or take 20M due to wild price fluctuations.

The attack stopped around the time Vitalik released a blog post about how Ethereum will be handling the exploit. In the end it was decided that Ethereum will not roll back, instead creating a soft fork preventing the drained ETHs from being spent. The coins would also apparently be reimbursed and everyone that put their money into The DAO would be getting it back.

The following day, we actually got a statement from "The Attacker" about the issue, claiming that the draining of ETH was legal and in accordance to The DAO's rules ("code is law", therefore any execution of the code is always as intended). The Attacker also threatens legal action against any attempt to freeze the drained ETH. If such a case ever made it into a court, it would probably be the most important precedent for the future of decentralised organisations as a whole. Only time will tell where the story goes.

Other criticism


If The DAO has not been taken down by this exploit, it is entirely possible we might've seen a lot of other problems crop up in the future. Here are just some of the possible issues and other ideas that would need to be considered.

Setting a precedent for Ethereum. The way Ethereum handles this exploit may affect how similar future problems would have to be addressed. If they go through with the blacklisting, they might be required by law or asked by the community to do the same in the future for a lot of other things. This can open up a big can of worms. However, if they don't, then they might scare off any other similar projects from using the platform, along with some of their users. Damned if you do, damned if you don't.

Voter apathy. If The DAO would have a large amount of users sitting idly on their tokens rather than voting with their money, the software might have problems reaching the needed quorum to do anything. Apparently in Bitshares, only about 10% of stakeholders participate in voting. Perhaps switching to a Delegated Voting model might help alleviate the issue.

Unexplored legal area. The DAO seems to have aimed to exist in an unexplored legal area. It operates like a security or a venture fund without doing the due diligence. It technically cannot be sued, but people that put money into it might face legal repercussions. All in all, it probably would give any lawyer and government official a headache to try framing it in the existing rule of law.

Lack of KYC. While a lot of people in the crypto community want the government and regulations as far from their projects as possible, some oversight might deter attackers. If every investor in The DAO would be vetted by KYC first, and if only vetted individuals could hold the tokens, anyone attacking The DAO would have to be prepared to get sued and criminally charged for their actions. Right now the best we've got is to try tracing the ETHs they owned back to an exchange and possibly investigate some Ethreum / DAO short calls someone might have set up before the attack (similarly to the idea of "terrorist insider trading").

Rushed deployment. After The DAO has been released, there have been some concerns from people that the code should've been tested and vetted more to iron out any bugs. A code that holds so much money is a gold-filled pinata for any and every hacker that might try to break it 24/7. Some attack vectors have been published before the attack (description and mitigation). Since the contract is vulnerable right after it's released, rushing a release is not wise.

Any bug needs to be fixed immediately. With a smart contract running on a decentralised network, it is vulnerable to exploits all the time. Any new bug that is found needs to be fixed right away, especially if it is described publicly. With more centralised software, you can at least shut everything down until the bug is fixed, but such luxury would be harder to implement in a DAO.

One mistake and your money is gone. While this one applies to most cryptocurrencies, it also bears mentioning - any bug in the code that breaks the smart contract that holds actual money (in this case, ETH) can cost you everything. If you deploy such a piece of code and send money to it, it is gone and you won't be able to get it back.

There are no rollbacks with real coins. While any contract that issues and deals only in its own tokens can be rolled back to any point in time with a patched contract, the matter is not as simple when we're dealing with actual coins (in this case, ETH). As the native coins exist outside of the contract's controls, using such contracts to manage the coins is more dangerous than just dealing in tokens.

Putting all eggs in one basket. A contract holding over 100M USD is a disaster waiting to happen. At the very least some of that money should've been put in some deep cold storage until it is needed. Enter into some legally binding contract with 50 people if you need to to provide some multisig and keep the funds safe. It's like putting all of your coins into a hot wallet - you shouldn't do that.

Paradox of presales. Even if The DAO would function correctly, it might be a hard value proposition, similar to most other ITOs (Initial Token Offering). Unless you are an actual security / fund and building projects that funnel their earnings into the organisation, the projects that benefit The DAO holders rather than Ethereum as a whole might be inferior to the general use case. There is a lot that the Ethereum platform and anything on it could benefit from, but tying them into one smart contract might defeat the purpose. Since many DAOs want to avoid being labelled as a security, we might just get some weird projects in the end.

Relation to other projects


A few people have started comparing this bug to a few other things in the cryptocurrency space. Perhaps it is important to have a look at them and figure out how similar they are.

In the early days of Bitcoin, in mid-2010, someone found a way to create 184'467'440'737.09551616 BTC (almost 10k times more coins than would ever exist) out of thin air in a so called "Value overflow incident". The bug was fixed and the network was rolled back. The bug is similar - use an unexpected way the code works to get access to more tokens than one should be able to. However, this situation is different as it breaks the core functionality of the entire network, rather than a sub-part of it that is not governed by the protocol. Rolling back the network to before the bug was introduced is entirely justified - it is something that shouldn't have happened. With The DAO, the situation is a bit different - the core network functioned as intended, it is the final product that was at fault.

Another incident similar to this was the fall of MtGox allegedly caused by Transaction Malleability, and the attack on JustCoin with Ripple's Partial Payment Flag. In both cases, the software creators did not anticipate an obscure network behaviour that lead to their downfall. In neither cases did the network got rolled back - it functioned as intended, and to my knowledge neither of those companies got bailed out for the bugs in their code. This would probably be the closest analogy.

The decision to bail the contract out and refund the drained ETH might be either seen as the Ethereum Foundation trying to mitigate the damage to the network's reputation, or it might be due to many of the Foundation members lending their credibility to the project itself. One way or the other, I doubt we would see many similar DAOs in the future with such lineup of big name supporters to mitigate any similar damage in the future.

What is also worth noting is that because of Bitcoin's success, a lot of the cryptocurrency projects may "suffer" from an accelerated growth. There have been many incidents in the earlier days of Bitcoin of people losing their money and it wasn't that big of a deal - the coins were worth only so much. However, with networks such as Ethereum being worth a billion dollars less than a year after release, you have similar high profile bugs, but the coins themselves are worth a lot more a lot quicker. Perhaps we should try stalling the gold rush until a project has been vetted by early adopters hammering out all of the kinks and best practices? It's probably not going to happen unfortunately...

Lastly, if the Tau developers want to brag about how their platform is / will be much better than Ethereum since such bugs can't happen there, it is your time to prove yourself - deliver us your implementation of The DAO in a language of your choice so we can pick it apart and see if it breaks.

Conclusions


The DAO has been an interesting ride. It allowed the ETH to double in value and crash back down. A project of this scope if executed correctly would certainly be a game changer for any cryptocurrency network. Unfortunately, as many have made this joke before, it seems The DAO was DOA (dead on arrival). With DAOs, it's perfection or bust.

Spells of Genesis card for The DAO, reading
"Holding so much energy, the Colossus is able to withstand all threats"...

How Bitcoiners see the situation

2016-05-30

Tau-Chain - a programmer's perspective

EDIT:

After speaking to Ohad Asor, the creator of Tau, about the below piece, it's apparently "blatant obvious nonsense about things [I] don't understand" and "the contradictions are all around. just like eth". The Tau presale was apparently also meant for "only well informed buyers", "i have morals. im not ethereum!".

So yeah, the Tau project is not for mere mortals like myself, and the spam and promotional videos are meant for intellectual elites that will then buy the exclusive tokens. The project looks much better suited for some high-end computer science academia really, but no, token presale is the way to go.

Remember - the Tau is not for you, stupid.

END OF EDIT

Living in the Bitcoin land, you never know what you might come across next. It could be as benign as someone issuing a currency backed by pre-1965 silver US dimes, as geeky as someone creating a blockchain to mine for prime numbers, or it could be as convoluted as BitShares with the many iterations it had over the years (as someone put it - "BitSharesX - An Alt Coin That Is Impossible To Understand"). Over the last few months, I've been seeing a lot of spam about Tau-Chain, along with its many extravagant claims, and figured it might be interesting to try to understand it.

Disclaimer - the project appears to be delving really deep into the theoretical computer science that almost borders on philosophy. While I do have a masters degree in computer science, I can't claim I fully understand some of the topics Tau-Chain touches on or their implications. I will instead focus on more practical aspect of Tau and how it presents itself as a piece of software with practical use.

What is Tau-Chain?


So, what is Tau-Chain? Well, it's quite simple, just look at this graph from the founder of Tau:

A simple explanation of Tau-Chain...

Okay, it's not simple at all. This graph represents what sort of confusing things we're dealing with here...

From what I gathered looking at the project's website, its whitepaper, roadmap, some articles on it, listening to a LTB interview, viewing some other resources and talking briefly to the founder of Tau-Chain, I think we are dealing with two components here - Tau and Tau-Chain. Unfortunately, it seems the people involved in the project like to use those terms interchangeably and confuse everyone further.

Tau appears to be a new programming language, apparently similar to Idris. Unlike most traditional languages most programmers deal with on a daily basis, it is not turing-complete. Instead, it is a decidable programming language. What this means is that it avoids the halting problem, while still being able to do anything a finite turing machine can do. Since in practice we don't have infinite turing machines, from what I understand it should be able to do anything a turing-complete language could do. Apparently, this approach might be more secure. On top of that, Tau "has built-in P2P and blockchain".

Tau-Chain on the other hand, appears to be a sidechain-enabled blockchain that can run the Tau language. It seems to be similar to Ethereum with its contracts - both have a growing library of code embedded in it that anyone can call upon to build their code on. As I understand however, Ethereum's code can be more risky to use as you might not always be able to predict what the contract might do without its source code at hand, while Tau the language is more predictable in its execution?

The project also appears to have another component to it - the Agoras. As far as I can tell, they seem to be smart oracles that can execute various contracts and other Tau code. They appear to be able to interact with the Tau-Chain, as well as with one another directly. All in all, they remind me a lot of Codius, especially if you consider that that project aimed to be able to prove what code is being executed and so on. Not a bad feature, but there doesn't appear to be much new to talk about there.

What Tau-Chain promises


While initially researching Tau-Chain, one will stumble upon their promotional video:

Tau-Chain, solving all of your software development problems apparently...

Which lists a few outlandish claims about what Tau / Tau-Chain can deliver:

  • Software that always does what it is supposed to
  • No more bugs
  • Automatic requirement validation by the Tau client
  • It is impossible to write code that doesn't work
  • Thanks to Tau, the client doesn't need to trust the coder and vice versa
  • The payment for developing code is automatically paid when the code is verified by the Tau network
  • The Tau blockchain stores social norms, scientific theories, "whatever is based on facts and rules" (one example flashing in the video is "Once you start to eat you should never leave spoon, fork or knife on the table. Their place is on the plate.")
  • Tau-Chain code is reusable
  • Tau is a database of provably working code snippets
  • You can use the Tau-Chain to build search engines, social networks, market places
  • You can develop provable smart contracts on the Tau-Chain

As a software developer, I would take all of that with a huge grain of salt. Then again, it might be my turing-complete attitude talking and things might be different in the decidable language space. If this video was talking about traditional software languages, I would put my money on the video being about test-driven development - an approach to software development that starts with test cases (what the code should and should not do), and then developing the code to fulfil those tests. In theory this could mean that the software has no more bugs, it does what it is supposed to and can be verified automatically when new code is checked in. So while it would fulfil most of the listed requirements, in practice I would not expect it to be *the* solution to all problems - writing good test cases can be as hard and time consuming as writing good code, and I doubt 99% of the clients purchasing software would be able to use that. If the test cases aren't sufficiently complex, we might run into the problem of software being built just to tick the checkboxes and not much else. After all, any program operating on a sufficiently small domain could be replaced by a lookup table...

I am also very sceptical of how the software will decide what are the stored facts and how those will be handled and proven. Even more so when we're talking about "facts" about the real world and social norms. How do you prove you should not put used forks on the table, from a software perspective? How do you handle a problem having multiple contradictory answers (an infinite sum of (1-1+1-1...) can be proven to equal 0, 1, 0.5, -0.5, etc...)?

Some other claims I stumbled upon from other sources (1, 2, 3):
  • Tau client's behaviour is dictated on-chain, with the chain being able to hard-fork itself
  • Tau (-Chain?) has no rules at all, its users will set its behaviour
  • Tau does not need a coin, but it has a token presale anyway
  • "Tau network will be able to download virtually the whole internet, practically giving everyone the same information Google has, and more: data can be queried and processed more meaningfully and collaboratively, so you could perform queries as you like."

While there are more claims, lets just limit ourselves to those few (a lot more can be found in the LTB interview).

The Tau / Tau-Chain's feature of embedding how the network operates in the blocks themselves is rather unique feature as far as blockchains go, but at the same time it can be one of the more dangerous thing out there. It certainly offers the network more apparent freedom from Bitcoin-like hardfork stalemate, although in reality Bitcoin's hardfork problems are never about the code being hard to change, but about the people you need to convince. It might also impair some thin clients if they are applicable to the chain (how can you just run the chain from a given length if you don't know what the rules are from all of the previous blocks?). The definition of who the "users" in the system are (one-vote-per-person / machine / CPU?), as well as what the rules for hard-forks will be will probably shape the network very drastically early on. I wonder whether anyone will try to change the code of how the blocks are executed to "stop execution, return 0"...

The token presale doesn't appear to be anything new in the crypto world - it's the paradox of presales all over again. Tau the language and network doesn't need a new coin, it would probably operate better without it, but the developers need money to develop the language / network, so they sell tokens to speculators. Looks to me like another Bob Surplus-esque coin looking for a problem.

As for the last claim, and a few similar marketing blurbs, I think they deserve a section all of their own...

False equivalence, false dichotomy, eating your own dog food


The quote about basically being able to replace Google appears to be a false equivalence fallacy. There are many problems with trying to say you can basically be like Google:
  • I very much doubt the network could handle about 10 exabytes of data
  • Being able to efficiently categorize all of that data requires very smart algorithms and a lot of data. You can't even begin figuring some of the things out without having efficient access to enormous data sets. For example, how would you figure out a search for "high contrast pictures of fruit floating threateningly in the night" (thanks Reddit)?
  • Google is as much about the data (what the websites contain), as much as it is about the metadata (what the people are searching for and what they are clicking). Having just one part of that might not give you the full picture
  • Without having most of the data at hand, it is impossible to know if you returned most of the searched data. While you might be able to make queries based on the data you do know, you can never know how much you don't know
  • It is also impossible to prove that real-world data is correct. Since Tau-Chain is focused on storing "whatever is based on facts and rules", how would you be able to know, say, what is the weather outside right now? Sure, you can have a lot of data points, but you can't prove they are true or made up

All in all, statements like that are just red flags if someone also asks you for money. At best, they are marketing superlatives. So while sure, if we're talking about Tau the language, someone might use it to implement a Google-like service with it and so on, but the same could be said about computers based on cogs and wheels (after all, any turing machine is equivalent to another). All in all - false equivalence - your software is not even comparable to Google.

Now, lets finish this discussion with a subtle false dichotomy. I stumbled upon this marketing blurb about Tau from some of the spam I see pasted in a few chats I visit:


It compares how Tau-Chain is different from Ethereum, and links to a blog post by Peter Vessenes criticising how buggy some of the Ethereum smart contracts can be. He makes a lot of valid points - since you can't upgrade and fix the contract code post-launch, you either need a good failsafe, or write perfect code not to lose people's money. However, what I take slight annoyance with, is how this sort of marketing might misrepresent the situation - "Tau is different from Ethereum, here are a few reasons why. Here is someone criticising Ethereum (while not talking about Tau)", implying that since Tau was not criticised and it is presented as Ethereum's competitor, it somehow doesn't have those flaws. No Tau, criticism of your competitor does not mean you don't / won't have those problems yourself.

Lastly, I find it really amusing that Tau apparently doesn't like the taste of its own dog food - for all of its criticism of turing-complete languages, saying how Tau is a much better language and all of that, in the end they develop their code in C++. I did bring this point up to Tau's creator and he made valid points as to why that is - they want to develop the software in an efficient language to make it operate efficiently and in the future they might implement Tau-Chain in Tau. Understandably, software development takes a lot of resources and time, and you want to release early, release often, but this somehow doesn't fill me with confidence that Tau will be usable for any commercial-grade software any time soon...

Conclusions


While Tau appears to be an interesting development of a new programming language and its creator certainly sounds very knowledgeable in his field, Tau-Chain looks like a project looking for a problem. Bootstrapping a new token to run a blockchain to use a new programming language for smart contracts that don't halt seems like a very complicated way of reinventing everything just because you want to change a few things. I am highly sceptical of how the network will handle everything it promises, especially when it comes to dealing with things in the real world. It could be as mundane as a different flavour of Ethereum with a non-turing complete language, some smart oracles, etc., or something potentially new - only time will tell. Until Tau-Chain is released, I remain unconvinced.

Amusingly enough, the Tau-Chain video contains an Escher-like perpetual motion water mill at 1:40. I wonder if this is telling that the project is trying to invent something impossible?