Celo 's first Chinese AMA!
Hi 大家好，欢迎各位小伙伴关注由真本聪Real Satoshi、Hashquark和Celo举办的AMA，这一次AMA的主题是“对标Libra的区块链开源金融平台Celo”。
Good Morning, welcome to our AMA conducted by Real Satoshi Community, HashQuark and Celo. Today AMA 's theme is "An Open Financial Platform that Makes Financial Tools Accessible to Anyone with a Mobile Phone"
Celo is an open platform that makes financial tools accessible to anyone with a mobile phone. The platform is initially focused on addressing the problem of financial inclusion: 1.7 billion people around the world lack access to financial services, making it harder to build a path towards prosperity.
This AMA combines of two parts, in the first part, our guest will answer the question, and in the second part is free questioning, audience can ask their own questions. Please be a good listener in the first part and actively participate in the second part.
The AMA lasts about one and a half hours and will be presented in text. Throughout the AMA process, please not publish contents unrelated to AMA. Thank you for your cooperation.
Hey, @Marek, can you say hello to our community before we start the questions?
Thank you @索老头@真本聪 ! It's really great to be here! Thanks for having me and looking forward to answering your questions!
Can you give us a brief introduction of Celo? What is Celo's vision, and what problems it aims to solve?
Celo is an open platform that makes financial tools accessible to anyone with a mobile phone. The platform is initially focused on addressing the problem of financial inclusion: 1.7 billion people around the world lack access to financial services, making it harder to build a path towards prosperity. By starting here, we believe the resulting system will be more fully featured and resilient for everyone. The entire stack from Celo’s stability protocol to the mobile wallet are being built with this greater mission in mind. Research in Celo’s target markets has informed key features of the platform, including the ability to pay transaction fees in tokens (and thus stable value currencies), the ability to send payments to phone numbers (even if the recipient hasn’t yet signed up for Celo), and the ultralight client which allows wallet users with limited data connectivity to sync quickly.
Celo is backed by over 100 companies and individuals, including prominent global enterprises, NGOs, venture funds, academics, and experts across a wide range of fields who are all contributing in their own unique way to help achieve Celo’s mission of prosperity for all. Celo has a truly global launch plan, targeting an in-country presence in more than 20 countries around the world by the end of 2020. Most importantly, the Celo community is driven by purpose – to solve real-world problems such as lack of access to sound currency, burdensome remittances, or friction for cash-transfer programs to alleviate poverty.
Can you share us your background and experience? How did you get involved in cryptocurrency and found/join Celo's team? What do you consider the most attractive thing about cryptocurrency?
Absolutely! My parents are from Poland but I was born and raised in Singapore (my grandfather helped city-plan Singapore in the 60s and 70s), where I lived for 18 years.
I’m a co-founder and CTO of cLabs, one of the companies building the Celo Platform, and I’ve been in the crypto space since 2013. Brian Armstrong (the CEO of Coinbase) actually gave me my first Bitcoin back when we met randomly at a music concert in 2013 :)
Previously, in 2011, I co-founded Locu, a machine learning venture-backed company that we started out of a seminar at MIT run by Sir. Tim Berners-Lee. The seminar focused on the semantic web and decentralized linked data (the original “Web 3.0”). Locu company was acquired by GoDaddy where I became VP Engineering.
I’m also an MIT PhD alumni and a former Facebook Fellow, and I previously worked at Google, Microsoft Research and Sun Labs.
I think the most attractive thing about cryptocurrencies is that they are programmable. That programmability has resulted in an incredible amount of exciting innovation and new ideas (e.g. DeFi) that will forever change the way we think about and use money.
之前在2011年，我与人共同创立了Locu，这是一家由机器学习风投支持的公司，我们在MIT的一个Sir. Tim Berners-Lee主持的研讨会上开始。研讨会的重点是语义Web和去中心化链接数据（最初的“Web3.0”）。Loco公司被GoDaddy收购，我进入GoDaddy成为工程VP。
Is Celo a mature smart contract platform? Is it a so-called Ethereum killer? What kind of applications would you like to build on Celo actually?
Celo’s blockchain reference implementation is based on go-ethereum, the Go implementation of the Ethereum protocol. We’re indebted to the Geth community for providing these shoulders to stand on and, while recognizing that Ethereum is an independent project with its own trajectory, we hope to contribute back where we can.
As Celo is fully EVM compliant, we inherit the rich developer ecosystem and tooling of the Ethereum community, making it easy for developers to get going and build on Celo. I think the main thing that makes us different from Ethereum is the mobile nature of the platform, the built in stablecoin and identity layer. In combination, these features make it easy to build dApps that are mobile, social, and that are denominated in stable assets.
In addition to the excellent tooling by Ethereum, Celo has a Software Development Kit (SDK) that allows you to easily interact with the system smart contracts as well as to build mobile-first dApps. The SDK is composed of two parts:
ContractKit is a library to help developers and validators interact with the Celo Blockchain and Celo Core Contracts. It is well suited to developers looking for an easy way to integrate Celo Smart Contracts (e.g. stablecoins, identity, governance) within their applications.
dAppKit is a lightweight set of functions that allow native mobile dApps to work with the Celo Wallet to sign transactions and access the user’s account. This allows for a better user experience: dApps can focus on a great native experience without having to worry about key management. It also provides a simpler development experience, as no state or connection management is necessary.
With regards to what we would like to see built on Celo. We at cLabs are particularly excited to see mobile applications that further Celo’s mission around financial inclusion. To that end, Celo has a number of developer initiatives ranging from Celo Camp, the Blockchain for Social Impact Incubator Challenge, Celo Grant program, the Polychain Ecosystem Fund, and others, which are all intended to create applications which serve the broader Celo community mission of financial inclusion.
Celo enables sending tokens directly to me as long as you know my phone number. Why do you choose an identity system based on phone number, and does that mean people who know my phone number can see my entire transaction as well?
To make transferring value on Celo as easy as sending a text, Celo uses a distributed address-based encryption protocol to allow users to send value directly to a phone number, rather than having to know a long public-key based address. In pilots run on Celo, the team found that phone numbers used as lightweight identity made it easier to send value, alleviating the hassle of having to get another user’s address before transferring funds. Critically, this enables transfers to users even before the recipient signs up onto the platform (using an escrow smart contract that only releases the funds once the recipient verifies their phone number).
To prove ownership of a phone number, the Celo verification protocol uses a decentralized network of validators to send confirmation codes. This is similar to the familiar process of receiving a verification code when creating an account with a centralized service, but instead uses a number of randomly selected validators that send cryptographically signed text messages to new users. Once confirmed, the protocol stores a mapping of the hash of the phone number to the corresponding public key in a decentralized mapping. This scheme makes it easy for people to send value to their friends because they only need a phone number.
To strengthen the privacy of Celo users, Celo uses per-user salts for the hash function that generates the hash of the phone number. This means that to transact with a user, you need to have both their phone number and their salt. Salts are provided using an oblivious pseudo random-number function (oPRF) service run by a distributed set of nodes that aggressively rate limit users so that they can only look up on the order of one account per outgoing transaction. To have access to this oPRF service, you need to verify your phone number.
Finally, in the future, this lightweight identity system could also be used to support users who lack a credit history through the use of Eigentrust, a decentralized reputation system designed by one of cLabs’ co-founders Sep Kamvar.
Celo is based on Ethereum code base. If Celo want to become a global currency, how can it improve the scalability? What is the difference with the scaling methods of Ethereum?
Like a number of recent crypto projects, Celo is adopting a Byzantine Fault Tolerant (BFT) consensus algorithm. A well-defined set of validator nodes, selected through Celo’s Proof-of-Stake algorithm, broadcast signed messages between themselves in a sequence of steps to reach agreement even when up to a third of the total nodes are offline, faulty or malicious. When a quorum of validators have reached agreement, that decision is final. As a result, validated blocks can never be rolled back and all mined transactions are final.
Compared to Ethereum, this approach is significantly more scalable. Not only can Celo have bigger blocks, this approach results in much shorter block times as there is no risk of creating uncles. Celo is starting with 5 second block periods, but this can be shortened to add throughput as needed.
Finally, Celo uses BLS signature aggregation to keep block headers small (using BLS12-377), and uses Plumo, a novel light client protocol that uses SNARKs to prove that a header is part of the chain. This allows new nodes joining the network to easily and quickly sync with the chain with very little data, even if it has grown significantly in size. See my talk about Plumo at Stanford Blockchain Conference here:
Does Celo use the same Transaction cost / gas model as Ethereum eip-1559? If customers want to use different cryptocurrencies to pay for expenses, how can you implement internal automatic transactions?
Yes! Celo uses a gas market based on EIP-1559. The protocol establishes a gas price minimum that applies to all transactions regardless of which validator processes them. The gas price minimum will respond to demand, increasing during periods of sustained demand, but allowing temporary spikes in gas demand without price shocks. The Celo protocol aims to have blocks filled at the target_density, a certain proportion of the total block gas limit. When blocks are being filled more than the target, the gas price minimum will be raised until demand subsides. If blocks are being filled at less than the target rate, the gas price minimum will decrease until demand rises. This makes gas prices and transaction latencies much less volatile during times of congestion.
As in Ethereum, transaction fees play a critical role in the Celo protocol as a safeguard against denial-of-service attacks. In order to simplify the process of sending funds, these fees can be paid in ERC20-like tokens, and not just the native token of the protocol, Celo Gold. This means that a user sending Celo Dollars to friends or family will be able to pay their transaction fee out of their Celo Dollar balance, and do not need to hold a separate balance of Celo Gold in order to make transactions.
The protocol maintains a governable whitelist of smart contract addresses which can be used to pay for transaction fees. These smart contracts implement an extension of the ERC20 interface, with additional functions that allow the protocol to debit and credit transaction fees. When creating a transaction, users can specify the address of the currency they would like to use to pay for gas via the feeCurrency field. Leaving this field empty will result in the native currency, Celo Gold, being used. Note that transactions that specify non-Celo Gold gas currencies will cost approximately 100k additional gas. Note that this number is expected to drop significantly in the near future.
该协议维护一个可管理的智能合约地址白名单，可用于支付交易费用。这些智能合约实现了ERC20接口的扩展，附加功能允许协议借记和贷记交易费用。创建交易时，用户可以通过feeCurrency字段指定要用于支付gas的货币的地址。将此字段留空将导致使用本地货币Celo 金币。请注意，指定非Celo金币 gas货币的交易将额外花费大约10万gas。这一数字预计将在不久的将来大幅下降。
Most PoS projects choose inflation model in their supply. Why do you choose fixed total supply? Will the fixed supply lead to the solidification of the rich and the poor in the network?
The Celo protocol, at base, has two assets: Celo Dollar, an elastic-supply stable value asset, and Celo Gold, a fixed-supply variable value asset. Celo Gold is the utility and governance asset of the protocol and serves multiple purposes. It is, for example, a central component of the consensus and governance mechanism of the Celo protocol as voting power in validator elections and governance decisions is proportional to the amount of Celo Gold locked for voting. Celo Gold is also elementary to the stability mechanism: It is held in a reserve smart-contract and exchanged for Celo Dollars to balance demand excess or shortage. In addition to Celo Gold, a diversified basket of non-Celo crypto-assets comprises the Celo reserve. This reserve is periodically rebalanced towards target asset allocation set via on-chain governance. The Celo stability mechanism can thus be understood as a hybrid crypto-collateralization / seigniorage-style model.
Since a sizable fraction of the reserve collateral is denominated in Celo Gold, it is important for Celo Dollar stability that the value of Celo Gold is not excessively diluted. This is easier to achieve with a fixed total supply of Celo Gold which rules out excessive dilution and also makes it easier to value Celo Gold as future supply is less uncertain.
The primary criticism of Proof of Stake schemes is that stakes present a barrier to entry to most participants, and this means that they concentrate power and rewards into too few hands, and that they lack a ‘permissionless on-ramp’ in the protocol, depriving new participants of an opportunity to earn currency and get to the point where they could participate as a validator.
To mitigate this, Celo offers incentives to people operating fullnodes, which do not require assets to be staked. It also has a community fund that receives 25% of all epoch rewards and distributes them (via on-chain governance) to fund projects with good social impact.
基本的Celo协议有两种资产：弹性供给稳定价值资产Celo-美元和固定供给可变价值资产Celo-金币。Celo 金币是协议的实用代币，有多种用途。例如，它是Celo协议共识和治理机制的重要组成部分，因为在验证器选举和治理决策中，投票权与锁定投票的Celo 金币数量成正比。 Celo 金币也是稳定机制的基础：它被保存在储备智能合约中，可以交换Celo美元，以平衡需求过剩或短缺。除了Celo 金币之外，一篮子多样化的非Celo加密资产组合。该储备会定期重新调整，通过链上治理设定目标资产配置。因此，Celo稳定机制可以理解为一个混合的加密资产抵押/铸币税模式。
Can you talk about the stability mechanism of Celo gold? Can other collaterals be used to create Celo stable coins?
The stability mechanism can be understood as hybrid crypto-collateralization and seigniorage-style model. To maintain stability of cUSD, the protocol sets incentives for users to adjust cUSD supply to match cUSD demand at the price peg.
At a high level, the Celo expansion and contraction mechanism allows users to create new cUSD by sending 1 US Dollar worth of cGLD to the reserve, or to burn cUSD by redeeming them for 1 US Dollar worth of cGLD.
This mechanism creates incentives such that when demand for cUSD rises users are incentivized to buy 1 US Dollar worth of cGLD on the market, exchange it with the protocol for one cUSD and then sell that cUSD for the market price. This direct link between cUSD and cGLD is driving the market price of cUSD back towards 1 US Dollar without the need for the protocol to estimate the optimal expansion or contraction amounts. Having a crypto-only reserve allows for this process to be running constantly and transparently.
The protocol reserve consists of solely blockchain assets, so that these assets are fully transparent to the stakeholders and community. Along with cGLD the initial reserve will also hold other decentralized assets, like BTC and ETH as well as less volatile tokens. As more assets are tokenized in the future, the mechanism allows for the reserves to also include real assets. The Celo community is particularly excited about including tokenized rainforests and other natural-capital.
The reserve is periodically rebalanced to achieve a target ratio of cGLD and non-Gold assets. For the first version of the reserve, this rebalancing will have to occur on centralized exchanges. There a number of efforts in the community (e.g. Summa and ChainSafe) that are working on bridging assets from chains like Bitcoin and Ethereum onto Celo to enable an even more decentralized rebalancing mechanism.
Why do you set 100 verifier seats? What is the verifier group in Celo and how their role act?
Celo’s mechanism for selecting validators stems from the reality that only a small number of nodes can ever fulfill this role due to the scalability constraints of existing BFT consensus algorithms. This means it is important for network performance and stability to avoid the failure or malicious behavior of even a small number of nodes. While the current implementation can scale to a few hundred nodes, Celo is starting at a 100 so that it can increase the number of validators (via governance) as the network gains more value.
At the same time, the Celo community has been developing BFTree, a BFT consensus algorithm that scales to hundreds of thousands of nodes. This is a radical step change from the existing state of the art and means that Celo could embed a Proof of Stake mechanism that is truly trust-free and permissionless, in that nodes can join without a selection process. Full nodes would take on the additional role of validating, just as they do with mining in the public Ethereum chain, except of course without the environmental impact.
If one of the members of the verifier group double signs, there will be a "damping factor" for the future reward of the verifier group. How is this factor designed? Will that verifier affect the whole group?
如果验证者组的某个成员出现双重签名，则对于验证者组的未来奖励将有一个“阻尼因子”。 这个因素是如何设计的？ 该验证者会影响整组吗？
Validators and validator groups put up a stake by maintaining a minimum Locked Gold balance which is at risk from when they register until when they de-register, which must be at least an ‘unstaking period’ after they last were a member of a group (for validators), or had any members (for groups). For groups, a stake is required per member validator.
Slashing has several effects: it deducts a sum from the validator’s stake, and the same sum from the stake of the group it was a member of at the time in question. It also halves the group’s slashing penalty, and resets a timer that after a ‘forgiveness period’ returns the slashing penalty to one. Finally, it automatically removes the validator from its current group, so that the group has to decide explicitly to re-add the validator before it can be re-elected.
For behavior that can be detected and proved by a third party (in the current design, double-signing), any address can make a submission that if previously unreported results in an amount being deducted and the proceeds split between the submitter and the Community Fund.
For some cases, slashing can be initiated automatically through the protocol (e.g. for excessive downtime). If a validator or group’s stake falls below the required level (due to slashing), no rewards are earned until it is topped up.
For some cases, slashing can be initiated automatically through the protocol (e.g. for excessive downtime). If a validator or group’s stake falls below the required level (due to slashing), no rewards are earned until it is topped up.
It is worth highlighting that regular users’ Locked Gold used for voting for validators is never at risk.
HashQuark is a professional staking provider with a mature maintenance system and reputation. How do you maintain the advantage of HashQuark in group rules?
Like with any proof of stake network, validator groups need to show the community that they are good stewards of the protocol. Overtime, they will likely have to show a long track record of being reliable and being good at picking validators that can be trusted to operate the network securely and with little downtime. HashQuark’s experience running validators on other networks will no doubt help it achieve these goals!
Also, unlike with other proof of stake networks, validator groups do not have to run their own validators if they don’t want to. They can work with other validators that they trust and audit.
就像任何PoS网络一样，验证器组需要向社区表明他们是协议的良好管家。 随着时间的流逝，他们必须表现出长期可靠并且善于选择可信赖验证器的记录，保证可以安全地运营网络并且停机时间很少。 HashQuark在其他网络上运行验证器的经验无疑将帮助其实现这些目标。
Could you talk about how it feels to cooperate with HashQuark?
It’s been great to have HashQuark be part of the Celo community! Not only did HashQuark participate in the Great Celo Stake Off, it received an award for placing among the top 70 validators. Celo cannot be the platform that it is today without the support from this validator community!!!
HashQuark成为Celo社区的一员真是太好了！ HashQuark不仅参加了“ Great Celo Stake Off”大赛，而且还跻身前70名验证者获得了奖项。 没有验证者社区的支持，Celo不可能成为今天这样的平台！！！
Risk takers bind their cgld for three days. Why is it set as three days? Some projects will set longer time. Can three days be enough to ensure risk control?
Celo uses different unlocking periods for validators, validator groups, and people voting for validators.
Like other networks, the unlocking periods for validators (and validator groups) are long (on the order of months) to create a long objectivity window and to dissuade short and medium range attacks (e.g. double spend attacks).
For voters, Celo uses a shorter unlocking period (on the order of 3 days). This unlocking period of 3 days balances two concerns:
First, it is long enough that an election will have taken place since the request to unlock, so that those units of Celo Gold will no longer have any impact on which validators are managing the network. This deters an attacker from manipulations in the form of borrowing funds to purchase Celo Gold and then using this Celo Gold to elect malicious validators, since they will not be able to return the borrowed funds until after the attack, when presumably it would have been detected and the borrowed funds’ value will have fallen.
Second, the unlocking period is short enough that it does not represent a significant liquidity risk for most users. This limits the attractiveness for exchanges to create derivatives and secondary markets in Locked Celo Gold. Such derivatives may lead to centralization because they may pool voting power, which has already been observed for other proof of stake networks.
·首先，请求解锁前，已经过足够长的时间进行选举， Celo 金币不再对验证器管理网络产生任何影响。这阻止了攻击者以借入资金的形式进行操纵，通过借入资金购买Celo 金币，然后使用该Celo金币来选择恶意验证者，因为他们只有在攻击后才能才能归还借入资金，而攻击后可能会被发现，导致借入的资金价值下降。
Some parameters of Celo can be modified through Onchain Governance (rather than through hard forking). Can you reveal which parameters are mainly involved in decision-making? How do you view the importance of onchain governance in the project?
Celo uses an on-chain governance mechanism to manage and upgrade the protocol such as for upgrading system smart contracts, adding new stable currencies, or modifying the reserve target asset allocation. All changes must be agreed upon by Celo Gold holders. A quorum threshold model is used to determine the number of votes needed for a proposal to pass.
Changes are managed via the Celo Governance smart contract. This contract acts as an "owner" for making modifications to other protocol smart contracts. Such smart contracts are termed governable. In the future, when the community's experience of DAOs (Distributed Autonomous Organizations) has evolved and when the platform has proven to be stable and secure, it will be owned by Celo Gold holders effectively acting as a DAO.
The change procedure happens in the following phases: Proposal, Approval, Referendum, Execution.
Some changes cannot be made through the on-chain governance process alone. Examples include changes to the underlying consensus protocol and changes which would result in a hard-fork. When Celo Blockchain software upgrades are required to continue operating correctly on the network, a "Minimum Client Version" parameter is set to indicate the minimum version that it requires.
更改过程分为以下几个阶段： ·提案 ·批准 ·公投 ·执行 有些更改不能仅仅通过链上治理过程来实现。比如对基本共识协议的更改和可能导致硬分叉的更改。当需要Celo区块链软件升级才能继续在网络上正常运行时，会设置一个“最低客户端版本”参数来指示它所需的最低版本。
How to see the relationship with the traditional open bank as a cryptocurrency project? Is it more like cooperation or competition for you?
Celo’s aim is to empower anyone with a smartphone anywhere in the world to have access to financial services, send money to phone numbers, and pay merchants -- on a decentralized platform that is operated by a community of users.
To achieve this, the project takes a full-stack approach, where each layer of the stack is designed with the end user in mind while considering other stakeholders (e.g. operators of nodes in the network) involved in enabling the end user experience.
In this way, Celo is compatible with current banking providers, who can connect directly to the blockchain through APIs and other means.
Compared to USDT,BUSD, whats the advantage of Celo dollar @Marek | Celo
Most of the advantages come with the platform that cUSD is running on. Not only can you pay for transaction fees with cUSD (so you don't need to hold Bitcoin at the same address), the transactions settle in 5 seconds. You can also send them to a phone number-based identifier rather than to a public-key based address, even if the receipient hasn't yet signed up for Celo.
With regards to Libra, Celo is permissionless, open, and self custodial. 相比于Libra，Celo是无需许可的，开放的和资金自我存管的。
This means that anyone can participate in running or using Celo. You won't need Facebook's permission. 这意味着任何人可以参与运行Celo。而不需要脸书的认可。
Celo's stable coin protocol is also different than Libra. Instead of using an asset that is backed by a basket of commodities, and thus can change in value over time, Celo stable coins are collaterilazed by crypto-only assets and designed to keep a peg to local fiat currencies. Cleo的稳定币不同于libra。相较于由一揽子货币支持，celo的价值可以随着时间变换。celo的稳定代币由加密货币抵押支持，并且设计成可以铆钉当地法币