View this post on the NEAR blog at https://nearprotocol.com/blog/the-beginners-guide-to-the-near-blockchain/
Welcome aboard! This guide is intended to help anyone interested in ramping up on what NEAR actually does. That includes new users, curious community members, prospective partners and new employees. I’ll provide a plain-English understanding of what we do, why we do it, and how you can learn what you need in order to get directly involved.
We’ll keep this guide updated over time as well so you can be sure it’s as current as possible.
My assumption is that you’re familiar with the high level of what a blockchain is (I’m not going to be using any of those block-and-line diagrams here) and you may or may not be deeply technical. You could be a highly technical engineer but you could be a less technical designer or marketer or community manager as well.
So what is NEAR? We are a sharded, developer-friendly, proof-of-stake blockchain. That means we are a highly scalable, low cost platform for developers to create decentralized apps on top of.
Whereas most other “scalable” blockchains use approaches that centralize processing on high-end hardware to provide a temporary boost in throughput, our approach allows the protocol’s capacity to scale nearly linearly up to millions of nodes and billions of transactions in a fully decentralized way. As importantly, we are also fanatically focused on enabling usability improvements for both developers and their end-users at the protocol level so the next wave of apps can cross the chasm to a more general audience that has thus far been unable to consistently work with blockchain-based apps built on today’s platforms.
We have an extraordinary team with championship-level competitive programmers who have built some of the only at-scale sharded database systems in the world and we are backed by the best names in the crypto space. In a space dominated by academic research projects and failures to launch, we are a team well accustomed to shipping.
Why are we doing this? Because this is an opportunity to build the ground floor for a far better Internet which puts the user in control of their money, their data and their identity. With the potential for creating composable open-state services, it’s a chance to kick start the biggest wave of innovation — and business progress — since the Internet.
Let’s back up and assume you’re still getting up to speed on what the heck a sharded, developer-friendly, proof-of-stake blockchain really is.
From 10,000 feet…
We’re basically building the infrastructure for a new Internet which makes it harder for giant companies to steal your data and for bad guy countries to shut it down. People have been trying to figure this stuff out with similar technologies since 2008 but it’s been slow going.
You’ve heard of Bitcoin, that digital currency everyone thinks is only used by criminals and third-world dictators. Well, despite a really bad reputation and a lot of hiccups along the way, ten years later they still haven’t been able to kill Bitcoin so you know it’s built on some pretty resilient technology. We’re basically trying to use that same kind of technology to power a brand new Internet which is just as hard to kill or screw up.
A few other projects, especially one called Ethereum, tried doing this a few years ago and got a really good start but ultimately got totally bogged down in the growing pains of early technology and they were too slow and expensive to get mainstream adoption. Now, a lot of really smart people are working on a way to speed this up and keep costs low while making sure this new Internet is just as hard to mess up as Bitcoin.
From 1,000 feet…
We aren’t the only blockchain taking on the scaling and cost problems but we have a team that’s all aces and we’re coming at this in a slightly different way.
On the similarities side, we’re building a general-purpose platform that allows developers to create decentralized applications on top of it. A decent analogy is that we’re sort of like Amazon’s AWS platform, which is where most of the applications you know and love host their servers, except the NEAR platform isn’t actually run and controlled by one company, it’s run and controlled by thousands or even millions of people.
The Arc of Technology
It’s worth checking in quickly with how we got here because it will help you understand the context of the current ecosystem.
Bitcoin is the original “programmable money” or “digital gold”. It has been doing a pretty good job of fulfilling those functions but its use so far as a more general-purpose computing platform (like we’re building) is mostly an accident. Essentially, developers saw they could hack together some basic programs on top of the limited functionality that Bitcoin provided and they began using Bitcoin as the base for some of these new applications because it’s now highly trusted and secure.
Unfortunately, transactions are very costly and, because this was definitely NOT what the Bitcoin platform was meant for, the functionality is very limited. The platform there is slow (roughly 4 transactions per second), costly, and a massive waste of global energy.
Ethereum, back in 2014, tried to directly address this use case by creating a platform that was, from day 1, intended to use the same blockchain technology to build a global virtual computer which any application could be built on top of.
So, if Bitcoin was really just a basic calculator, Ethereum was a fancy TI-83 graphing calculator on which you could write some interesting, if basic, games. While it put lots of good ideas into place, it is also rather slow (14 transactions per second) and still quite costly for developers to use. They’ve tried to upgrade this but are now having difficulty pivoting because of how much technical work, value storage and community growth has already occurred in their legacy model.
“Layer 2” scaling solutions, including “state channels” and “side chains”, have popped up to try and improve the performance and cost of these slower (but rather secure) platforms by taking some of the work off the main chain and doing it elsewhere. They exist for both Bitcoin and Ethereum but haven’t achieved the adoption we hoped.
The first serious challenger blockchains launched in 2017–2018 with a wide variety of approaches to helping the scaling problem. They generally tried centralizing more of the hardware (eg EOS) but most of the approaches are still ultimately bounded by a fixed limit because every single one of the “nodes” that make up the network are repeating the exact same work, whether there are 21 of them or 1,000. So these approaches have been able to achieve throughputs of thousands (or more) transactions per second but often sacrifice decentralization to do so.
Next generation scalable blockchains like NEAR represent the new wave. In this case, we break free from the idea that every single node who participates in the network has to run all of the code because that essentially creates one big wasteful bottleneck and slows down all of the other approaches.
To fix this, we use a technique called “sharding” from the database world (technical explanation) which splits the network so that much of the computation is actually being done in parallel. This allows the network’s capacity to scale up as the number of nodes in the network increases so there isn’t a theoretical limit on the network’s capacity.
Unlike a lot of other sharding approaches, which still require nodes to be run on increasingly complex hardware (reducing the ability of more people to participate in the network), our technique allows nodes to stay small enough to run on simple cloud-hosted instances. At some point in the future, this may even potentially include low-end hardware like mobile devices. That gives us access to a *lot* more potential nodes, allowing the network to scale better and decentralize more.
But it’s not all about scaling. In fact, for scaling to even be a benefit, developers need to be able to create apps that people actually use and current blockchains make this difficult on both the developer and the end-user. Many of these issues have to be addressed by setting up the protocol properly from the beginning and few projects who focus on scalability have taken this properly into account.
A few quick notes…
There are a few kinds of projects that sort of fit into the landscape but won’t be covered much further here:
- Currencies: Fundamentally, any token can operate as a currency because you can use it as a unit of account, a medium of exchange and/or a store of value. But a number of blockchains have been created to specifically act either as currencies (Bitcoin, Zcash, Monero…) or operate directly in the world of currencies (Ripple, Stellar). These are not general computation platforms, which we’re targeting here, so I’ll leave it at that.
- Private Chains: Some blockchains, like Linux Foundation’s Hyperledger project or R3 Corda, are pitched to big companies as a more secure sort of blockchain because they allow those companies to control all of the nodes of the network. While we also have the ability to provide privacy in our network shards, I’ll ignore this category of chains as well because the biggest security advantages come from broad public decentralization not building an oligopoly of a few big companies controlling the chain.
- “DAGs”: This one is the trickiest because these chains play in the blockchain world and are, essentially, doing the same sort of thing — creating an immutable (append-only) ledger. They are called “DAGs” because of the computer science term “Directed Acyclic Graph”, which is the actual data structure that makes them up. Generally speaking, these projects, like IOTA, tend to build a complicated mess of transactions among lots of small devices, which functions a lot like a blockchain. It’s scalable but has a lot of security and implementation challenges. I won’t dig deeply into it here but don’t forget about DAGs because many chains, including NEAR, use a sort of smaller DAG somewhere in the process of building their blocks.
More about NEAR
So, as we said before, NEAR Protocol is a sharded, developer-friendly, proof-of-stake blockchain that developers can build decentralized apps on top of. Let’s dig into what NEAR actually does…
A Decentralized Network
As mentioned above, NEAR is similar in principle to the “cloud-based” infrastructure that developers currently build applications on top of except the cloud is no longer controlled by a single company running a giant data center — that data center is actually made up of all the people around the world who are operating nodes of that decentralized network.
Here are a couple of perspectives on why this decentralization is useful:
- Developers/Entrepreneurs: It’s good to have an application decentralized this way because, as a developer, you aren’t at the mercy of a single company like Amazon or even a government who might want to shut the app down… both of which have bedeviled companies since the very beginning. During the development process, you also get access to a few extra things “for free” like payments and cryptography, which can be a challenge to set up in a traditional application.
- End Users: It’s better to have a decentralized application in some cases because the code is all open source (so you know exactly what it’s doing) and it can’t be changed once it has been launched (so there’s no chance they’re going to do sketchy things with your money or data). Even better, the app is actively disincentivized from hoarding your data.
Let’s dig a bit deeper into how this network gets run.
The NEAR Token
So who actually runs all those individual “nodes” that make up this decentralized network? The holders of the NEAR token.
The NEAR token functions a lot like a taxi medallion. In New York City (ignoring ridesharing at the moment), you need to have a “taxi medallion” to actually run a taxi cab. The medallion is the license from the city which allows that vehicle to be used to perform taxi services that make you money. Similarly, if you hold NEAR tokens, you are allowed to use your computer to run a node on the network, which means the decentralized apps will (partially) run on your computer.
Why would you run one of these nodes? In exchange for performing that service, you earn some transaction fees from the network, which is like your taxi income for each ride. Because this is a “Proof of Stake” system, the more tokens you stake each time, the more service you can provide and the more income you are eligible to earn. It’s like having multiple taxi cabs.
How do we make sure you’re actually running the code you’re supposed to and not just freeloading on the network and earning income? You are required to “stake” your tokens (which basically means putting them in escrow, like a security deposit) as a gesture of good faith. If you perform any malicious behavior (like trying to hack the system or mess with other people’s transactions), you will lose your stake.
Luckily, you really don’t have to think about this stuff because, as long as you download and start up the standard node program from a reputable source, it all happens behind the scenes by the application code you downloaded and so you aren’t likely to lose your stake.
How do you make money as a company?
Good question. The answer is “tokens” but it’s not necessarily intuitive. One of the biggest stumbling blocks people seem to have with blockchains is figuring out how they work as businesses. And that’s totally valid since the bubble saw all manner of convoluted monetization schemes which actually didn’t make any sense and usually didn’t require a token anyway.
Luckily, it’s pretty easy to explain how the NEAR token captures value (see the above “taxi medallion” analogy). But let’s now explain how these tokens actually get issued and what the NEAR “business” actually does.
First of all, these networks are ultimately intended to be totally decentralized, meaning they ultimately operate completely on their own and can’t actually be censored, shut down or otherwise messed with by third parties… or even us, the creators! That’s basically the whole point. But we have to start somewhere, so the road to getting to full decentralization requires us to bootstrap things with our development team.
NEAR Inc is a corporation which was created to bring this technology to life, sort of like the rocket boosters on the space shuttle. Its entire job is to do the necessary development work to build an open source blockchain and get it into orbit. Once the code for that chain has been written, it is open-sourced so literally anyone could run it and it’s out of their hands. The core team can (and hopefully will) certainly stay on to keep updating the system and performing bug fixes. The employees and investors in this corporation are rewarded for their work by receiving an allocation of the initial batch of tokens coded into the chain (which vest over time).
The NEAR Foundation is a nonprofit entity whose entire goal is to build a vibrant and active long-term ecosystem around the blockchain. This foundation will ultimately run a NEAR blockchain which we hope will be the most widely accepted because that foundation will have strong expertise in this system and an ongoing endowment of tokens which is totally devoted to making this ecosystem successful. Technically, anyone could modify and run the NEAR code to start up their own blockchain because it’s open source but the foundation is a really useful asset to have lined up to support the ecosystem so it’s most likely that people will keep supporting the chain the foundation is involved with.
What is the Path Ahead?
In the early phases of this market, projects focused on strutting a bunch of vanity metrics in order to get as many retail investors on board for a big ICO (initial coin offering). That meant trying to have the biggest Telegram community, the most big-name advisors, the best-looking proof-of-concept projects from big businesses and so on.
The ICO boom has passed (and there is all sorts of regulatory fallout going on from it) so, luckily, we’re able to focus more on what actually matters. In this case, it’s all about community and adoption.
We have an extraordinary technical team who is working to make sure the technology is implemented properly but everything they build will be open source. That means anyone in the world could, theoretically, just copy the code and run their own NEAR blockchain. Now, it’s not quite as easy as that and our team’s expertise and ongoing development efforts put us significantly ahead should anyone try that, but ultimately technology is merely a time-based advantage. The real traction comes from building a great community.
As mentioned above, the value of the token comes from the transaction fees it allows holders to earn. The more activity there is on the network, the more transaction fees the holders are able to earn and the more successful the token is. So the key metric we’re shooting for is adoption and usage of the platform.
A lot of projects are focusing on targeting developers to build apps on top of their platforms. That’s obviously important since this is a highly technical field but it’s not the only thing that matters. Specifically, if you look at the history of major development platforms, the ones that are truly successful need to support real, at-scale businesses not just a bunch of side projects.
So building an ecosystem that has the kind of functional breadth and technical depth to create at-scale businesses for the long term is everything to us. That requires significant efforts on the dimensions of community building, education and overall user experience.
Luckily, if we succeed, we have the opportunity to drive the greatest wealth creation since the original Internet.
Why is NEAR going to “win”?
You can take this from two perspectives — what makes us the best option to get to market and what makes us better to developers/end-users once we get there? Let’s explore both.
What says we’re going to out-execute the competition and get into the market with the right product on the right timeline?
For starters, hop over to our website and you’ll see the best team in the industry and, importantly, a team who has shipped sharded systems before in production settings. That already sets us apart from almost every other project out there.
This technology is complicated! Technically speaking, sharding is a scaling approach that’s being seriously attempted by roughly a dozen chains, including the market-leading Ethereum… but they’ve taken years to put together their proposal and expect to take more years to implement it. So it’s non-trivial to get this started.
To round things out, we have the support of the best investors in the space and a cadre of informal advisors who span everything from economics and mechanism design to cryptography and blockchain design.
Developers and End Users
This market — and the technology — is still in the “roll up your sleeves, it’s going to be messy” phase.
For developers, that means the tools are really hard to use and hundreds of teams are building hundreds of different things that point in all different directions, including some projects inventing their own programming languages. In short, it’s chaos and it’s painful to develop on existing systems.
For end users, the path to getting started with crypto projects and the new web is incredibly long. In the normal web world, you lose a huge portion of users for each step you make them go through before achieving their goal. Right now, to get a brand new user from zero to playing a crypto-based game or sending a friend money, it takes literally *dozens* of steps… and it’s incredibly slow and somewhat expensive to perform these steps. Not a great look.
Both of these problems require a fanatical focus on user experience and user needs as the driving force for creating technology instead of starting by driving technology forward and then seeing what happens. We’ve been developing the chain and the supporting tools with a focus on this experience while stepping forward to engage the broader community on solving these issues. It’s not going to be fast or easy, but it *is* the priority for us.
That’s why we describe ourselves as “developer-friendly” or “usable”… we are implementing approaches at the protocol level which make it easier for developers to create their applications and for end-users to adopt them. For developers, that means using the familiar TypeScript language, building a set of tools that make app composition straightforward and embedding business models for compensating open-source developers for creating critical system infrastructure. For their end-users, the way our accounts are set up allows for smoother onboarding experiences which don’t require as many steps or as many annoying wallet pop-ups.
What are the use cases for NEAR’s blockchain?
One of the hottest questions is what the use cases are for blockchains precisely because it hasn’t been definitively answered. Sure, it’s being used in everything from supply chain tracking to cross border payments, but most of these cases are still early enough that they haven’t achieved mainstream adoption. We’re still in a phase of trying new things to see how they extend.
In our case, we’re talking to a number of existing businesses and opportunistic entrepreneurs about how a truly scalable, usable blockchain can unlock new business opportunities. I won’t spoil the surprises by getting into that here but suffice it to say, there are a few burning areas where people are begging us to solve their problems and existing blockchains have been too slow or expensive or painful for users.
In the long run, just like with the original Internet revolution, the earliest use cases are likely just going to bridge the gap until people invent entirely new business models. So, while we’re excited about addressing things in the short term, we’re especially excited about building a toolkit that future entrepreneurs can combine with their creativity to change the world in ways we can’t even imagine now.
This is where new ideas around composability of microservices and open/transferrable state are really exciting. How different will it be to create businesses which sit atop a portfolio of open services rather than gated APIs and centralized platforms? These are new development paradigms that we’ve only scratched the surface of so far.
What should I learn next?
If you’ve gotten this far, you’re probably curious to learn more. There are a lot of resources out there but I’ll recommend a reasonable path through them. Blockchain is a highly technical field that covers just about every discipline under the sun so it can feel like drinking from a firehose without proper guidance.
If you’re pretty new to blockchain, start here to get a strong overview of the ecosystem and its development:
- Deconstructing the blockchain ecosystem (slides)
- The state of blockchain product, design and development
After that, it’s a good idea to start diving a little deeper into the functional disciplines.
No matter what role you have, you’ll need to get up to speed technically because the lingo is going to come up repeatedly. That doesn’t necessarily mean you have to understand all the computer science underneath it but you should know the basics.
- What are decentralized applications and how do they work (slides)
- Using blockchain in “regular” web and mobile apps (slides)
- An overview of “all you need to know” in blockchain development by Haseeb Qureshi
- We do not have a current technical whitepaper because the technology evolves so quickly that it would (and has) immediately fall(en) out of date. This blog is the best record of our technical specs as they grow.
- Differences between our approach and Ethereum 2.0 sharding (written with Vitalik’s feedback)
- Our sharding talk at Blockchain@Berkeley
- Our work with Vlad Zamfir on a sharding POC during Ethereum SF hackathon
- Much more in depth, especially about sharding, on our engineering blog
We’re focusing on building a great developer and end-user experience. And here are a few resources that will be helpful from a design perspective.
- Improving blockchain developer experience (slides)
- The design of blockchain-based applications (DApps) (slides)
- Why the future will be driven by “UX Equilibrium”
- Check out the San Francisco Blockchain Product, Design and Development meetup group to get a sense of the kind of broader community we’re hoping to build across functional disciplines
- Bonus: Look for YouTube talks from the folks at Consensys, Coinbase and IDEO Colab.
Podcasts are one of the best ways to educate yourself because the back catalogs can be very informative. I recommend taking up a time-consuming endurance sport where you can listen to them for hours on end and then consuming the following:
- Laura Shin’s Unchained (http://unchainedpodcast.co/) and Unconfirmed (https://unconfirmed.libsyn.com/) for plain-English interviews
- Epicenter (https://epicenter.tv/) for a bit more technical dives into various systems.
- Zero Knowledge (https://www.zeroknowledge.fm/) is another on the more technical side.
There aren’t too many great newsletters and you should avoid anything that is primarily price or trading focused. That said, check out:
- Token Economy (http://weekly.tokeneconomy.co/) is a good weekly roundup.
- It’s highly Bitcoin-biased but I do enjoy reading Anthony Pompliano’s Off the Chain daily (https://offthechain.substack.com/) because it doesn’t have a lot of BS.
- The CB Insights newsletter (https://www.cbinsights.com/newsletter) is more broad-ranging but generally has one general-interest blockchain story per issue.
- The team from a16z Crypto has excellent writing on everything from legal issues around tokens to the future of web 3 with open state. See their main blog at https://a16zcrypto.com/content but also check out the original a16z blog before 2018 when they migrated to the new site for the legacy content, which is great too.
- Vitalik from the Ethereum Foundation has been a prolific writer over the years and just about everything he puts out is interesting. Check out his blog at https://vitalik.ca/ and Ethereum-related research at https://ethresear.ch/.
People and Community at NEAR
- To stay in the loop on an ongoing basis, follow us on Twitter at https://twitter.com/nearprotocol
- To join the more in-depth community discussion and talk to the team, jump into our Discord Channel: http://near.chat
- To learn more and stay in the loop as we publish more content about the protocol and the industry in general, follow our Medium blog (https://medium.com/nearprotocol) and subscribe to our YouTube channel (https://www.youtube.com/nearprotocol)
- Finally, join the mailing list here below:
Thanks for your interest in the project! If you have more questions, suggestions for high-quality resources or just want to engage in the conversation more, Discord is your best bet. We’ll see you there :)