{"id":20325,"date":"2016-05-30T00:00:00","date_gmt":"2016-05-29T12:00:00","guid":{"rendered":"https:\/\/bravenewcoin.com\/insights\/tau-chain-a-programmers-perspective\/"},"modified":"2023-11-27T15:36:58","modified_gmt":"2023-11-27T02:36:58","slug":"tau-chain-a-programmers-perspective","status":"publish","type":"post","link":"https:\/\/bravenewcoin.com\/insights\/tau-chain-a-programmers-perspective","title":{"rendered":"Tau-Chain – a programmer’s perspective"},"content":{"rendered":"

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\u00a0pre-1965 silver US dimes<\/a>, as geeky as someone creating a blockchain to mine for prime numbers<\/a>, or it could be as convoluted as BitShares<\/a>\u00a0with the many iterations it had over the years (as someone put it – "BitSharesX – An Alt Coin That Is Impossible To Understand<\/a>"). Over the last few months, I’ve been seeing a lot of spam about\u00a0Tau-Chain<\/a>, along with its many extravagant claims, and figured it might be interesting to try to understand it.<\/p>\n

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<\/a>, 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.<\/p>\n

What is Tau-Chain?<\/h4>\n

So, what is Tau-Chain? Well, it’s quite simple, just look at this graph from the founder of Tau<\/a>:<\/p>\n

\"TauChainA simple explanation of Tau-Chain…<\/em><\/p>\n

Okay, it’s not simple at all. This graph represents what sort of confusing things we’re dealing with here…<\/p>\n

From what I gathered looking at the project’s website<\/a>, its whitepaper<\/a>, roadmap<\/a>, some articles on it<\/a>, listening to a LTB interview<\/a>, viewing some other resources<\/a>\u00a0and 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.<\/p>\n

Tau appears to be a new programming language, apparently similar to Idris<\/a>. Unlike most traditional languages most programmers deal with on a daily basis, it is not turing-complete<\/a>. Instead, it is a decidable programming language. What this means is that it avoids the halting problem<\/a>, while still being able to do anything a finite turing machine<\/a> 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<\/a>. On top of that, Tau "has built-in P2P and blockchain<\/a>".<\/p>\n

Tau-Chain on the other hand, appears to be a sidechain<\/a>-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?<\/p>\n

The project also appears to have another component to it – the Agoras<\/a>. As far as I can tell, they seem to be smart oracles\u00a0that 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<\/a>, 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.<\/p>\n

What Tau-Chain promises<\/h3>\n

While initially researching Tau-Chain, one will stumble upon their promotional video:<\/p>\n