Defi应用底层公链Ergo平台站在巨人的肩膀上,在过去、现在的研究以及对未来的清晰愿景方面不断完善。它从比特币和以太坊的错误中汲取了教训,并开发了一些在加密货币和智能合约领域首创的最具创新性且卓越的解决方案和技术。
这篇文章和采访揭开了智能合约、UTXO模型与账户模型、Gas机制与虚拟机的神秘面纱,澄清了对它们的误解。我们揭示了ErgoScript的强大功能,以及加密货币实际上如何做到“比特币”有的东西,还可拥有比特币没有的无限功能。
就个人而言,我想补充一点,我感到许多项目为了追求Ergo已经取得的成就而牺牲了比特币的基本价值。
目录
1. 智能合约简史
2. 合约币
3. UTXO模型与账户模型
4. ERGO
▅ 工作量证明 VS 权益证明
▅ 轻节点
▅ 治理
▅ ErgoScript
▅ 隐私协议
▅ 经济
5. Alex Chepurnoy (Github上大名鼎鼎的顶级区块链极客kushti)
6. 采访
7. 结论、感谢词和有用链接
8. 参考文献
1. 智能合约简史
为了更好地深入了解Ergo,我们须首先将比特币视为一种编程语言。
当大家想到智能合约,通常会想到以太坊。尽管以太坊让智能合约这个概念火起来功不可没,但智能合约的想法和实现远远早于此。
这一概念起源于加密朋克运动(Cypherpunk Movement),特别是Nick Szabo,时间可追溯道20世纪90年代。
迄今为止,计算机使算法的运行变得非常昂贵,且使网络能够更快地传输更大、更复杂的消息。 此外,计算机科学家和密码学家最近发现了许多新的且相当有趣的算法。将这些消息和算法结合起来可以实现各种各样的新协议。
现在,数字革命使新机构和使构成这些机构的关系形式化的新方法成为可能。我将这些新型合约称为“智能”合约,因为它们比无生命的纸质合约具有更多的功能。不暗示使用人工智能。智能合约是一组以数字形式规定的承诺,包括签约方在其中执行这些承诺的协议。
- Nick Szabo, 1996 [1]
中本聪(Satoshi Nakamoto)是第一个使用比特币脚本实现编程语言的人。智能合约的早期示例是哈希时间锁定合约(HTLC)[2]。 在HTLC中,可以将任意数量的加密货币锁定在一个地址中,直至到达指定区块高度为止。闪电网络(Lightning Network)将HTLC用作其第2层支付解决方案的一部分。
中本聪的高频交易是比特币更复杂编程的早期尝试[3]。简而言之,需要对大量交易进行通信的对等节点(Peer)可以在提交最终更新的链上交易之前在链下进行通信。
在比特币0.1中实现的功能包括交易替代(Transaction Replacement)[2],输入序列号(nSequence)和nLockTime,这些功能将允许两个或多个参与者在未确认交易被确认之前重复更新其状态。Bitcoin wiki,“支付频道” [3]
实际上,发送比特币可以被认为是所有程序中最简单的。
用比特币脚本编写的程序会附加到每个交易输出(即收到的金额)上; 该程序通过确定如何将交易输出用作未来交易(即花费目的)的输入来保护交易。 [4]
2. 合约币
无论我们是谈论程序或脚本,还是智能合约或dApp,我们实质上都是在谈论同一件事——编程货币(Programming Money)。 Ergo将此称为“合约币”。
编程货币的某些方法具有某些限制。 例如,比特币脚本不支持“循环(Looping)”,但另一种语言可以“足够丰富”则有可能支持“循环”[4]。
以太坊(Ethereum)解决循环问题的解决方案,也称为Gas机制,在Ergo论文中被描述为“专门(ad-hoc)”解决方案。Gas机制不是智能合约平台的首要必备条件。换言之,Gas机制是可以避免的。
如果脚本语言足够丰富,那么它就可以编写出图灵完备的合约,同时避免像以太坊中的Gas机制这样针对程序暂停的专门解决方案。尽管ErgoScript的通用性明显比Bitcoin脚本更强,但它仅包含一些操作,这些操作可以在执行之前估算脚本的复杂性,从而防止各种DoS攻击。但是,此指令集足以轻松编写任何可能的程序——ErgoScript已被证明是图灵完备的[4]
多年来,比特币脚本语言的许多功能已被弃用,主要是出于安全方面的考虑。
今天,我们比中本聪在十年前对如何为智能合约创建一种安全的编程语言知道的多得多,而且这个主题已经得到了很好的研究。
从早期开始,区块链隐私协议也取得了巨大进步。 无论是环签名、非交互式零知识证明,还是CoinJoin。
我们接下来了解认识一下Ergo。
我们提出了一种灵活的新区块链协议——Ergo。 Ergo专为开发去中心化应用(dApp)而设计,其主要专注于提供一种有效、安全、易用的方式来实现金融合约。
为了实现这一目标,Ergo包括对现有区块链解决方案的各种技术和经济改进。 Ergo中的每一枚代币都得到ErgoScript中的一个程序进行保护,ErgoScript是一种基于西格玛协议的功能强大、对协议友好的脚本语言。 [5]
Ergo跟“比特币”很像,但它带来了最新的区块链技术和研究。Ergo并不是唯一一个使用优先于以太坊账户模型的UTXO模型的、类似于比特币的智能合约平台,但Ergo也许是最先进的。
Ergo的研究不仅限于智能合约,还扩展到其他领域,包括挖矿、去中心化治理和隐私协议。
为了长期生存下去,Ergo首选使用久经考验的解决方案。如果还没有针对某个问题的经过测试的解决方案,那么我们将进行自己的研究,而由Ergo开发团队发表的经同行评审论文数量已经很多。
Ergo团队进行了大量研究,并撰写了大量学术论文。 Ergo网站上提供了三份白皮书,还有十份“基础”论文。
3. UTXO模型VS账户模型
关于在智能合约中使用类似比特币的UTXO而不是以太坊账户模型的效果,现在存在误解。以下是对一位研究员在Medium上发表的关于UTXO模型和账户模型对比文章中的引述,清楚地表达了这种误解。
基于UTXO模型的区块链的可编程性较弱,几乎不可能进行复杂的计算。
然而,当阅读Alexander Slesarenko在FlowCards发表上的一篇Ergo论文时,这种谬论被打脸了,该论文指出“ Ergo的交易模型比基于账户的模型有很多优势。” [8]
ErgoScript是Ergo区块链使用的智能合约语言。 尽管它具有Scala / Kotlin所采用的简洁语法,但乍一看仍然令人困惑,因为从概念上讲,ErgoScript与我们都知道和喜欢的常规语言相比有很大不同。这是因为Ergo是基于UTXO模型的区块链,而智能合约传统上与基于账户模型的系统(如以太坊)相关联。但是,与账户模型相比,Ergo的交易模型具有许多优势,并且通过正确的方法,开发Ergo合约甚至比编写和调试Solidity代码要容易得多。 [8]
“与以前的解决方案相比,AVL +树可构建有效的经过身份验证的字典,该字典可减少证明的大小并将验证速度提高1.4-2.5倍” [5]
以太坊的账户模型是命令式的。这意味着将代币从Alice发送给Bob的典型任务需要完成更改存储中的余额等进行一系列操作。然而,另一方面,Ergo基于UTXO的编程模型则是声明性的。ErgoScript合约规定了区块链接受交易的条件(而不是由于合约执行而导致存储状态发生变化)。
智能合约的快速执行和吞吐量通常被认为是采用账户模型的原因。 所以我在discord里面提问:
以太坊具有比Ergo更快的出块时间(Blocktime),且通常来说,账户模型对于快速执行合约似乎更有效。ERGO之类的UTXO模型在执行智能合约方面如何与账户模型竞争?
Emurgo的Robert Kornacki(在采访中有更多关于他们的信息)提供了令人惊讶的答复,这再次证明了这方面的误解。
您可以在其自己的UTXO中并行执行操作,从而提高给定智能合约的吞吐量,这使您可以在每个块中执行更多操作。看看几天前我们(Emurgo)在这篇文章(https://github.com/Emurgo/Emurgo-Research/blob/master/smart-contracts/High%20Level%20Design%20Patterns%20In%20Extended%20UTXO%20Systems.md)
中发布的最后两种模式[9]
UTXO设计(以及一些新的设计模式)允许提高每个区块的吞吐量。 因此,实际上(imo)比基于账户的更好,因为状态不会发生突变,但是销毁/创建币盒的功能更强。 [10]
4. ERGO
我们认为,绝大多数成功的公链用例都与金融应用有关。Ergo通过将保护脚本(以及其他自定义数据)附加到每一枚代币上,扩展了比特币编写合约的方式。 因此,Ergo应用是根据内置于币盒中的保护脚本进行定义的,币盒内还有执行所涉及的数据。[5]
在与Ergo的创始人和首席开发者Alex交谈之前,我将介绍Ergo的一些主要特征。
a. 挖矿
在所有共识机制当中,Ergo使用的工作量证明(PoW)机制是经过最严格测试的。
选择PoW机制的原因有很多,其中包括PoW协议已被广泛研究,具有高安全性保证并且对轻客户端友好。
但是,针对PoW机制通常会导致挖矿资源集中化的问题,Ergo已开发出一种解决方案来执行单独挖矿,在该解决方案中,矿工须持有到挖矿节点地址的私钥。 虽然这对去中心化和网络安全性很有用,但它提高了进入的障碍。
有趣的是,当前正在开发的抵押智能合约(Collateralized smart contract)提供了一种解决方案。Alex在采访中对此进行了阐述(见下文)。
权益证明存在的问题
在权益证明中,代币与网络安全密不可分。对于PoW,情况并非如此。PoS将产生PoW网络无需考虑的新型漏洞。
权益证明(PoS)是一种新兴的Sybil攻击抵御机制,旨在使数字资产(“代币”)充当加密货币网络中的担保抵押品。但是,到目前为止,PoS尚不能摆脱一个全面的威胁模型,该模型既包含来自分布式系统的拜占庭攻击,又包含由于双重使用代币作为支付手段和Sybil攻击抵抗机制而引起的金融攻击。特别是,与PoW相比,在PoS系统中,衍生产品市场的存在使验证者之间更容易暗中勾结作恶。我们证明了链上借贷智能合约也有可能蚕食PoS系统中的网络安全性。当这些合约提供的收益比Staking(权益挖矿/质押)提供的通货膨胀率更具吸引力时,权益持有者(Staker)将倾向于撤走质押代币并将其借出,从而降低网络安全性。 [6]
b. 轻节点
在任何高流量的网络上运行全节点都是普通用户无法实现的。等待几天的时间来同步区块链是一种痛苦的用户体验,因此,绝大多数人在使用比特币或以太坊等区块链时都依赖“轻节点”。
问题在于,绝大多数轻节点钱包依赖于钱包供应商运营的受信任节点。 因此,这些系统的存在显然是对区块链为确保安全性和完全去中心化而要求无需信任设置的讽刺。
由于Ergo是PoW代币,因此,Ergo有办法解决中心化轻节点的问题。
Ergo设计旨在确保去中心化的同时最大程度地方便用户。PoW的重要特性之一是无需下载整条区块链就可以验证已完成的工作。Ergo区块支持NiPoPoW证明,从而允许轻客户端只需下载不到一兆字节的数据便可跟网络同步。
c. 治理
比特币因社区就如何扩展加密货币的争议而产生而发生分叉,最终导致分裂和分歧。例如,更改块大小需要有争议的硬分叉。
设计投票系统是为了尝试创建去中心化的调解解决方案,以就如何执行更改达成社区共识。这些方法,就像DASH最早使用主节点进行的尝试之一一样,很容易受到控制最多代币并因此控制多数票的参与者操纵。
Ergo通过链上矿工投票的“行动胜于雄辩”的方法解决了这个问题。
适应性强的网络应适应不断变化的环境,而无需受信任方(例如“核心开发者”团队)的干预。Ergo的链上矿工投票协议允许逐步修改大量参数,包括最大区块大小、存储租赁费系数,等等。
如要进行基本的更改,Ergo将采用一种软分叉方式——如果网络绝大多数参与者接受新功能,则将启用该功能,但是,未升级的旧节点将继续正常运行,只需跳过此功能确认即可。因此,在Ergo中不需要进行具有破坏性的硬分叉。
d. ErgoScript
如前所述,Ergo认为,“如果脚本语言足够丰富,它就可以编写图灵完备的合约,同时避免针对程序暂停的专门解决方案,例如以太坊中的Gas机制。”
这些想法很复杂,因此Ergo网站在解释Ergo Script方面做得令人钦佩。了解了我们现在对比特币脚本和以太坊范式转变所做的工作,读者可能会更充分地体会到Ergo的先进之处。
由于是轻客户端,Ergo DApp和链下协议可以以真正去中心化的方式实现,但是,它们还需要灵活且安全的智能合约语言。Ergo智能合约基于类似比特币的UTXO模型,其中每个输出均受某个脚本保护。如果脚本语言足够丰富,那么它就可以编写图灵完备的合约,同时避免针对程序暂停的专门解决方案,例如以太坊中的Gas机制。
尽管Ergo脚本的通用性比Bitcoin脚本明显更强,但它还包含一些操作,这些操作可以在执行之前准确估算脚本的复杂度,从而防止各种DoS攻击和“暂停”问题。但是,此指令集仍然足以编写任何可能的程序——已证明ErgoScript是图灵完备的。Ergo脚本的加密部分基于西格玛协议,自然支持阈值m-n-n签名、环签名等等。牢记所有这些,我们希望ErgoScript和Ergo的设计能够使其作为合约币起到独特的作用,让不计其数的应用变得可行。
e. 隐私
作为具有强大脚本语言的UTXO代币,Ergo支持环签名和非交互式零知识证明。
Ergo本身并不是一个隐私代币,但是它确实支持极其强大的隐私工具,例如链上混币器,它将CoinJoin与zk-SNARK结合在一起,可创建一个功能强大的新协议,称为ZeroJoin [7]。
区块链中的隐私增强技术通常分为两类。首先是隐藏正在转账的金额,例如在机密交易[1]中。第二个是掩盖输入输出关系,例如ZeroCoin [2]、CoinJoin [3]。一些解决方案,例如MimbleWimble [4]和Zcash [5,6],将两种方法结合在一起。
在这项工作中,我们描述了ZeroJoin,ZeroJoin是另一种增强隐私的协议,该协议基于后一种用来掩盖输入输出关系的方法,同时保持金额公开。这使我们避免了第一种方法所需的昂贵范围证明(Range Proof)。我们的协议源自ZeroCoin和CoinJoin,目的是克服它们的某些局限性,并且可以将该协议视为两者的组合。 [7]
更一般而言,在智能合约中使用这些协议可以创建尊重财务和法律隐私的DApp。
F. 经济
Ergo解决了所有代币都被挖完后该怎么办的问题,这个问题仍然困扰着比特币社区。Ergo的解决办法就是,针对四年以上未移动的代币收取存储租赁费。
这个想法类似于常规的云存储服务,但是将其应用到区块链系统中会产生许多重大效果。首先,Ergo挖矿将始终保持稳定,这与比特币和其他PoW加密货币不同,后者在代币释放期结束之后挖矿可能变得不稳定。其次,状态规模的增大变得可控且可预测,从而降低对Ergo矿工的硬件要求。第三,矿工通过从过期的币盒中收取存储租赁费,可以让丢失的代币重回流通环节,从而防止因丢失钥匙而导致流通量稳定下降。
这是一个非常前卫的概念,Chepurnoy在随后的采访中谈到了这一点。
以上所有内容只是对ERGO做了肤浅的研究,但是作为基本介绍就足够了。现在是时候迎接Ergo创始人。
5. Alex Chepurnoy(kushti)
自2011年以来,Alex Chepurnoy一直活跃于区块链开发和智能合约领域。他是NXT的核心开发人员,于2014年创立smartcontract.com(即现在的Chainlink),是IOHK的研究员,攥写了20多篇区块链学术论文。
几年前,NXT是行业的领头羊,Alex正在将资产代币化(通证化)并设计去中心化交易所时,以太坊创始V神(Vitalik Buterin)还在给《Bitcoin Magazine》攥稿并等待大学退学。
以太坊联合创始人Charles Hoskinson,他后来参与卡尔达诺(ADA)建设并于2015年成立了IOHK,他非常看好Ergo。
Chepurnoy带着酷酷的招摇和好奇而美好的微笑。 从2019年的演讲中可以看出,俄罗斯人的服装和发型使我想到(至少对我来说)1970年的国际象棋大师。
https://youtu.be/nK2ZBsLCGIU
在下面的采访中,Alex Chepurnoy(又名 kushti)与The Daily Chain谈论Ergo。
6. 采访
Alex Chepurnoy,在他的婚礼上拍摄(2014年)
问:您好,Alex。您能给我们简单介绍一下您在区块链行业的贡献吗?
自2011年以来,我就一直在这个行业。从2013年初开始,我开始从事有关比特币和加密货币交易(带有自动对冲功能的钱包,与BitcoinWisdom等同时推出的首批交易数据聚合器之一)的各种服务。
2014年4月,我加入了Nxt核心开发部门,并从那时起开始专注于核心开发。此外,我在2014年与Sergey Nazarov做了几个项目(cryptamail.com、secureae.com),在2014年底,我们(我、Sergey Nazarov,Steve Ellis和Wesley)发布了smartcontract.com的初始版本,如今,smartcontract.com已转入著名的ChainLink(但我于2015年底离开smartcontract.com,而Wesley先于我离开)。我也在2015年底离开了Nxt核心开发部门。
在Nxt工作时,我开始开发非常易用的区块链框架Scorex,后来将其转入模块化区块链框架。该项目在2015年秋季中旬得到了Cardano和以太坊联合创始人Charles Hoskinson的关注。然后我于2016年1月左右加入了IOHK。我想我甚至可能是前五名员工之一!最初的Ergo平台(Ergo Platform)设计诞生于2016年底,从2017年年中开始,我开始无薪休假,专心致力于Ergo平台的开发。
问:能否请您介绍一下您在IOHK的工作经历以及这些经历跟您对Ergo投入开发的之间有何关联?
在IOHK中,我们研究了Scorex和一些研究主题,例如高效的无状态客户端,混合式的工作量证明+权益证明协议(TwinsCoin)、存储租赁费模式、高效的移动客户端(使用NiPoPoW技术具有真正的SPV安全性), 等等。 Ergo平台部分基于我们发表的论文,但我们也考虑了其他人的研究成果(例如,在IOHK,NiPoPoW主要由Dionyzis Zindros和Kiayias教授开发,毕竟跟其他人一起研究讨论,能从他人那里获得好的想法)。
RAMICS 2019 Hida-Takayama —学术会议(2019)
问:您在比特币诞生之前在做什么?您能告诉我们一些关于您的背景和学历吗?
在比特币诞生之前,我从事分布式系统开发,也对点对点应用非常感兴趣。我最初对比特币纯粹是技术层面上的兴趣,后来对它可能产生的社会影响深入了解并感到非常激动。我学过系统(接近裸机)和应用层级的编程,但没有完成分布式系统形式化验证的博士学位。 关于密码学,我大多是自学成才。
问:为什么要启动Ergo,为什么要命名为Ergo?
最初的想法是将论文中不同的优秀设计进行组合,通过组合论文可以听起来更好。当时只有论文中存在许多好的设计。事实证明,从相同的第一原理出发,该设计也可以被视为对比特币的深度改造。
Ergo在拉丁语中的意思是“因此”,而在希腊语中的意思是“工作”。我更喜欢第二个含义,但两者都很好。 最初,选择此命名是为了表明加密货币的设计符合人体工程学(ERGOnomical)。早期的座右铭之一是“ Ergo是AAA级的工作量证明区块链”。
问:是否可以说Ergo通过强大的脚本来释放比特币的潜力?请说明。
Ergo遵循具有一次性代币(UTXO)的比特币交易模型,该交易模型将由消费交易完全消耗。 但是保护一次性代币的脚本在Ergo中完全不同。尽管如此,重点还是放在安全性和可扩展性上,但是Ergo中的程序比比特币中的功能强大得多。我们的用例包括众筹、预言机、去中心化交易所、稳定币、NFT拍卖等。
真正独特的另一个功能是支持称为“通用Schnorr证明”(或西格玛协议)的高效且可组合的零知识协议。 我将进一步解释其含义。
问:可以说Ergo从比特币犯下的错误中学到了东西吗?请说明。
Ergo基于从比特币中获得的许多观察结果。 例如,由于现在大家都在讨论比特币网络将来在比特币区块奖励释放完毕后可能变得不稳定,受此启发,从长远考虑,我们设计了存储租赁费这一奖励机制来稳定矿工的收入。比特币脚本对分析和工具并不友好,我们在合约层设计期间考虑到了这点。比特币将采用Schnorr签名,而Ergo中最简单的签名始终与Schnorr有关。还很多诸如此类的改进。 可以说,我们通过深入研究比特币学到了很多东西。
问:您将如何比较智能合约的以太坊范式和智能合约的Ergo范式?请说明两种方法的优缺点。
Ergo的语言不是图灵完整的,但是在该区块链上的计算显示为图灵完备的。 Ergo应用的开发可能更复杂,另一方面,它们对轻客户端更友好,对隐私更友好。
问:“ Ergo应用的开发可能会更加复杂”。您能否详细说明一下这是否是暂时情况?
UTXO模型中的强大合约是非常新的事物,因此设计模式仍有待发现。 几年后情况可能会大不相同。 正如Robert Kornacki在这里(https://github.com/Emurgo/Emurgo-Research/blob/master/smart-contracts/High%20Level%20Design%20Patterns%20In%20Extended%20UTXO%20Systems.md)总结得很好。
“鉴于基于智能合约的UTXO系统是新生的,因此开发人员在构建dApp时可以依靠的已知设计模式明显不足。对照以太坊等账户模型,在UTXO模型中编码协议,与为功能编写命令式代码大不相同。”
但是对于一些已经发现的应用,事实证明,与以太坊相比,Ergo解决方案非常简洁。 但是,开发人员需要了解新的交易模型才能获得简洁的解决方案。
问:Ergo的主网上已经部署了哪些智能合约,且已有哪些用户友好的模板(如有)?
混币器正在运行,有一些预言机在传送数据,已部署初步测试稳定币原语。 矿池也基于抵押合约。更多消息即将公布!
问:“该语言支持一种称为西格玛协议的非交互式零知识证明,并且足够灵活,可以支持环签名、多重签名、多种货币、原子交换、自复制脚本和长期计算。 ” 请说明西格玛协议和ErgoScript在完善智能合约编程方面的重要性。
通过使用通用Schnorr证明,可以在应用层进行非交互式混币,并且非交互式混币器已经在Ergo平台主网上运行! 参考协议客户端将支持环签名和阈值签名(保留零知识,与比特币中的多重签名不同)。
问:关于存储租赁费:如果我有1000枚ERG并且十年不动它们,还会剩下多少?
如果ERG用单个密钥保护,则至少剩下998.7枚ERG。存储租赁费按字节收费,因此,如果您不向区块链发送垃圾信息,那么我猜这些收费是可以忍受的。另外,矿工可以修改这些费用,所以我给出了最大可能的费用系数值(目前是2倍)的答案。
问:您说它有助于解决PoW奖励减少的问题,那么为什么不选择长尾释放呢?
无休止的释放需要无休止的需求增长,以避免通货膨胀(如果我们认为Ergo是更具很强波动性的资产,则购买力会下降,这是按法定货币计价的下降)。 这可能不是很现实,因此我们赞成限期释放,并通过其他方式解决挖矿奖励稳定性的问题。
问:关于“社会契约”:Charles Hoskinson指出,在救助The DAO并违反了“代码即法律”之后,以太坊违反了“社会契约”。 Ergo的”社会契约”是否是对此事件的回应?
我也是非常反对以太坊的救助分叉(Bailout Fork),关于这件事,2016年我和Charles(前以太坊创始人)还接受过采访(https://www.youtube.com/watch?v=5040I0PW7rc)。 Ergo的”社会契约”绝对是对这一事件以及我们在这个行业中目睹的许多其他不幸事件的回应。
问:请向我们介绍有关ERGO安全审查的信息,为什么选择让Jean Philippe Aumasson执行安全审查?
对于Ergo来说,安全性是重中之重,它的重要性在高级功能之上。 因此,需要对所有代码进行内部审查,这对于所有好的项目来说都是很常见的事情。 此外,该代码中最关键的部分还经过了这个行业非常专业的知名人士的评审。 特别是,波士顿大学教授Leo Reyzin对西格玛协议实现进行了评审(他还设计并实现了西格玛协议的某些部分)。
后来,在主网启动之后,我们邀请Jean-Philippe审查了代码中最关键的部分:工作量证明实现、钱包、序列化等等。 Jean-Philippe在信息安全领域声名显赫,在Ergo之前对加密货币客户端进行了一些审查,例如,他为Waves和以太坊经典的Mantis客户端进行了审查。 希望我们将来会有更多的审查!
问:您能否简要介绍一下该项目的资金和合作关系?
Ergo平台的开发是通过在主网存在的头2.5年内通过每个区块释放出的开发资金奖励来资助的。在当前的流动性和币价的情况下,尽管资金很难,但开发进展顺利!
Ergo释放曲线图
合作关系是Ergo平台推广的重要组成部分。 当前,宣布了三个合作关系。 最近,Ergo加入了区块链隐私、安全和采用联盟(bpsaa.vision)。 此外,5月份,Ergo基金会宣布与隐私友好的Cypra钱包cypra.io建立合作关系(该钱包计划支持BTC、ERG和其他一些加密货币,并支持原子交换)。 最后,Ergo刚刚宣布与Emurgo合作,共同开发DeFi,而且Ergo也将被添加到Yoroi钱包中;详细信息在新闻稿(https://emurgo.io/en/blog/emurgo-to-partner-with-ergo-and-build-blockchain-based-decentralized-financial-solutions%C2%A0.)中。
问:“ Ergo脚本的加密部分基于西格玛协议,自然支持阈值m-of-n签名、环签名等。” 更多内容包括零知识证明和ZeroJoin。请介绍一下Ergo中的隐私协议
当前,最完善的隐私增强应用是一个名为ZeroJoin的混币器,详见https://eprint.iacr.org/2020/560。与比特币中的混币器不同,ZeroJoin是非交互式的,因此用户只需使用区块链便可进行混币,而无需依赖托管服务或协调器。 这解决了很多安全问题。 主网上已有一些ZeroJoin实现在运行!
但是,我相信将来会开发更多的应用,例如保留隐私的拍卖或保留隐私的DAO(我相信健康加密货币的区块链适用于金融应用!)。
问:Ergo能否做到以太坊做不到的事情?
以上的隐私应用通常在以太坊中昂贵,不切实际。 甚至一个环签名也太昂贵了! 我猜将会发现更多在以太坊中太昂贵但在Ergo中符合实际的应用。
问:以太坊创建了“账户”(非UTXO模型)、“Gas”和“虚拟机”来运行智能合约。 Ergo没有这些东西,并且“类似于比特币”,但是几乎可以做以太坊可以做的所有事情。您能简单地解释一下如此神奇的事情是如何实现的吗?
我在2017年提出了一个问题,即我认为在公链(又名加密货币)的背景下,这可能是当今最严重的问题。该问题是:如何支持99%的有用以太坊应用(因此无需考虑CryptoKitties和Ponzi方案),但要比以太坊提供的工具简洁得多,而且这种方法还必须对已知的可扩展性解决方案友好。
普遍的看法推动了Ergo合约开发:几乎所有有用的应用都是金融应用;没必要在区块链上存储大量数据,更好的做法是支持链下数据真实性的简短证明;拥有内置代币比通过合合约创建更好;访问另一份合约中的状态元素(合约)应该是只读的。因此,我们使用了非常简洁的工具获得了许多有用的合约示例,并且Ergo可能支持99%的有用以太坊应用。
问:您能否介绍一下轻客户端,以及Ergo处理这些客户端的方式有何不同吗?
Ergo平台协议在轻客户端方面具有优越性。它首次在该行业中支持轻型全节点。关于其背后技术,有一个非常不错的视频
(https://www.youtube.com/watch?v=PHY7JnLrK5o)。
通过使用
https://nipopows.com/
上解释的NiPoPoW技术,Ergo还为具有真正SPV安全性的超高效移动客户端提供了卓越的支持。
7. 结论
“ nanos gigantum humeris insidentes”
Defi应用底层公链Ergo平台站在巨人的肩膀上,在过去、现在的研究以及对未来的清晰愿景方面不断完善。
它从比特币和以太坊的错误中汲取了教训,并开发了一些在加密货币和智能合约领域首创、最具创新性且卓越的解决方案和技术。
感谢
Alex Chepurnoy和Robert Kornacki
英文原文来源:The Daily Chain,作者:D. G. Altman,发表时间:2020年6月17日
参考文献
[1] Smart Contracts: Building Blocks for Digital Markets, Nick Szabo (1996)
[2] Hash Time Locked Contracts — Bitcoin Wiki
[3] Payment Channels — Bitcoin Wiki
[4] ErgoScript, a Cryptocurrency Scripting Language Supporting, Noninteractive Zero-Knowledge Proofs, Ergo Developers (March 2019)
[5] Ergo: The Resilient Platform For Contractual Money, Ergo Developers (May 2019)
[6] Competitive equilibria between staking and on-chain lending, Tarun Chitra (2019)
[7] ZeroJoin: Combining ZeroCoin and CoinJoin, Alexander Chepurnoy, Amitabh Saxena
[8] FlowCards: A Declarative Framework for Development of Ergo dApps, Alexander Slesarenko (April 2020)
[9] High Level Design Patterns In Extended UTXO Systems, Robert Kornacki, (June 2020)
[10] CoinPool, exploring generic payment pools for Fun and Privacy, Antoine Riard and Gleb Naumenko (June 2020)
译注:本文翻译自国际区块链媒体The Daily Chain的一篇报道,作者:D. G. Altman,英文原文发表于2020年6月17日,主网硬分叉升级和算法稳定币AgeUSD等最新信息未在其中,但此文非常全面地介绍了Ergo及其创始人Alex Chepurnoy,不影响中文区块链技术开发者和加密货币爱好者了解Ergo平台这匹“黑马级”DeFi应用底层公链。
原文网址:
https://thedailychain.com/ergo-with-founder-alex-chepurnoy/
此文著作权归原作者D. G. Altman所有。