Jan 26, 2021
Meet Casper: January 19, 2021 Community Call
An introduction to the CasperLabs team and the Casper network during our January 19, 2021 Community Call
This week, we changed the format of our weekly community calls to include more general content on the protocol, our partners, developers, and community members. In this week’s episode, our community director, Joe Davies, talks to our Co-founder and CTO, Medha Parlikar, and our Senior Program Manager, Ashok Ranadive.
What makes Casper unique?
Medha: When you look at other blockchains that are out there, you'll find that there are a few enormous problems in terms of blockchain adoption. First, it's hard to get started because you've got a proprietary programming language and the blockchain itself is a different machine to work with, let alone having to learn a new language on top of it. This is something that makes it hard for developers to get started.
Second, lack of pricing predictability is a big issue. If you don't know how much something is going to cost, you can't control your costs. If you can't budget for your costs, then you can't build a business using the technology.
Blockchain price changes are inconsistent with industry trends. For example, AWS has reduced its prices 47 times since it started. Usually, prices start high and they go down as you get economies of scale, which is the opposite of what is currently happening in the blockchain space. Generally, as a blockchain gets more adoption, pricing goes up for the use of that blockchain; and that's not what you want. Casper is integrating with Chainlink to provide more insight into future gas prices. We're also going to be building a gas futures market that will enable users to predict and budget for their future execution on the Casper blockchain. We'll create a mechanism where block spaces will be tokenized and you can book future slots in the block up to six months in advance so you can have some guarantees around how much your transaction fees are going to cost.
Third, blockchain networks have unclear upgrade path mechanics. In almost all software, businesses have control over upgrades. Just like your iPhone updates are pushed out by Apple, or if you're using a “software as a service” like Amazon, they push out updates to their website routinely. On current blockchains, because you're using shared infrastructure when you're running a dApp, you have to manage how that blockchain software gets updated. DApp developers have to struggle with a contract that's immutable or forks where they can't perform an upgrade. It becomes increasingly difficult to manage your customers and your business if you can't manage upgrades, these are genuine problems around blockchain adoption. When we set out to build the Casper blockchain, we took a serious look at what we wanted to do with the core virtual machine and what kind of experience we wanted to provide to developers. Most importantly, we wanted to build something future-proof, because once we build a blockchain we want to make sure that in the future it continues to sustain and grow. That was why we went with WebAssembly and Rust. Rust is secure, provides excellent type safety, and can be used for formal methods which are important for financial applications, so we felt that that was a brilliant choice.
On the upgrade mechanics, we provided smart contract authors the ability to upgrade their contracts. This upgrade ability includes complete internal state upgrades and defining which protocol version their contract works with, so in the event of a protocol fork you can control which version of the protocol fork your contract is going to interact with. Casper’s infrastructure is upgradable, so no matter what your business brings, you'll be able to make changes and support your customers on Casper.
- The team has started the first weekly sprint of the 21.02 release cycle (Sprint 10.1). Release 21.02 marks the second production version (Mainnet Release Candidate) of the Casper protocol.
- This release will bring protocol upgrades, performance, and hardening improvements. The protocol will also complete the integration with a custody provider during this release cycle.
- Tag v0.6.3 with Rust node was cut on 16 January 2021 and deployed on Delta testnet.
- We found a synchronization issue with the lib p2p small network component, so we replaced the original pre-production ready small network component
- The team is working on replacing the network component that failed the network.
- We’re implementing eviction of validators that are experiencing liveness failure. if a validator hits a liveness failure, they will be evicted completely out of the auction contract.
- Designing a crash recovery mechanism to recover the network with a liveness failure.
- Designing a framework to disable bids on liveness failures.
Node - Rust
- Replace the gossiper component with the libp2p gossiping.
- Implementing tracking of Validator set when synchronizing. This ensures validators get block info only from trusted validators when synchronizing their nodes.
- We're removing the account hashes in favor of the public key. We discovered that using the hashes in the account semantics in the global state was preferred to avoid account mismatch because if you're using a public key and you're transferring money from one public key address to another there's an expectation that you're going to see that same public key in the global state rather than seeing an account hash which makes it hard to audit.
- Gap analysis on what remains to switch to stable Rust.
- We’re making a tutorial for multi-sig & key management and an example tutorial on smart contract upgrades.
- We’re building a domain-specific language for upgradable Contracts along with some contract upgrading examples.
- We’re harmonizing the consensus paper and economics paper.
- Refresh reward and return calculations.
- We're going to be adding the staking auctions chapter to the economics paper, the idea is to publish a paper with the economics of the Casper blockchain.
- Make a contract immutable (never upgrades).
- We’re getting rid of some system contracts to enhance performance and to further decentralize the network.
- We’re removing the account hash implementation and moving to the public key/encryption curve.
Team and Company
We're also setting up a Casper association and the validators will have a stake in the association, they will be full-fledged members of the association and this will be a Casper association that will be separate from Casper labs and that bifurcation will happen thereabouts the time of mainnet launch.
Our weekly Governance/Community call holds every Tuesday
- Time: 9:00 AM PST (16:00 UTC, Sydney +11, Beijing +8, Greece +3, Amsterdam +2, Onitsha +1, New York -4, Seattle -7)
- Location: https://casperlabs.zoom.us/j/488766416
Our weekly workshops/dApp Session holds twice a week on:
- Thursdays 07:00 am Pacific time and
- Fridays, midnight Pacific (4 pm Japanese Time).
- The zoom meeting ID is https://casperlabs.zoom.us/j/924713678.
Sign up for our newsletter!