Profile picture
Sizhao Yang @zaoyang
, 33 tweets, 8 min read Read on Twitter
1/ What are the open problems in the blockchain and what are some existing approaches to solve these problems?
2/ First, we have to examine the history of blockchain from a technical and also conceptual standpoint.
3/ Bitcoin started with the goal of being a global currency implying that it was going to be the store of value, medium of exchange, and unit of accounts.
4/ The problem is that right now, we're primarily in the store of value era. From a timing stand point economic transactions are primarily done through escrow proxies (ICOs) or high end real estate (people selling crypto and receiving btc).
5/ Crypto has not reached the point of merchant adoption and I would argue that this is normal. @eiaine has an eloquent article which she explains that a currency needs to be HODL and be valuable and then be a medium of exchange.
6/ The currency is very volatile and then because it's volatile, it has a problem becoming a unit of accounts. Meaning you value your house, your car, your coffee in btc and not USD or your native currency.
7/ The problem now with $btc are slow confirmation time, transaction finality time, public transactions, developer experience, governance, consumer experience, organized marketing, lack of programmability, concurrency, and utility for groups of economic verticals.
8/ All these problems are a feature not a bug. This is a result of the technical tradeoffs that $btc had to make:
9/ @ethereumproject came along and had a vision for a global super computer, but the problem they had is that centralized computing on top of existing cloud infrastructure like Twitter/FB was fast and responsive. They had to pivot to another use case
10/ They had to shift more to slow dry law use cases, which is doing escrows on the blockchain, which you know as tokens and ICOs and the second killer use case was crypto kitties, which are virtual goods.
11/ So, the problem now is that a lot of what we use on a daily basis for computing photos, music, movies, text, powerpoint, excel, and aspects of Amazon Web Services cannot run on top of $eth
12/ Added to that are the security problems where a junior developer can nuke $30M USD in 30 seconds. Normally this type of mistakes are just a coming of age for developers because the cost to make mistakes is much lower, but now, the stakes are billions of dollars.
13/ So, we wanted a global super computer and we got ICOs: We wanted a global central bank and we got a secure, slow, and unprogrammable chain. What do we do?
14/ These are the stated problems, what are the solutions in computer science? We have a history of ideas in computer science that were largely forgotten in academic literature:
15/ Some of these ideas are not necessarily forgotten but not as widely distributed. These include graph theory, group shared cryptography, random beacons, formal verification, rho/lambda calculus, zero knowledge proofs, probabilistic and interactive proofs, and object caps.
16/ As we approach scalability problems there are a couple of bottlenecks: proof of work algorithm, trying to reach consensus among all the nodes, privacy for legitimate uses (businesses and individuals).
17/ One approach is to take the principles of a directed acyclic graph. Instead of reaching consensus with everyone, use connected nodes to reach virtual consensus and virtual voting.
18/ This is the approach called DAG, while there's controversy about how secure it is. It's partially the reason behind the price rise behind iota, railblocks, and the buzz about @hashgraph What it promises is to take the academic research about DAGs and apply it.
19/ What happens if you don't need consensus among all the nodes. Instead you have to reach consensus among a random group of miners. Then among the group you do group cryptography. This is the approach of @dfinity building on top of a crypto tech called BLS.
20/ In the past 20 years we've focused a lot on developer usability going from C++ to Python to Node.js, but as we get into the blockchain, but security is becoming more and more important and that's the approach of formal verification.
21/ Formal verification is more easily done in constrained non Turing complete languages that are built on top of lambda or rho calculus two branches of mathematics for building models of computation and logic.
22/ You see chains solving this. Two are based on lambda calculus: $tezos and @cardanocom and one based on Rho calculus @rchain_coop Rho calculus is an extension of lambda calculus that allows for more proofs and reflection.
23/ The other interesting thing about Rchain is the fact that concurrency is built in using mobile process calculi. This means that just like how the personal computer allowed you to execute multiple hardware underneath and be able to swap it out.
24/ Rchain can allow you to execute on multiple substrates allowing for private and public transactions to be hidden through namespaces. Think of it being able to concurrently run multiple blockchains, prove computation, and prove non double spend: rchain-architecture.readthedocs.io/en/latest/intr…
25/ Zero knowledge proofs with @ZcashFoundation was a key innovation that allowed you to prove things about the transaction without knowing too much about the transaction by only focusing on the results of certain parts of the transaction.
26/ Interactive Oracle proofs are another innovation from Eli Ben-Sasson, which probabilistically query the transaction from a verifier. This has better efficiency and still the same general languages: eprint.iacr.org/2016/116.pdf I'm not aware of current coins.
27/ Object capabilities is a security model around actors pioneered by Mark Miller. Global super computers fundamentally need an ACL model that's similar to Unix, but designed for a distributed system.
28/ As we've seen you now see all aspects of data structures coming together to optimize serial, parallel execution and to prove aspects about the blockchain around contracts and around transactions.
29/ This is the aspect that $Eth has not innovated around: Why does this matter? Because developers care.
30/ You could argue that investing in blockchain is not investing in b2b or b2c but really d2d companies. Developers for developers. Just like you saw in the last 30 years the evolution of use cases to create an ecology of programming languages you will see the same here.
31/ From small talk to C++ to Erlang to Scala. You have language design designed to trade off between concurrency, day to day tasks among multiple industries. That is why the Church of computing from imperative and declarative have all come to roost.
32/ That is why non Turing complete languages are a perfectly valid answer. You Because you have distributed transactions across the world and it's all public, you have to dig deep into academic literature to understand the next generation.
33/ In conclusion, you have a number of problems and a number of innovative solutions that were not widely distributed as ideas. Just like how collaborative filtering was invented in the 70s and came to the forefront with Amazon and Netflix. You will see the same w/ crypto.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Sizhao Yang
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!