An update
The hardest part of writing these blog posts is the feeling that I don’t have enough to write about or that what I write isn’t going to be perfect. I’m becoming more cognizant of these thoughts. Mainly I’ve realized that this need to be perfect all the time (i.e. perfect code infrastructure, code design) serves as my procrastination mechanism and is the biggest obstacle before I take the first step towards whatever I want to build and write. But once I take that first step, I’m off to the races and feel this pressure to keep at a task until its done. I attribute this need to finish everything to when I was younger; my grandma would always tell me that “There are always new things that you have to do tomorrow” as a way of motivating me to finish the tasks at hand.
So what have I been up to? Currently in San Francisco working at ZettaBlock. I can honestly say that I made the right decision working at the startup instead of working at Amazon. One valuable insight it has given me is that I really enjoy working at a startup and having full ownership and responsiblity over a product. Part of what I enjoy is the pressure to deliver. If a deliverable is due next week, then that means it’s your responsibility to get there. In short, I like to “get shit done” and get it done fast. At times I find myself wanting to get more responsibility and work on and lead bigger products and features. I also get incredibly agitated and bored when I’m not working on anything. Another incredible aspect of the internship is the people I work with on a day to day basis. Sometimes I forget how talented and experienced everyone is on the team. During a presentation by Scott (the CEO), I was reminded that my coworkers each have 10+ years of experience leading important Big Tech teams. Youngjae, who I work the closest with, was the frontend lead for the Uber Safety Team. I guess I forget because I have a lot of fun in our conversations and debates over technical details and product design.
In addition to the internship, I’ve met a lot of interesting startup people. I’ve been going to a lot of Happy Hours and Founder Meetups. I vibe a lot with the idgaf energy and this urge to build cool shit. I’ve been attending 8VC Fellowship talks where we get to interact with partners of the fund as well as founders of portfolio companies. During these conversations with founders, I realize that I’m asking more and more questions that are business-oriented rather than technical. I’m more interested in the business (i.e. go to market, complexities in scaling) because I realize now that that’s the hard part. Most technical challenges (unless you’re building something truly groundbreaking) can be easily solved. Business, on the other hand, is more complex in that you need to truly understand your customers and people. Code is concrete whereas understanding humans and their feelings is more open-ended and at times illogical. That said, I feel more comfortable with my technical capabilities. I know that I can build anything as long as I set my mind to it. I feel comfortable learning what I don’t know and excelling at it. My area of weakness is in the business and asking these questions gives me a deeper and richer set of real world experiences that I can learn from.
I have also been trying a lot of new things. One of these things is going to a comedy show. This past week I went to the Chris Rock show and had a fun time. I also went to the MoMa and really took the time to look at and appreciate the artworks and the statements behind them. Here is one of my favorite artworks from the museum I’ve started going on weekly Trader Joe runs to find new items like the spicy dill pickles. I also recently went thrifting and got some cool new fits.
One final update is that I’m developing a love-hate relationship with San Francisco. On one side I love the nature that is meshed within the city. You could, for example, go hiking in a park and forget that you live in a city. This does not exist in New York. Another thing I love about SF is the whole tech community. There are so many cool technical founders here building cool shit. Now onto the downsides. One, I thought it was always sunny in California. This is definitely not the case for San Francisco. Living in the middle of the peninsula, there have been many foggy days which sucks because you don’t know if it’ll be cold or if the sun will come out and make you sweat under you hoodie. Another downside is that despite being “the startup city”, many things just don’t make sense. One for instance is that I don’t have T-Mobile cell service in some places. Another is that you can’t use the Clipper Card (for the metro) to pay for more than one person. One final aspect is that for a city so rich (look at the house prices), there is a huge homelessness and crime problem to the point where it’s dangerous to be walking after 10 PM.
An Op-Ed?
So let me begin this Op-Ed. Why an Op-Ed you might ask? The purpose of this essay is for me to give my opinion and (potentially) hot take on the future of decentralization. Labelling it an Op-Ed gives me more freedom to give that opinion and also opens up the space for other opinions and thoughts that may be contradictory which is desired and would be fun to think through. Another reason for the Op-Ed is because I feel that by writing an Op-Ed I can just give my candid thoughts on decentralization that is rooted in experience rather than by studying all the numbers about the field. What I’m trying to say is that this essay is not giving a definitive answer to what the future of decentralization is (which I don’t think any knows for sure). Rather its giving my honest belief of what we can expect in the future. I hope you enjoy the read and are encouraged to share your own thoughts and opinions on the subject. Let me know what you think at ivanzhangofficial@gmail.com
Can we stop talking about decentralization
This past week I attended a 8VC portfolio company talk given by Scott, the cofounder of the startup I’m working at. After the talk was over, one of the fellows asked: “How do decentralized applications feel about using a centralized data solution?” To provide some context, the centralized solution they are referring to is ZettaBlock (the startup) which provides a centralized data solution for Web3 needs. One obvious use case is the need to query the blockchain ledger (which can be hundreds of gigabytes) in an efficient manner. Given that Web3 companies place a greater emphasis on decentralization, this is a great question. Would using a centralized solution be in direct conflict with their mission of decentralization? For me the answer is complicated.
I don’t believe everything can or even should be decentralized. When centralized solutions are made to be decentralized some chaos is introduced into the system. This chaos is both good and bad. Consider for instance a decentralized organization where users vote to make decisions. Chaos in this system consists of the variety of opinions that user might have. This variety should in theory make each decision more equitable and thought out. Another good chaotic factor is the distribution of responsibility to the people that the decision will impact the most. Now onto the bad chaotic factors. One such factor is that, by requiring input from everyone (in a truly decentralized solution), you inevitablely drag out the decision making process. For decisions that need to be made rapidly, this is a fatal flaw. Imagine if you needed a life saving surgery but approval for that surgery requires the votes of all the shareholders. Then imagine that this approval is needed for everyone requiring surgery. This distribution of responsibility also leads to the classic free rider and classic goods problem where no single entity bears enough responsibility/investment to actually care about the decision or issue at hand.
Given these pros and cons, many decentralized organizations have adopted a hybrid model that merges both centralization and decentralization. Usually this results in a decentralized component (where responsibility is spread far and thin) and a centralized component (where each user has a lot of responsibility). Consider for instance BitDAO which is a decentralized investment organization. It’s governance structure consists of votes for token holders but also the ability to delegate one’s vote. This in essence gives rise to powerful delegates, a centralized group of decision makers derived from the, in theory, decentralized governance. Another interesting example is ENS, the Ethereum Name Service (i.e. think a mailing address/identity provider), which allows users to vote on proposals but also allows them to delegate their vote to other users who have become centralized players in the voting mechanism. Digging even further, most of the voting is done off-chain (as on-chain voting can be exorbitantly expensive). What this means is that users vote on a proposal on a website (i.e. Tally) and then the finalized values of these votes is submitted in one transaction. The kicker here is that these off-chain votes are done on centralized voting platforms which again seems contradictory to the decentralized mission of these orgs. I also want to point out how this dynamic works for the development of blockchains. Blockchain code (i.e. the codebase) for Ethereum is open source and anyone can view, edit, and contribute to it. In theory this decentralizes control of the technology so that anyone make updates but these updates require approval before being passed. In reality, there are centralized groups of people who contribute heavily to these codebases and in turn become the “source of truth”/approval that others rely on and trust. Now before I jump into my thoughts on the conflict between decentralization and centralization, I want to riff a little on some of the parallels that between Web3’s struggle between centralization and decentralization with government.
That Seems Familiar
So what are the parallels between Web3 and the government. One parallel is the lack of voter turnout and the resulting erosion of democracy. In many of our elections, voter turnout is abysmally small. This lack of turnout can be attributed to lack of interest in the government. It can also be caused by a lack of access and voter disenfranchisement. It can also be linked to just plain laziness. And (probably most synonymous with Web3) it can also be due to how the responsiblity/ROI of voting is distributed over so many people that an individual doesn’t have enough responsibility and “stake in the game” to care. So there are many reasons why a lot of people choose not to vote. The same issues challenge many of the decentralized organization of Web3 (DAOs: decentralized autonomous organizations). Taking a step back, we can see why the two (government vs DAOs) face a similar set of issues. Voting for members of government is in essence a decentralized process. When you strip away the centralized components like the committee that organizes votes, the political parties, interest groups, etc., you are left with the process of voting in a democracy. This process is the collection of votes from all citizens that participate in the election. DAOs maintain this decentralized aspect of voting but through what is intended to be a decentralized infrastructure. Whether or not voting is actually done through a decentralized infrastructure is a completely different issue (that I’ve briefly touched upon in the previous section). Now that I’ve outlined the various issues that plague both our current govenrment and DAOs, I’d like to explore how DAOs have dealt with these issues. One such solution has been the delegation of votes which, despite being centralized, puts the voting power in the hands of those who are in theory more invested and knowledgeable of the decisions that are being made. This solutions has clear similarities in the way democracies are run with politicians. Aside from that, DAOs are currently exploring new solutions that have been hinted at in democracies but haven’t been tried. One such solution is the use of tokens to incentive users to vote or keep up to date with the organization. Another subsets of solutions try to tackle the issue between the one-coin-one-vote system and the fact that under this system a large tokenholder can essentially own the organization and its decisions. Through these technical solutions to dealing with the issue afflicting DAOs, developers are also testing solutions to the broader government voter turnout issue. It is incredibly exciting to see what new solutions popup in the space and how these solutions may be implemented to make our democracies stronger (i.e. more voices, increasing the speed of decisions, increasing the stake of individuals in government decisions).
Another tangent I want to dive into is the inherent pros and cons that result from the differing levels of centralization between the Chinese government and US government. The US government is more decentralized than the Chinese government. This might seems confusing at first considering how the US political system is dominated by PACs, Super PACs, incumbents, two major political systems, centralized ownership of media and so forth. But at the end of the day, these organizations are vying for the vote of the citizenry. The opinion of each citizen is independent of these organizations (although they can be influenced by them). In this sense, these votes are the decentralized backbone of modern democracies. This is in stark contrast to the Chinese form of government where Communist party members are chosen by the existing centralized government and then these party members choose new party members. This in turn creates a centralized election mechanism that rejects the decentralized democractic mechanism. There is a case to be made that Chinese citizens still have “a vote” through avenues like protests but the possibility and efficiacy of such protests is up for debate. Without a decentralized voting mechanism that involves all citizens, the Chinese government functions more like a monarchy, with party members being equivalent to royalty, than to a democracy.
However, there are pros and cons to both governments. Let’s begin with the more decentralized US government. One obvious pro is that it, in theory, allows any citizen to express their opinions and provide that input when electing their leaders. This diversity of opinion leads to better and more considerate decisions being made. Another pro is that by giving power to the citizenry, the government is held accountable for their actions. Harmful or hated actions by leaders result in their eviction from the government. In practice, these pros may be eroded by other factors like centralized control of information and lack of voter participation. However, under this decentralized system, there are also many cons. One main con is the fact that it takes forever for any decisions to be made. Bills that are essential or even urgent might take weeks to months to even years before they are even examined or reviewed. By the time these bills are reviewed, they are outdated and might do more harm than good. This is especially true when you contrast the rapid growth of technology and the sluggish pace of regulation needed for new tech. Another con is that even when these decisions are finalized (if ever), their impact is either spread far and wide (so that no one is either pleased or angry with it) or focused on a specific issue (which results in change for a group of people and nothing for rest). This dichotomy of impact in turn incentivizes decisions of the latter category (that impact specific groups of people), this encourages that group of people to keep voting while those who don’t see any impact are largely indifferent. This positive feedback loops continues to incentivize that specific group.
Now lets consider the case of the Chinese government. There are many cons. One is that the government grows detached from the citizenry that they are meant to represent. This means that there is more risk that decisions become more and more corrupted and skew further from what is “good” for the public. Another con is that power and control of the country grows increasingly centralized in the hands of the few which has never played out well for anyone. Another is that decisions become less and less rich and effective considering the lack of opinions and perspectives used to formulate these decisions. The list of cons goes on. However there are some pros. One particularly powerful pro is the fact that the Chinese government is able to iterate faster on their decisions. If they make a bad decision or if that decision leads to unintended consequences, the Chinese President can issue a decree and almost instantly the government shifts to follow that decree. The speed at which the Chinese government’s focus can change is mind-boggling and shockingly compared to the delays we see in the US government. In this manner, the Chinese government is able to “get shit done” and get it done fast.
The reason why I think this comparison between the US government and Chinese government is invaluable is because it poses the question of how we can devise a semi-decentralized system or mechanism that maximizes the pros of both forms of government while minimizing the cons. This tradeoff between decentralization (which creates better decisions and more transparent decision) and centralization (which allows for better and faster delta on decisions) is a challenge that Web3 is facing right now.
My Thoughts
Now finally onto my thoughts of the Web3 space. I will first start by delving into where I think the space is right now and then continue onto what I think the future holds for Web3. Currently the Web3 ecosystem is almost synonymous with cryptocurrencies and the resulting hype and wealth creation and destruction in the space. It would be a disservice to disregard the positive benefit this association has bought. First the hype that resulted from cryptocurrencies (largely due to how the space was presented as a space ripe for a Gold Rush) in turn bought more people into Web3. These individuals include token speculators, Web3 developers, and Web3 investors. With these new entrants, the space was able to grow at lightning speed and the space started to flourish. However Web3’s association with cryptocurrencies hasn’t been all positive. One such example is how the speculation of the cryptocurrency space was carried over to the Web3 space. Many people started to invest in Web3 projects mainly because it sounded good on the surface, it was a Web3/cryptocurrency project, and because they could probably get a quick return on their investments. What was lost was the consideration of the need, viability, and even feasibility of many of these projects. As cryptocurrencies experienced wild volatility, people started to group investments in tokens in the same category as investments in a Web3-related project/product. This erroneous grouping can also be linked to how many Web3 products needed to mint tokens in order to be profitable. This need to mint tokens is often times more indicative of a bad Web3 product that hasn’t seriously considered a working business plan and/or that the project just sucks. Excluding these bad Web3 products, the remaining Web3 plays (like Alchemy) should be largely detached from cryptocurrency and in turn be evaluated as tech companies/startups working to grow and support a new space on the internet: Web3. This persepective means that these Web3 are still risky plays (i.e. on the level of investing in a startup) but not as risky as investing in a token. This detachment is currently being cemented with the crypto bear market. As the bear market progresses, bad Web3 products built on the need to mint new tokens are dying while the Web3 products built on a solid need will survive and thrive. As these Web3 companies continue to grow in the face of a crypto bear market, the divide between cryptocurrencies and Web3 will become increasingly apparent and obvious.
However there are still many challenges that these Web3 companies are facing or will face. Clear challenges include the need for more regulation as well as support for the Web3 ecosystem. These controls will provide clear guidelines for builders in the space. A more interesting challenge is how Web3 developers decide to resolve the tradeoff between different levels of decentralization vs centralization. This tradeoff is detailed in the previous sections where I compare the pros and cons of a more decentralized vs centralized system. Currently many Web3 applications decide to decentralize the crucial/fundamental aspects of their applications while centralizing other aspects to help them build better and more secure platforms. Considering the case of DAOs, voting is still decentralized through different versions of the one-token-one-vote schema but centralized components like voting off-chain or delegating votes provided the necessary speed for these DAOs to actually work and make effective decisions. Also consider the case of centralized core developer teams. A core development team provides the necessary agility and flexibility to make changes to pressing issues. It is scary and unfathomable to imagine a codebase that is wholly managed in a decentralized manner. There are also certain components that cannot be decentralized without rendering the component ineffective. One such component is data infrastructure. Data infrastructure has to be built so that it is sound, fast, and the data is consistent everywhere. This inherently requires a centralized solution. This centralized solution then bears a lot of the responsibility to maintain and perfect the data infra. A decentralized solution imbues chaos into a data infrastructure solution that needs to be stable and that ultimately needs to work. Thus in the future I believe that Web3 applications will grow warmer to and begin to incorporate centralized solutions as they begin to see the need for centralization in some of their operations.
On a final note, I think what we’re seeing in the Web3 is very similar to the period before the dot-com bubble. Before the bubble burst, Internet companies were formed and quickly raised a lot of money just because of the fact that they were an Internet company and the hype surrounding that. Thus everyone wanted to transition to becoming an Internet company because of that. By blindly incorporating the Internet into their operations, these companies didn’t seriously consider why they were using the Internet and how they could best use this new tool. This in turn lead to a lot of speculation and the sidelining of the Internet as a new technology with a plethora of new and valuable use cases. This is what we are currently seeing in the Web3 space. After the dot-com bubble burst, people started to invest in and seriously consider how the Internet could improve our daily lives. Big use cases that started to gain traction include improving communication in all manners between people, the analysis and then utilization of data to improve operations and human life, and the ability to build new and powerful applications through the cloud. This naturally leads to the question: What are the serious use cases for Web3 and how can it improve our lives? This is a question I’m currently pondering and I’m sure many others are as well. Perhaps I’ll have a few answers in my next post.
I hope you had as much fun reading this as I had writing it. Until next time 🐋
P.S. I know this could probably be polished up a bit but I’m just having some fun so cut me some slack 🙃