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 说明
- 使您的节点保持最新协议版本
- 运行轻量级身份认证服务
强烈推荐
1)对于验证器:
- 具有一个 SSD 和一个 HDD 的现代服务器级硬件,运行 Linux 发行版并应用了安全补丁,以及位于物理安全设施中的对称高带宽、低延迟互联网连接
- 与验证器位于同一地点或部署在云环境中并通过 VPN 与之连接的第二台 VM 或机器,用作哨兵节点
- 第二台裸机、虚拟机或容器,与验证器位于同一位置,或部署在云环境中,并通过 VPN 连接,用作哨兵节点
- 部署认证服务的第三方类似实例
2)对于全节点:
一台具有一个 SSD 和一个 HDD 的 VM 或机器,运行应用了安全补丁的 Linux 发行版本,以及对称的高带宽、低延迟互联网连接。
以上便是本次 AMA 的所有内容,如果你还有任何其他疑惑和见解,欢迎加入我们的社群。同时如果关于 AMA 主题有任何推荐请告诉我们,我们下期 AMA 不见不散。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- dfuse 开源区块链开发堆栈,提供高阶区块链数据服务
- 开源区块链Tendermint开发详解
- 区块链进化论:极客与开源
- Chain:开源区块链平台 创建行业标准
- 白硕:区块链+开源数据库≥商业数据库
- GitHub 上开源的区块链项目 90% 死亡了
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Servlets & JSP(中文版)
(美)巴萨姆、(美)塞若、(美)贝茨 / 苏钰函、林剑 / 中国电力出版社 / 2006-10 / 98.00元
《Head First Servlets·JSP》(中文版)结合SCWCD考试大纲讲述了关于如何编写servlets和JSP代码,如何使用JSP表达式语言,如何部署Web应用,如何开发定制标记,以及会话状态、包装器、过滤器、企业设计模式等方面的知识,以一种轻松、幽默而又形象的方式让你了解、掌握servlets和JSP,并将其运用到你的项目中去。《Head First Servlets·JSP》(中......一起来看看 《Head First Servlets & JSP(中文版)》 这本书的介绍吧!