Discussions at the Web3 Summit included numerous presentations and conversations about blockchain technology. Topics included private computation, crypto-governance, secure multiparty computation, zero knowledge, as well as a host of others.
The two presentations (topics) I found most interesting are discussed in this Part II post on the Web3 Summit.
Privacy: Zero Knowledge Proofs and Their Future Applications
How can we create cryptographically provable privacy? Is it possible to accomplish privacy with blockchain technology? Finally, why should I care about all of these questions and issues?
Below are three reasons why privacy on a blockchain might matter to you!
- Blockchain privacy is broken! It uses public keys which are visible to everyone. If you use blockchain technology for your transactions, all of your activity is visible on the chain.
- Private computation is necessary for Web3. Uber, for example, is a complex system with lots of business logic (like reputation changes) and private information. If you wanted to decentralize it with the blockchain (like cryptocurrency), private information would have to be shown publicly on the blocks. However, with private computation you can decentralize a system like Uber without revealing people’s private information publicly.
- When we have increased privacy, more information shared with amplified value for all concerned. It fosters collaboration. In a world where everything is computed privately, we potentially could experience an increase in collaboration.
Private computations mean that the following are standard components of all transactions on the Internet:
- Zero-Knowledge Proofs
- Secure Multiparty Computation
- Secure function evaluation
Zero-knowledge means that you can prove something without showing the details or anything beyond the correctness of the claim (what’s being proven).
Secure Multiparty Computation (SMPC) involves securing and encrypting data similarly to how a trusted third party works. Instead the third-party-actor in this situation is replaced with a discrete, automatic and secure process of encrypting the information.
How is private computation used?
Let’s examine a couple of examples that demonstrates how private computation can be used in real environments.
Publishers are trusted middlemen with massive access to our private data and we can protect our data by decentralizing them through an SMPC-based auction that enables user data, i.e. user’s identity, to remain private.
Users now can advertise based on private data, i.e. browser history, bank records, medical records, DNA, and such. Protecting private data while allowing it to be advertised increases the user’s reward for sharing data while maintaining that user’s privacy.
This is not necessarily the world I want to live in, it’s a world I’ll be living in.
Algorithmic Redistribution of Wealth
This involves optimizing countries’ bureaucracies to improve government and citizenry welfare functions. In its application, think of how a factory can use algorithms and computers to optimize its operations through implementation of:
- Algorithms (reinforcement learning, control, and optimization theory) to increase efficiency
- Mechanism design (game theory) keeps “players” (the people in a nation) truthful
- Economics (public policy, economics, behavioral economics) to figure out what’s best
- Cryptography (SMPC) to protect privacy
Practical Concerns Involving Privacy Computation
- How do I use SMPC in my decentralized application (dApp)?
- Is SMPC too slow? It is, however, we can probably trust in Moore’s Law (exponential growth in speed for technology as time goes on) for private computation. We can use Trusted Execution Environments (enigma) https://enigma.co
- Will users trust you/your dApp? The more normal, common, and regulated an app is, the more users will trust it.
Given the current examples of private computation applications and the potential challenges, where are we today? Below are items for consideration.
- Private Computation is not the same technology as Private Communication, it truly preserves privacy
- Web3 requires private computation.
- Massive design space will unfold over the next 10 years.
- To apply SMPC we should figure out the function f (the protocol or function that can take user’s inputs or data and maintain privacy) for the applications that we’re building or the specific uses we have in mind.
Blockchain and Ten Years of Standardization Failure on the Social Web
We now know that the history of the Web includes a failure to decentralize information. However, the Web through its use of URLs and HTTP was revolutionary, and it was a big unorganized mess, similar to Vitalik today.
Still corporations saw the value of the Web and wanted to see it built into a robust platform. Driven by their perceived revenue increases via the Web, companies wanted rapid development. Hence, they created W3C to support that development and speed implementation.
Ironically, the Web wasn’t about data really. It was about social factors! All of the platforms that emerged missed one significant item: Identity.
Instead of a decentralized web, we were only provided with an option to signup with Facebook or Google. Web pages represent real human beings with real value and real objects. We connected these worlds making it semantic.
Can blockchains solve this?
We need to be more aware of the notion that protocols are power. Further, let’s not repeat the past with same people that killed the original idea of the decentralized web. It’s in our collective best interest to build more innovation that includes a decentralized web.
With that idea in mind, at what point does standardization make sense? When it’s in the collective interest. This is a very complex contextual decision of power that drives another crucial challenge: Where is the dividing line between standardization and making money from it?
Charismatic leaders need to be removed. They’re necessary at the beginning because they help get initiatives moving. However, corruption inevitably becomes an issue at some point.
For example, W3C was excited when Google joined and supported them. Still the situation didn’t unfold as the W3C expected because Google exerted substantial control over the W3C processes. Ideally Web3.0 needs to avoid:
- Licensing fees
- Centralized certification authorities
- Egos and Ideologies
Realistically we need to build into Web3.0 a direct democracy, including end-users. This could be achieved with blockchain technology because it can be built in an economic model using open source components.