A: Wow our first interview was a huge success, people love your content!

B: I appreciate it.

A: Can we have a follow up?

B: Sure

A: So tell me just on the topic of ETH and ADA.. how do these chains want to approach governance?

B: ETH wants to focus more on centralised governance and Cardano on decentralized.

A: Doesn’t it make ETH centralised?

B: Well not really, smart contracts are still what they are (nobody can manipulate stuff), it is just direction of product is set by Ethereum Foundation

A: Where do they get money for all this stuff

B: Ethereum Foundation pre-mined some funds back in the days, with all the price movement around 4k USD per ETH lets say they are fine for years to come

A: And then?

B: Probably rich investors and founders to develop it further

A: But these investors could maybe want to influence the chain then no?

B: Could be, still Ethereum Foundation will be around it is just that it could be influence-able by whales

A: And projects launching on Ethereum and building like Plasma, Loopring, Raiden Network

B: These are mostly charity tokens… look what prices they have now…there is nothing wrong with charity tokens or support tokens but underlying issue is that Ethereum doesn’t have a treasury system.

A: And on Cardano?

B: Cardano wants to decentralise everything almost to the core… currently treasury of Cardano as of 26th Oct 2021 is around 1.5 bln USD… To suprise of many lots of quality projects and companies are proposing and more and more funding is being made available

A: Will Cardano also want to decentralise core development companies?

B: Yes, including ability to change company developing Cardano, IOHK

A: Crazy stuff…nobody knows Haskell so nobody will change IOHK…

B: You would be surprised, sure Haskell is not a major main stream language but big companies have resources to train or hire Haskell devs

A: So tell me, all this FUD around eUTxO and even not just from non devs but also developers, what is it about, real or not?

B: FUD, let me illustrate this with an example. Imagine you work at google and you developed an amazing thing, you publish a paper and show it to the world.

A: Like what?

B: map / reduce by Google (https://static.googleusercontent.com/media/research.google.com/pl//archive/mapreduce-osdi04.pdf)

A: And?

B: And then you show it to the world and people tell you are an idiot and it processed only one mapping operation per second.

A: Well nobody actually did this with map reduce or?

B: No, that’s true, mainly because it was not in cryptocurrencies but at the time there were actually no libraries or frameworks that could take advantage of this fabulous thing and even if there have been basic libraries, for sure not easy to use.

A: And now we have?

B: Sure, for instance Spark, makes it trivial to work with map reduce

A: Ok, but even devs were taking the mickey out of Cardano, some of them really good ETH devs

B: This is true but do you know https://en.wikipedia.org/wiki/Linguistic_relativity ?

A: No, what is this?

B: It is a notion that your native language affects how you think

A: Ok but what does it have to do with programming?

B: The thing is that programming languages and developers also fall into this trap, their thinking processes are affected by capabilities of the language

A: You kidding me?

B: No, it is for real, this is why some most amazing developers in the world actually recommend learning multiple programming languages, Like one language per year, actually originally Pragmatic Programmer by Dave Thomas (https://www.informit.com/store/pragmatic-programmer-from-journeyman-to-master-portable-9780132100670)

A: So ETH devs only know Solidity or what, come on!

B: No, they often know more but it is said that mostly know imperative programming languages like JavaScript.

A: But JavaScript also has functional parts, right?

B: Yes but not as expressive as others, e.g. I don’t think there is method lifting in to function in JavaScript, hoisting yes but this is something else.

A: Thank God! Keep it simple or?

B: Well, depends, remember learning new paradigms allows you to rewrite your brain and think in new ways

A: Hm.. interesting, so FUD from ETH devs has to be taken with a pinch of salt?

B: Yes, to some extend yes, of course there are exceptional ETH devs..

A: Ok, but who will scale this stuff to millions, come on! Haskell, Plutus, these are good jokes you know…

B: Well for DeFi you actually don’t need many devs, you need about 10 very very very good dapps

A: So quality matters over quantity?

B: Yes, fewer devs but more quality smart contracts

A: How can such quality smart contracts be done? Solidity cannot do it?

B: It can but it is a lot harder, there is no tens of years of tooling support for this language and EVM suffers from some serious design issues

A: Like what?

B: Complex stuff for this interview but generally you can e.g. overflow variables stuff like this

A: So it is harder to write secure smart contracts

B: Yes and worse of all… there are no super mature tools for property based testing for Solidity

A: Well while you were talking and I googled and found: https://repositorio-aberto.up.pt/bitstream/10216/132048/2/441868.pdf

B: Yes, 2020, some things are happening but still not enough and lets not forget this is only part of problem

A: Before we dive deeper, what is property based testing?

B: In programming, you have a couple methods to test, like via main method :), unit tests, behaviour driven tests (variation of unit tests) and property based testing and a formal mathematical proof.

A: Which ones are used?

B: In typical enterprises actually main method :) and unit tests.

A: So nobody does property based testing or formal profs?

B: Well not in web2 companies, no

A: Why not?

B: You can always rollback the code and fix broken state in database if shit hits the fan, so property based testing is not necessary

A: Ok, this is all so abstract what is property based testing?

B: Well with unit tests you usually assert for a function a few conditions like… like add(a, b) so you pass: val a = add(1, 2) and then assert(a, 3), this is flawed, what if your function works fine for 1 and 2 but doesn’t work for -1 and 2.

A: What then?

B: depends but it can be catastrophic

A: And then you rollback the code and fix broken db

B: Yes but it is not too bad if this this is centralised system but what if this is smart contract…

A: Shit could go to millions, we hear about many DeFi and smart contracts hacks

B: Yes.

A: And despite millions of hacks on BSC, AVAX and of course Ethereum it still has almost 0,5 trillion USD…

B: It baffles me as well but it has a first mover advantage and also many Crypto investors are generally very risky investors

A: What if they loose their own money, also then avid supporters of Ethereum?

B: Then they ask hackers to return funds

A: And hackers do?

B: Some do this, yes, funnily enough

A: You can’t really rely on this, right?

B: Yes but ETH developer community needs to go via transformation, too many move fast break things programmers there

A: As we know from corporate culture or sociology in general, cultural changes are actually the hardest among people, right?

B: I think this is super hard, you see this is not only mature tooling problem (this also) but even more mindset thingy. ETH devs actually have programming languages like Reach, Viper to name a few

A: Are they using them?

B: Popularity is growing it is still very far from what it should be for 0,5 trillion USD evaluations

A: So if those risky crypto investors are not scared, who is scared?

B: Did you talk to your mom about putting money into aave or compound and tell her that from time to time money is stolen and no way to get it back

A: Not from aave, come on!

B: No, I mean in general from smart contracts and DeFi

A: No my mom would never trust such a thing

B: Of course not, this is a sane thing to do, we are in crypto bubble, we don’t understand that people wouldn’t trust this

A: We need maturity

B: Yes a lot of it. Cardano’s is more mature but it doesn’t have first mover advantage

A: But Plutus and Haskell…

B: Well, things are progressing in interesting directions recently

A: I know, new version of Haskell will become as easy as JavaScript (rolling on the floor and laughing)

B: No, but there is Plutus and Plutus core and these are completely different things

A: Explain

B: Plutus Core is actually a lambda calculus inspired of ca 15 instructions, Plutus is a Haskell inspired language that compiles to Plutus Core.

A: So it means I can have another programming language which compiles to the same virtual machine?

B: Yes and even some Catalyst proposals (Cardano’s decentralised innovation funds) are trying to address this issue.

A: What languages can easily compile to Plutus Core then?

B: Functionally inspired ones for sure, Scala, Glow, Elm and Reach, where writing DSLs is easy

A: I see you like TLA’s (Three Letter Acronyms), what is a DSL?

B: Domain Specific Language

A: What’s that?

B: Subset of a language to address a problem, kind of declarative programming

A: So Reach and Glow for instance are declarative? Any links?

B: Oh yes! https://reach.sh/ and https://glow-lang.org/

A: But wait, I googled and looked at tutorials and you actually have to forget everything you about Solidity and learn new paradigms anyway

B: Yes, not all Ethereum devs or Cardano devs will like it but at least you cannot complain about 80'ish syntax

A: These languages syntactically look like JavaScript but semantically behave like Haskell / Plutus?

B: Yes, you are starting to understand this very well!

A: But wait… Reach I can see is already deployed and you can compile Reach to EVM but not to Plutus Core. Will they build on Cardano?

B: Well, they want for sure, their founder — Chris Swenor actually has enormous amount of respect for IOG and Cardano’s tech

A: Did they submit any Catalyst proposal or get direct funding from Cardano Foundation or IOHK?

B: They did everything possible but for some reason their proposals directly with IOHK and Cardano Foundation were not successful.

A: Why?

B: Hard to say, maybe price too high, maybe too early, this was back in Shelley era.

A: And Cardano’s Catalyst? https://cardano.ideascale.com/

B: Yes! There is a PoC (Proof of Concept) proposal https://cardano.ideascale.com/a/dtd/Reach-POC-on-Cardano/368725-48088 and Cardano also has proposal to develop Elm -> Plutus Core compiler albeit from a different developer.

A: Wow, 180k USD for a PoC, sounds like a lot.

B: Depends who you ask, I think it is pretty ok considering their track record and their amazing developers, e.g. Jay McCarthy

A: Just googling, this guy is a Scheme and Haskell dev

B: Well, parts of Reach are actually in Haskell

A: But there are no Haskell devs…

B: Well, there are and even more interesting Chris Swenor, CEO is interested in building on Cardano moving forward

A: You know what, I actually talked to a few ETH devs and enterprise dev and they simply do not respect Charles Hoskinson as a Blockchain Architect, guy is a mathematician, he is not a programmer, whole Cardano roadmap looks like this is some waterfall, they should really step by step deploy and learn, iterate, change and learn… basically agile development not waterfall! I mean more on dev side you know and how software is actually developed. Gavin Wood, Vitalik, these are all programmers not mathematicians you know?

B: Blockchain development and agile processes may not be the best fit to be honest.

A: Explain

B: When serious bug happens rollback is not possible or at least not easily possible. You need to hard-fork a chain, huge reputation lost. It is closer to launching a rocket, millions of dollars lost in case of failure.

A: Have you read “Out Of Ether” by Matthew Leising and similar book “Infinite Machine” by Camila Russo?

B: Yes but well where do I start? Well haven’t you actually thought that these books could be bunch of lies to discredit Charles?

A: They were also negative to others Why would they do this just to Charles?

B: There were tensions, founders didn’t agree on many aspects and some things could be … colourised and lied. There is a lot of money on the table, history have been paved with blood, it is not impossible to there are many shady things in those books to discredit Charles. Ethereum community happily shares on twitter quotes from the book that discredit Charles only.

A: Not all discredit or?

B: No but well, people also grow, maybe Charles lost temper a few times but that doesn’t mean somebody is evil to the core or?

A: It is easier to believe he is evil to the core…

B: That’s for sure but you know let’s assume for the moment that he is not a nice person… there are various not nice persons, you can be a scammer, a liar or simple a human that looses temper from time to time.

A: OK…

B: Do you know who Linus Torvalds is?

A: Creator of Linux kernel?

B: Yes, he is actually quite mean as a person, many people say this, looses temper often but nobody would ever say he is not a genius or evil human being. He just doesn’t have a lot of patience and doesn’t accept botched solutions. He is, in addition to linux kernel, he created git source control system.

In addition, in terms of integrity? Neither Charles nor Linus defrauded anybody. Well, Cardano is deployed since 2017 (Byron era), funds that these 3 entities have, 3 — Emurgo, Cardano Foundation and IOHK have been verifiable on chain and while they are depleting, they are depleting very slowly. In fact it is quite decentralised and more and more companies are joining like DcSpark, Mutual Knowledge Systems. New companies are joining doesn’t mean it is always so rosy as opposed to IOG / IOHK doing all stuff, it means there are sometimes tensions and this only shows decentralised ecosystem.

A: Can you show me an example?

B: Yes, you see this FR: on Github could have been actually frowned upon at IOHK: https://github.com/input-output-hk/cardano-node/issues/3247

A: FR: Increase network throughput by Sebastian from DcSpark?

B: Yes, for IOGK devs it is obvious what is written there but they are just finishing Gougen era and next year is about Basho — scalability.

A: I see ETH Maxis use this feature request now to attack Cardano!

B: Sadly yes, but this shows you the power of decentralised ecosystem actually, not ideal but actually ideal because more balanced and closer to the truth also inconvenient truth…

A: Regarding integrity of those all 3 entities in Cardano, so they are not dumping on retail investors and behaving very reasonably? I mean we know what Ripple did to poor XRP investors with massive offloading of XRP over years or?

B: Yes, you see, you don’t have to religious to appreciate Bible, it says: “don’t listen to what they are saying, you will get to know them by their fruits”, in this sense Cardano including Charles, IOHK and others has much better integrity track record then let’s say some other VC chains… (in a sense that it is proven more with time)

A: You mean something like Lindy effect applied to Cryptocurrencies https://en.wikipedia.org/wiki/Lindy_effect?

B: Absolutely. So to come back to the original point, I think ETH community created bunch of lies to discredit Charles. You may not agree but this is what I think.

A: You not playing now who is an angel and who is a devil game?

B: No, but many folks engage in such games and let’s say matters are complex. I think there was enough of incentives from Ethereum supporters to destroy Charles knowing his brilliance

A: A speaking of brilliance, we actually didn’t talk about this at all… Blockchain Architect and no single line of code? Who actually uses things like property based testing. You said in enterprises programmers don’t use this!

B: Lets not say all is black and white, many aspects of Cardano are not property based tested, this would be insanely expensive, ledger rules and some of the most important code is. In terms of Charles I think he is surrounded by many many smart devs and researchers and looking at track record of Cardano chain worked almost flawlessly since 2017.

A: No hiccups, be honest!

B: Tiny ones, on epoch changes yes, once or twice but overall cosmetics, on ETH however you have chain splits… on Solana network stops working, Avalanche had minting bug… Cardano development is slow but methodological

A: You mean recent one, London Hard-Fork?

B: For instance, but actually there were more

A: Shit happens

B: True but you can design your tech that it happens less…

A: How?

B: IOHK invented hard fork combinator (HFC)

A: Hm…

B: It is technology to perform painless hard forks… took only 3 PhDs and 1 year of solid work… Ethereum doesn’t have it, it can be much more brittle on hard forks

A: And it is safer?

B: Much muuuuuuuuuch safer, Stake Pool operators and devs sleep well on those forks…

A: Link?

B: Sure, https://github.com/cardano-foundation/docs-cardano-org/blob/main/explore-cardano/what-is-a-hard-fork-combinator.md

A: You know I forgot to ask you about why nobody does formal verification?

B: A yes, we skipped that, basically it is very expensive!!!

A: Better than property testing and even more expensive?

B: Yes but then you have 100% certainty that a function is really covering all cases

A: Nobody does it right…

B: In special cases it is done, actually a programming language called TLA+ created by inventor of CAP theorem — Leslie Lamport. https://en.wikipedia.org/wiki/TLA%2B

A: Googling, Consistency / Availability and Partitioning impossibility in Distributed Systems?

B: Yes, basically you can have any 2 but you cannot have 3…

A: Sounds similar to blockchain trilemma

B: Very related but in case of blockchains they also run in unstable and adversarial scenarios (Byzantine)

A: Yeah ok but I don’t know any ETH dev or in fact enterprise devs that does this, sounds like academic problem to me

B: Well, in many aspects we are not even asking for TLA+ level of assurance we are asking for property based testing assurances…

A: And how much property based testing covers?

B: In many aspects enough really.

A: I heard that folks like Anatoly Yakovenko (Solana) and Emin Gün Sirer (Avalanche) don’t think this method of rigour is actually really necessary. I remember hearing Anatoly saying that nobody actually does property based testing in companies, let alone TLA+, prof. Sirer was saying something like: “So many academics forget that our goal, as a profession, is *not* to publish papers. It’s to change the world.” To me, while Cardano and Charles are not mentioned it almost looks like they are taking the mickey covertly of them.

B: Yes it looks weird but there is respect for IOHK behind curtains, I would say they just don’t agree if this is really necessary to go so slow and so methodological.

A: Avalanche launched pretty quickly…

B: Yes, quite impressive, they probably worked night and day on this to be honest. Albeit novel consensus they have it patented. For sure great innovation.

A: And Anatoly?

B: He has his own ways, move fast…and…

A: break things?

B: Shit happens, Solana stopped twice yes and was rebooted.

A: How can you actually reboot a blockchain?

B: It is possible but yes it is bit weird you have to coordinate this across multiple validators, if they can do this now why not pop onto the call with other validator operators start messing around with validation logic instead. It raised some valid questions in terms of decentralisation of this project in the industry for sure.

A: AVAX never stopped or?

B: No but there was a double spend — once.

A: Who founded it?

B: Avalanche Labs out of pocket

A: How long was blockchain not functional? I think Bitcoin also had serious issue back in the days or?

B: Actually don’t know, one of chains was degraded or something, details: https://medium.com/avalancheavax/preliminary-analysis-of-the-invalid-minting-bug-bee940cbd9e9

A: OK but they developing fast…

B: That’s for sure but it is also possible to have regression bugs…

A: What is this?

B: Without proper test suite, either unit tests or property based tests new developers to the project but also established ones can introduce bugs

A: Unit tests suits and property suits automatically check the code?

B: Yes, on every build, even enterprise developers do this (unit testing), usually via so called CI (Continuous Integration).

A: We have to wrap up but boy… we need to do it again!

B: Sure, grab me anytime.

Want to support us? Please stake with us (ticker: CRFA) or donate any value to:
addr1q8nq8wdhrpq402qj4hyn5rxn624l0ccua8k3epl2xl3fz57zddeldn7syvs5x2uvuefk66azhr7lelrj423lxapuxkksknwfdj

--

Get the Medium app

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