广告

Celo CTO 亲述「去中心化 Libra」愿景与运行机制

2020年4月2日,Celo、真本聪、和HashQuark联合举办了Celo AMA活动,本次AMA邀请了Celo CTO Marek Olszsewski。他向大家详细介绍了Celo的愿景,运行机制,经济模型。以下是对嘉宾的提问和他们的回答,为了方便阅读,部分内容在不改变原意的前提下有删改,Enjoy It!

Q1:您能简要介绍一下Celo吗?Celo的愿景是什么,它旨在解决什么问题?

Celo是一个开放的平台,致力于使任何拥有手机的人都可以使用金融工具。该平台最初的重点是解决金融普惠性问题:全世界17亿人缺乏获得金融服务的途径,这使得通往繁荣之路更加困难。

从这里开始,我们相信最终的系统将适应每个人提供更全面的功能。从Celo的稳定协议到移动钱包的整个堆栈都是基于这一使命而构建的。对Celo目标市场的研究已经说明了该平台的主要功能,包括用代币支付交易费用(从而稳定货币价值)的能力,向电话号码发送付款的能力(即使接收者尚未注册Celo),超轻客户端允许数据连接受限的钱包用户快速同步。

Celo得到了100多家公司和个人的支持,其中包括全球知名企业、非政府组织、风投基金、学者和各个领域的专家,他们都以自己独特的方式为帮助实现Celo为所有人带来繁荣的使命作出了贡献。

Celo制定了一个真正的全球发布计划,目标是到2020年底在全球20多个国家建立业务。最重要的是,Celo社区是由解决现实世界中的问题这个目的驱动的,例如无法获得稳定货币、难以汇款,或是为减轻贫困而进行的现金转移计划。

Q2:你能给我们分享一下你的背景和经历吗?你是如何接触到加密货币并加入Celo团队的?你认为加密货币最吸引人的地方是什么?

我的父母来自波兰,但我在新加坡出生和长大(我的祖父在60年代和70年代帮助新加坡城市规划),在那里我生活了18年。

我是cLabs的联合创始人和首席技术官,cLabs是一家构建Celo平台的公司,我从2013年起就在加密行业工作。实际上是在2013年的一场音乐演唱会上,我和Brian Armstrong(Coinbase的首席执行官)偶然相遇,他给了我第一枚比特币:)

之前在2011年,我与人共同创立了Locu,这是一家由机器学习风投支持的公司,我们在MIT的一个Sir.Tim Berners-Lee主持的研讨会上开始。研讨会的重点是语义Web和去中心化链接数据(最初的「Web3.0」)。Loco公司被GoDaddy收购,我进入GoDaddy成为工程VP。

我还是MIT的博士和前Facebook研究员,之前曾在谷歌、微软研究院和Sun Labs工作过。

我认为加密货币最吸引人的地方在于它们是可编程的。这种可编程性带来了大量令人兴奋的创新和想法(如DeFi),它们将永远改变我们看待和使用金钱的方式。

Q3:Celo是一个成熟的智能合约平台吗?它是所谓的以太坊杀手吗?你们想在Celo上构建什么样的应用程序?

Celo的区块链参考实现基于go-ethereum,即ethereum协议的Go语言实现。我们感谢Geth社区为我们提供了这样的肩膀,我们认识到以太坊是一个独立的项目,有着自己的发展轨迹,但我们希望尽我们所能做出贡献。

由于Celo完全适用EVM,我们继承了Ethereum社区丰富的开发生态系统和工具,使得开发人员可以很容易地在Celo上进行开发和构建。我认为我们与以太坊主要的不同在于平台的移动特性,即内置的稳定币和身份识别层。结合使用这些功能,可以轻松构建移动,社交、以稳定资产计价的dApps。

除了以太坊的优秀工具外,Celo还有一个软件开发工具包(SDK),使您可以轻松地与系统智能合约进行交互,并构建移动端优先的dApps。SDK由两部分组成:

ContractKit是一个帮助开发人员和验证人员与Celo区块链和Celo核心合同进行交互的代码库。它非常适合那些希望在应用程序中集成Celo智能合约(如稳定币、身份、治理)的开发人员。

dAppKit是一组轻量级功能,允许本地移动端dApps与Celo钱包一起签署交易并访问用户帐户。这样可以获得更好的用户体验::dApps可以专注于出色的应用体验,而不必担心密钥管理。它还提供了更简单的开发体验,因为不需要状态或连接管理。

除了SDK之外,cLabs还运行Forno,这是一个用于与Celo网络交互的托管节点服务,类似于Infura。这使得开发人员无需运行自己的节点即可连接到Celo区块链。请注意,Forno在开发时是一种便捷的工具,但由于Celo基于SNARK的超轻客户端协议,因此它在实际生产环境(以太坊中的方式)中的需求较少。

关于我们希望看到在Celo上构建的东西。我们cLabs特别高兴地看到移动应用程序进一步推动了Celo金融普惠的使命。为此,Celo拥有许多开发者计划,包括Celo Camp、社会影响孵化器的区块链挑战、Celo资助计划、Polychain生态系统基金等,这些计划都旨在创建更广泛的Celo社区金融普惠应用程序。

Q4:只要你知道我的电话号码,Celo就可以直接向我发送代币。为什么选择基于电话号码的身份系统,这是否意味着知道我电话号码的人也可以看到我的整个交易?

为了使在Celo上传输价值和发送文本一样简单,Celo使用基于地址的分布式加密协议,允许用户直接向电话号码发送价值,而不必知道长的基于公钥的地址。在Celo上进行的测试中,团队发现作为轻量级身份的电话号码更容易发送价值,减轻了在转移资金之前必须获得另一个用户地址的麻烦。更重要的是,这使得即使在收款人注册平台之前,也可以向用户转账(使用托管智能合约,该合约仅在接收者验证其电话号码后才释放资金)。

为了证明电话号码的所有权,Celo验证协议使用去中心化的验证器网络发送确认码。这类似于在使用集中式服务创建帐户时接收验证码的过程,但它使用随机选择的验证器,这些验证器向新用户发送加密签名的文本消息。一旦确认,协议将电话号码散列对应到的相应公钥进行分布式存储。这个方案使得人们很容易向朋友发送价值,因为他们只需要一个电话号码。

为了确保Celo用户的隐私,Celo对生成电话号码哈希的哈希函数使用每用户salts。这意味着要与用户进行交易,您需要同时拥有他们的电话号码和salt。Salts是使用一组分布式节点运行的未察觉伪随机数函数(oPRF)服务提供,这些节点限制用户只能在每个发送交易中查找一个帐户的顺序。要访问此oPRF服务,您需要验证您的电话号码。

当然,像比特币和以太坊一样,任何与你交易的人都可以看到你的账户余额。有鉴于此,Celo社区的成员已经开始着手研究如何使Zcash协议更具移动性和轻量级的客户端友好性,以便将其移植到Celo。查看我在DevCon5的演讲了解更多。

最后,在未来,这个轻量级身份系统还可以通过使用由cLabs的联合创始人之一Sep Kamvar设计的去中心化信用系统Eigentrust来支持缺乏信用记录的用户。

Q5:Celo基于以太坊代码库,如果Celo想要成为一种全球货币,它如何提高可扩展性?与以太坊的扩展方法有什么不同?

与许多最近的加密项目一样,Celo采用了拜占庭容错(BFT)共识算法。通过Celo的Proof-of-Stake共识算法选择的一组明确的验证器节点,按照一系列步骤在它们之间广播签名消息,以达成一致,即使在多达三分之一的节点离线、故障或作恶的情况下也能达成一致。当法定​​人数的验证者达成协议后,该决定即为最终决定。因此,验证的块永远不能回滚,所有出块的交易都是最终的。

与以太坊相比,这种方法的可扩展性大大提高。Celo不仅可以有更大的区块,更短的出块时间并且风险更小。Celo从5秒的出块周期开始,但可以根据需要缩短时间增加吞吐量。

最后,Celo使用BLS签名聚合来保持区块头较小(使用BLS12-377),并使用Plumo,这是一种新的轻型客户端协议,它使用SNARKs来证明区块头是整条链的一部分。这使得加入网络的新节点能够轻松,快速地以很少的数据与链同步,即使数据量已经显著增长。请查看我在斯坦福区块链会议上的演讲。

Q6:Celo是否使用与以太坊EIP-1559相同的交易成本/gas模型?如果客户希望使用不同的加密货币支付费用,您如何实现内部自动交易?

对!Celo使用基于EIP-1559的gas市场。该协议建立了适用于所有交易的最低gas价格,而与哪个验证器处理这些交易无关。gas最低价格将对需求作出响应,在持续需求期间不断提高,但允许gas需求暂时飙升,而不会造成价格冲击。Celo协议旨在以目标密度填充区块,目标密度是区块总gas限制的一定比例。当区块的填充量超过目标值时,最低gas价格将提高,直到需求减弱。如果区块的填充率低于目标时,最低gas价格将下降,直到需求上升。这使得gas价格和交易延迟在交易拥堵时期的波动性大大降低。

与以太坊一样,交易费用在Celo协议中扮演着重要角色,可以防止拒绝服务攻击。为了简化资金的发送过程,除了协议的本地代币Celo Gold,这些费用可以用类似于ERC20的代币支付。这意味着,向朋友或家人发送Celo Dollar的用户将能够从其Celo Dollar余额中支付交易费用,而不需要单独持有Celo Gold余额才能进行交易。

该协议维护一个可管理的智能合约地址白名单,可用于支付交易费用。这些智能合约实现了ERC20接口的扩展,附加功能允许协议借记和贷记交易费用。创建交易时,用户可以通过feeCurrency字段指定要用于支付gas的货币的地址。将此字段留空将导致使用原生代币Celo Gold。请注意,指定非Celo Gold gas货币的交易将额外花费大约10万gas。这一数字预计将在不久的将来大幅下降。

Q7:大多数PoS项目的代币供应量选择通货膨胀模型。为什么你们选择固定总供给量?固定供给是否会导致网络中的贫富固化?

基本的Celo协议有两种资产:弹性供给稳定价值资产Celo-Dollar和固定供给可变价值资产Celo-Gold。Celo Gold是协议的实用代币,有多种用途。例如,它是Celo协议共识和治理机制的重要组成部分,因为在验证器选举和治理决策中,投票权与锁定投票的Celo Gold数量成正比。

Celo Gold也是稳定机制的基础:它被保存在储备智能合约中,可以交换Celo Dollar,以平衡需求过剩或短缺。除了Celo Gold之外,一篮子多样化的非Celo加密资产组合。该储备会定期重新调整,通过链上治理设定目标资产配置。因此,Celo稳定机制可以理解为一个混合的加密资产抵押/铸币税模式。

由于相当一部分储备抵押品是以Celo Gold计价的,因此Celo Gold的价值不被过度稀释对于Celo Dollar的稳定至关重要。在Celo Gold总供应量不变的情况下,避免过度稀释更容易实现稳定。并且由于未来的供应不确定性较小,因此更易于对Celo Gold进行估值。

对PoS计划的主要批评是,Stake给大多数参与者造成了进入壁垒,这意味着它们将权力和回报集中在少数人手中,而且在协议中缺乏「无许可进入」,剥夺了新参与者赚取货币的机会,使他们无法以验证器的身份参与。

为了缓解这种情况,Celo为运营全节点的人提供了激励,这些人不需要staked资产。它还有一个社区基金,拥有25%的奖励,会将其(通过链上治理)资助给具有良好社区影响的项目。

Q8:你能谈谈Celo Gold(cGLD)的稳定机制吗?其他的抵押品可以用来创造Celo稳定币吗?

其稳定机制可以理解为混合加密资产抵押和铸币税式模型。为了保持cUSD的稳定性,该协议设置了激励机制调整cUSD供给,以在价格挂钩的情况下满足cUSD需求。

在更高水平上,Celo的扩张和收缩机制允许用户通过向外汇储备金发送价值1美元的cGLD来创建新的cUSD,或者通过兑换价值1美元的cGLD来烧掉cUSD。

这一机制使得当对cUSD的需求上升时,用户被激励在市场上购买价值1美元的cGLD,将其与协议交换为一个cUSD,然后以市场价格出售该cUSD(下面的数字示例中的扩展周期)。cUSD和cGLD之间的这种直接联系将cUSD的市场价格推回到1美元,而无需协议来估计最优的扩张或收缩金额。只有加密资产储备金可以让此进程持续透明地运行。

协议储备金仅由区块链资产组成,因此这些资产对利益相关者和社区完全透明。除了cGLD,初始储备还将持有其他去中心化资产,如BTC和ETH以及波动性较小的代币。随着未来更多的资产被代币化,该机制允许储备金也包括实物资产。Celo对包括代币化雨林和其他自然资本特别感兴趣。该储备金定期调整,以实现cGLD和非金币资产的目标比率。对于第一个版本的储备金,这种再平衡必须在中心化交易所进行。社区中有许多工作(如Summa和ChainSafe)正在致力于将比特币和以太坊等链上资产桥接到Celo,以实现更去中心化的再平衡机制。

Q9:你们为什么要设置100个验证器席位?Celo中的验证者组是什么,它们的作用是什么?

Celo选择验证器的机制源于以下情况:由于现有BFT共识算法的可扩展性限制,只有极少数节点可以担当此角色。这意味着对于网络性能和稳定性而言,避免少量节点的故障或恶意行为也很重要。尽管当前可以扩展到几百个节点,但是Celo的数量是100个,因此随着网络获得更多价值,它可以(通过治理)增加验证者的数量。

同时,Celo社区一直在开发BFTree,这是一种BFT共识算法,可扩展到成千上万个节点。与现有技术相比,这是一个根本性的改变,这意味着Celo项目可以嵌入真正无需信任且无需许可的PoS机制,因为节点无需选择过程即可加入。完整节点将像在以太坊公链中挖矿一样承担验证的额外角色,当然,这不会对环境造成影响。

Q10:如果验证者组的某个成员出现双重签名,则对于验证者组的未来奖励将有一个「阻尼因子(Damping Factor)」。这个因素是如何设计的?该验证者会影响整组吗?

验证器和验证器组通过维持最低锁定金币余额来stake,该余额从注册时到注销时都有削减风险,在他们最后一次作为验证器组的成员(对验证器来说)或拥有任何成员(对组来说)后经过一个「unstaking期」才能消除风险。对于小组,每个成员验证者需要stake。

削减(Slash)有几个影响:它从验证器的stake中扣除一笔金额,从它当时所属的组的stake中扣除相同的金额。它还将该组的削减惩罚减半,并重置计时器,在「宽恕期」之后将削减幅度恢复。最后,它会自动将验证器从当前组中移除,以便该组必须明确决定重新添加此验证器,然后才能重新选择它。

对于可由第三方检测和证明的行为(在当前设计中,为双重签名),任何地址都可以提交一份报告,如果之前未报告就会导致款项被扣除,收益会在提交人和社区基金之间分配。

在某些情况下,可以通过协议自动启动大幅度削减(例如,由于停机时间过多)。如果验证器或验证器组的stake低于要求的水平(由于削减),则在加满之前不会获得奖励。

值得强调的是,普通用户用来投票给验证器的stake金额永远不会有削减风险。

Q11:HashQuark是一家专业的Staking服务提供商,拥有成熟的维护系统和良好声誉。如何确保HashQuark在组规则中的优势?

就像任何PoS网络一样,验证器组需要向社区表明他们是协议的良好管家。随着时间的流逝,他们必须表现出长期可靠并且善于选择可信赖验证器的记录,保证可以安全地运营网络并且停机时间很少。HashQuark在其他网络上运行验证器的经验无疑将帮助其实现这些目标。

与其他PoS网络不同,验证器组如果不想运行自己的验证器,则无需这样做。他们可以与他们信任和审核的其他验证器一起工作。

Q12:你能谈谈和HashQuark合作的感觉吗?

HashQuark成为Celo社区的一员真是太好了!HashQuark不仅参加了「Great Celo Stake Off」大赛,而且还跻身前70名验证者获得了奖项。没有验证者社区的支持,Celo不可能成为今天这样的平台!

Q13:风险承担者将自己的cGLD绑定三天。为什么设定为三天?有些项目会设定更长的时间。三天能保证风险控制吗?

Celo对验证器、验证器组和投票给验证器的人使用不同的解锁周期。

与其他网络一样,验证器(和验证器组)的解锁周期很长(大约几个月),以创建较长的客观性窗口,并阻止中短程攻击(如双花攻击)。

对于投票者而言,Celo使用更短的解锁时间(大约3天)。这3天的解锁期平衡了两个问题:

首先,请求解锁前,已经过足够长的时间进行选举,cGLD不再对验证器管理网络产生任何影响。这阻止了攻击者以借入资金的形式进行操纵,通过借入资金购买cGLD,然后使用该cGLD来选择恶意验证者,因为他们只有在攻击后才能才能归还借入资金,而攻击后可能会被发现,导致借入的资金价值下降。

第二,解锁期足够短,对于大多数用户而言,不构成重大的流动性风险。这限制了交易所在锁定的cGLD中创建衍生品和二级市场的吸引力。这类衍生工具汇集投票权会导致集中化,这一点已经在其他PoS网络上可以看到。

Q14:Celo的一些参数可以通过链上治理(而不是通过硬分叉)进行修改。您能否透露决策主要涉及哪些参数?您如何看待链上治理在项目中的重要性?

Celo使用链上治理机制来管理和升级协议,例如升级系统智能合约、添加新的稳定货币或修改储备目标资产配置。所有变更必须经过cGLD持有人的同意。法定人数阈值模型用于确定提案通过所需的票数。

变更通过Celo治理智能合约进行管理。该合同作为「所有者」对其他协议智能合同进行修改。这种智能合约被称为可管理合约。治理合同首先将由一个多签名钱包拥有。在未来,当社区对DAO s(分布式自治组织)的经验有一定发展,当平台被证明是稳定和安全的时候,它将作为参与DAO的cGLD持有者所拥有。

更改过程分为以下几个阶段:

提案

批准

公投

执行

有些更改不能仅仅通过链上治理过程来实现。比如对基本共识协议的更改和可能导致硬分叉的更改。当需要Celo区块链软件升级才能继续在网络上正常运行时,会设置一个「最低客户端版本」参数来指示它所需的最低版本。

Q15:如何看待传统开放银行与加密货币项目的关系?对你们来说更偏向合作还是竞争?

Celo的目标是让世界上任何一个拥有智能手机的人都能在一个由用户社区运营的去中心haul平台上获得金融服务、向电话号码汇款和支付商家费用。

为了实现这一目标,该项目采用了全栈方法,在设计堆栈的每一层时都要考虑到最终用户,同时还考虑了保证最终用户体验所涉及的其他利益相关者(如网络中的节点运营商)。

这样,Celo与当前的银行服务商兼容,他们可以通过APIs和其他方式直接连接到区块链。

Q16:谁是Celo的竞争对手?有人说Celo的竞争对手是XRP/XLM,有人说是MakerDAO,还有人说是以太坊。你们的目标竞争对手是谁?与它们相比有什么优点和缺点?

Celo是一个开放的平台,是任何拥有手机的人都可以使用的金融工具。Celo的目标是为全球60亿智能手机用户带来开放式金融。不同的区块链协议采用不同的技术、设计和市场策略来达到其目标市场。

没有一个协议采用与Celo相同的方法,因此很难将任何人列为直接竞争对手。区块链领域有巨大的创新空间,许多协议最终都可以成功。

一些媒体把Celo比作「去中心化的Libra」,Celo平台在许多方面都是独一无二的,这里概括了其中一部分:

移动端优先可用性和可访问的金融工具

独特的去中心化身份解决方案

强大的全球联盟和社区

Q17:Celo最近的发展如何?预计主网什么时候上线?成为验证者有什么条件和门槛?

预计4月下旬主网RC1上线。以下是最近的路线图:

新Baklava测试网

验证者使用功能完整的软件建立新的测试网

安全审计完成

解决所有未解决的问题以强化代码库

主网发布候选版本1

验证者使用可用于生产的软件开始启动候选网络

验证器选举开始

当注册和stake了足够的验证器和组时,可以通过链上治理提案启用验证器选举和epoch奖励

Celo Gold投票人奖励

投票人奖励可通过链上治理提案实现

主网上线候选版本X

在发现关键问题时,可能会有其他候选版本发布

Celo Gold上线

当网络平稳运行时,可通过链上治理提案启用Celo Gold交易

Celo Dollar上线

当预言机可以为Celo Gold提供定价时,可以通过链上治理提案实现Celo Dollar转账

主网移动钱包上线

在iOS和安卓系统上完全可以下载主网移动钱包

成为验证程序所需的条件为:

访问高可用性网络和安全数据中心

Baklava测试网Celo Gold(cGLD)锁定stake,见faucet说明

使您的节点保持最新协议版本

运行轻量级身份认证服务

强烈推荐

对于验证器:

具有一个SSD和一个HDD的现代服务器级硬件,运行Linux发行版并应用了安全补丁,以及位于物理安全设施中的对称高带宽、低延迟互联网连接

与验证器位于同一地点或部署在云环境中并通过VPN与之连接的第二台VM或机器,用作哨兵节点

第二台裸机、虚拟机或容器,与验证器位于同一位置,或部署在云环境中,并通过VPN连接,用作哨兵节点

部署认证服务的第三方类似实例

对于全节点:

一台具有一个SSD和一个HDD的VM或机器,运行应用了安全补丁的Linux发行版本,以及对称的高带宽、低延迟互联网连接。

相关文章