AMA with Illia Polosukhin (NEAR)
Telegram AMA 20200808
Q: How do you see the world looking in 5–10 years? How NEAR contributes to that?
Illia Polosukhin, [Aug 8, 2020 at 2:03:03 PM]:
NEAR’s global mission is to enable community-driven innovation to benefit people around the world.
What this really means is that we believe that the future should be where companies and digital economies are built in such a way that entrepreneurs that started it and community (including users) are aligned.
Illia Polosukhin, [Aug 8, 2020 at 2:03:34 PM]:
Which means that over time such a company will not turn into a profit generating machine that doesn’t care about it’s users but actually will maintain human qualities and continue to evolve with its user base.
To actually achieve this, we need infrastructure and novel approaches to building businesses. We need to turn previously centralized around profit industries into open communities of collaborators.
Illia Polosukhin, [Aug 8, 2020 at 2:04:00 PM]:
Blockchain is one of the core pieces of such infrastructure. It provides the root of trust and programmable model to build such products.
At the same time the other pieces are financial instruments that create and align incentives. E.g. DeFi or Open Finance — which provide a way to value various activities and creates instruments that marketplaces and economies can use.
Also DeFi is the first example of community-driven innovation at play. We see both how communities of developers build on top of each other instead of creating huge moats around their users and data, which usually happens in web2. We also see how these entrepreneurs are sharing their governance powers with the users and community via various economic activities in example of Compound, Balancer and upcoming suit of aps.
This also starts to happen for other markets: https://eva.coop/ cooperative approach to ride sharding, http://audius.com/ community drive approach to music and few more. But these are still early and small in numbers.
Illia Polosukhin, [Aug 8, 2020 at 2:05:33 PM]:
We see NEAR providing a platform for entrepreneurs to build products and grow their usage via incentivizing their community to take a more active role and over time get them to be driving more and more of the product.
We call this concept an Open Web, where instead of walled gardens of enterprises we really see a large set of community owned apps that are composed with each other in various ways.
Read more about this — https://near.org/blog/the-evolution-of-the-open-web/
Q: 1. How does the future look like for Near in terms of shards used ? How many shards will we see at launch ?
2. Is shard number a subject of governance?
3. What are your top priorities/concerns as a Chief Decentralization Officer?
4. How does Near handle interoperability, can you briefly explain how does the Near <> Ethereum bridge work ?
5. Are you planning to build bridges to other chains soon ?
Illia Polosukhin, [Aug 8, 2020 at 2:07:27 PM]:
Ok, let’s decompose
> How does the future look like for Near in terms of shards used ? How many shards will we see at launch ?
Current system built with sharding is fully implemented. But overall, as with any new system of this scale, there are a lot of edge cases which we are working on addressing.
Which means that addressing them with one shard is way easier, as network topology is cleaner. Hence TestNet and MainNet POA are running with 1 shard currently.
At the same time, a guild “Open Shard Alliance” are running their own testnet with few shard. We also have all of our testing configured to test sharded setups.
If you really want to dive deep — check out this test — <will insert link in a sec>
Overall, this means that first we will get MainNet going with 1 shard, while we have sharded testnets where all the issues of sharding will be ironed out separately.
> 2. Is shard number a subject of governance?
Currently yes, would require a protocol update to change number of shards. Which means it is based on validators and their delegators decision to accept it or not.
At the same time, we have design of dynamic resharding -> which will allow change number of shards dynamically and reballance contract between shards.
This will be coming prob next year.
Oh, here is the link — https://github.com/nearprotocol/nearcore/blob/b30864b881299b820aff56c9f3b2ce7a351e1cb2/chain/client/tests/cross_shard_tx.rs#L517
This runs 4 shards and stresses the hell out of the system to route cross shard transactions
> What are your top priorities/concerns as a Chief Decentralization Officer?
Decentralizaiton! 🙂
In the list:
1. Decentralize the MainNet and get community to take over the governance by first unlocking transfers and later opening up process of protocol changes (e.g. NEPs)
2. Grow community of technical contributors and guilds — independent communities that are working on various things.
3. Onboard apps & protocols on top of NEAR, that would enable community-driven innovation
Illia Polosukhin, [Aug 8, 2020 at 2:16:44 PM]:
> 4. How does Near handle interoperability, can you briefly explain how does the Near <> Ethereum bridge work ?
There is great value to work together in blockchain community to attract more developers and users. We are still such a small community
Ethereum has largest user and developer based, and even more is now de-facto the place to issue assets.
At the same time, it can not handle many of the loads that were envisioned to use blockchain due to various mismatch
We have built a bridge (thanks to Anton Bukov from 1inch for original design and implementation) that trustlessly connects NEAR and Ethereum.
Illia Polosukhin, [Aug 8, 2020 at 2:19:26 PM]:
What trusless means => that users or contracts don’t need to trust anyone else. Only the blockchain consensus itself.
On NEAR we are running an Ethereum light client, verifying the PoW of every block and allowing contract on NEAR pretty much serve as any other Ethereum off-chain or L2 app would work
Same goes the other way -> on Ethereum we are verifying NEAR block headers to enable to pass information, assets and function calls back to Ethereum
This technology overall enables generic information and call passing between these two chains.
The simplest thing is obviously sending assets like ERC-20 or NFTs
But you can also call Compound from NEAR’s contract and get calledback with cETH for example
> 5. Are you planning to build bridges to other chains soon ?
There are a number of teams that are working already on bridge tech: IBC in Cosmos ecosystem for example and others.
The reason why we have done Ethereum was because that we haven’t found any existing solutions that match our expectations (IBC at the moment only supports Tendermint chains).
Otherwise, would love to work and partner with other infra teams to build the interoperable network of chains
Q: Curious how you see this bridge being used in the context of DeFi! Can you give a concrete example? Let’s say with Balancer …
Sure, Balancer is a really cool mix of an AMM and self balancing portfolio for LPs. Check out more here — https://github.com/balancer-labs/balancer-core and https://balancer.exchange/
At the same time, fees on Ethereum are raising by day and pushing more price sensitive users out.
So it make sense to launch Balancer on NEAR, bridge liquidity from Ethereum and allow users to trade for fractions of cents the same tokens they are using.
At the same time, to create continuity Balancer can enable BAL liquidity mining on NEAR (and we can incentivize initial liquidity with some NEAR liquidity mining as well 😉). The BAL token mined on NEAR will be exactly the same token as on Ethereum and one will be able to freely move it between chains.
We have a co-bounty with Balancer for setting this up, and I made a quick POC as an example for developers who want to start building DeFi on NEAR — https://github.com/ilblackdragon/balancer-near
We will share details of the bounty in coming days
Q: Hey everyone 👋🏼 jumping in here since the bridge discussion got me curious — Could you highlight the difference between App Chains vs. dApp Chains on a sharded platform?
And then elaborate on how NEAR would connect with a platform that runs App Chains? E.g. would it connect to one specific Ethereum shard or the Beacon chain or how would that work?
Illia Polosukhin, [Aug 8, 2020 at 2:31:57 PM]:
There are few critical differences:
- amount of work it takes to launch
- security and economics
- governance
- composability
Ok, let’s explore each one
Amount of work:
To launch a chain, it’s a lot of work (trust me… )
Starting from building the blockchain, even if you are using Cosmos SDK or Substrate, there are still a lot of technical detalis to work out. How to prevent griefing, will run in VM or not to prevent weird attacks etc.
As a developer of your own chain — you are responsible for everything, from networking to consensus, to runtime / state transition and RPCs/APIs etc
To launch you need to line up validators that know how to run your chain, infra providers similar to Infura, Wallets, exchanges and more and more
Illia Polosukhin, [Aug 8, 2020 at 2:38:46 PM]:
Security and economics:
It depends if it’s your own chain with it’s own security (like Cosmos chain) or with shared security (L2 / Parachain in Polkadot).
In case of your own chain, one of the critical pieces is that you need to have reasonably high market cap of your protocol token to provide security for PoS networks. Remember that 66% of stake can pretty much control the consensus and change anything. We see that happening with Loom where Binance managed to control over 66%.
In case of shared security, this is not an issue, but the economics questions comes up — the staking creates interesting balance of demand for providing security to capture future fees / value of the network. In case of absence of validation, the token has no initial demand. At the same time, even if you are parachain you still block producers — they are not needed for security per se (well actually depends on governance, but that’s separate), but you need to incentivize them to work — otherwise your chain will stall. So you still need to get your token to be valuable.
On top of it, the validation actually just taxes people who are not validating, as it only marginally creating value if there is no value to secure. So you need to create economics that actually creates at least 5–10% of your market cap in value to the users in put money to justify validators in the first place.
Compare this to building a dapp — user or app pays for infra only how much it uses.
A comparison I use:
Building app chain is like raising money, building a data center, setting up monitoring & service and taxing your investors / community to operate it. With the goal of getting in the future usage that will pay off.
Building a dapp just means you go to cloud, launch an app and start sharing a link with you friend to get them to use it. As it uses more capacity — it will naturally use more of the blockchain and pay for that.
The main benefit to run a Cosmos chain is governance. There is no one else except the community of the chain decide what and how should be done.
That said, at least right now all the validators are mostly common among the chain — which means even when they are decision on some governance decisions, it’s not purely based on success of this chain but actually success of their bigger validation business.
This may change over time, of cause -> we will see. @awrelll here can given some highlights been one of pro validators across many chains
Q: So, it could make sense for DApps to eventually launch their own data center/blockchain but for 99% that is not the case, right?
Illia Polosukhin, [Aug 8, 2020 at 2:42:44 PM]:
Yes, if your usage is so big and you have enough resources and community already to justify — that can make sense
Though, from cloud times, we know that even super successful applications after working on the cloud don’t want to migrate — like Netflix
It’s too much effort for not that much benefit in reality. And you loosing pretty much a huge team of people working to make _your_ app’s infra better.
Q: How do you plan to spread awareness about your project in different countries where English is not spoken well? Do you have local communities for them to let them better understand about your project?#AMA
Great question.
We currently have pretty active Russian and Chinese speaking communities.
Our appraoch is called Guilds
You can find more details about Guilds here — https://near.org/guilds/
But in short, it’s for existing or aspiring community leaders to run a community that one way or another interacts with NEAR and Open Web.
You can think of it as more global Open Web community of communities where NEAR core team is itself just a few guilds working on different pieces of shared vision.
We will be talking more about this going forward.
Q: How are you going to combine AI and NEAR Protocol? What benefits may it bring in the near future?
I think AI comes in later in the game, first we need to get initial apps and usage. Then with data on chain and private data of the users — Byzantine-tolerant federated machine learning would be really cool concept.
Imagine an Open Web social network, where only users who see some content only those who was shared. To do ML on this, you need to do it on the edges and then combine into one model. Somewhat similar to blockchain pattern (tx originate for edgers and come with consensus how it all works).
But I think we still 2–3 years away from this.
Q: What makes NEAR different than Zilliqa?
There are quiet a few differences:
- Zilliqa is a mix of PoW and PoS, where PoS candidates need to do “small” amount of work. I’m still not sure how it works, but this has big security implications, also their blocks if I remember correctly are 2min. NEAR just runs a customized PoS with fast pipelined consensus which allows to produce blocks once 1s and finalize them every 2–3 seconds.
- Zilliqa’s sharding is done only for transaction, where each node maintains the full state. We know state grows really fast. With 14 tps, Ethereum grew to 100 Gb of active state in 4 years. With 1000 tps? 10k tps? State will grow super fast. But also there is so much synchronization needed to actually maintain up to date state — which really why blocks are 2 min. Our approach shards both state and transactions and allows to scale the blocks as well.
- We use WASM, so developers can use normal programming languages, whereas Zilliqa built their own custom programming language which is a huge barrier to entry by developers and absence of tooling
Q: How is NEAR better than Ethereum for transaction fees for consumer defi apps?
If a product needs to deposit, mint, lend, redeem, etc or make any calls to various ethereum defi protocols, wouldn’t the ETH gas fees still be required for crossing bridge in addition to NEAR’s fees.
With NEAR <> Ethereum bridge, the idea would be to first deposit assets to NEAR and then transact there. Obviosuly if there is more complex things it needs to designed more carefully. For example a Balancer pool will run on NEAR and have that’s pool’s token directly on NEAR minted/burnt, etc. But assetsl ike DAI, USDT, USDC can just be brought once and operated on NEAR without Ethereum fees.
Q: What projects do you have ready or in development?
Here are few that are public already:
- Flux prediction market: https://app.flux.market
- ArTerra — a way to for influencers to re-engage thier audience, starting with
- Mintbase — NFT marketplace factory
- Zed.run — digital house racing
- TessaB — marketplace for used phones
- Box.score — ability to bet on various sports matches
- Paras — social network, https://alpha.paras.id/
- https://www.zod.tv/ — video transcoding
You can also scavenge what other cool things are (and even some POCs) — https://github.com/near/near-api-js/network/dependents
Q: currently on testnet we have 1 sec block interval. It is really exciting, but if later due to network latency, any chance that we have to increase that? O if we wanna keep that, what technique we may use in the future?
Good question. I would prefer us to keep 1s, as it provides a great user experience.
However indeed there are issues with pushing information around the world in 1 second.
There are few parameters we can adjust to make it easier on the chain, for example we can slow down a bit finality to make pipelining more smooth. E.g. block producer will wait for less approval (may be only for directly adjacent validators in the networking graph)
Q: Is the NEAR meerkat an intentional homage to the Github cat?
Not very intentional.
It came out of discussing cryptokitties about something, and it was clear that there need to be grown up cats… You know NEAR cats… Nearkats… meerkats…
Illia Polosukhin, [Aug 8, 2020 at 8:59:31 PM]:
…🙏
Illia Polosukhin, [Aug 8, 2020 at 9:03:33 PM]:
I think conceptual difference is where is security coming from / which consensus has precedence at the end.
Generally, in cases of Layer-1: they have their own consensus and there is nothing external that can revert it.
In cases of Layer-2: even if there consensus it is not really for providing security, because another chains consensus provides security and can revert this chain in various cases.
From this perspective, parachains are layers-2 as they are getting security from the relay chain and can be reverted by it.