unitimes.io
全球视角,独到见解
前言
Unitimes AMA(Ask Me Anything)是 Unitimes 重点打造的微信群线上问答系列活动,每周举办一期。我们邀请发展较成熟的区块链项目的创始人、CEO、CTO或核心开发者等嘉宾做客社群,与群成员就该项目的突出技术亮点以及用例等进行高质量互动问答,旨在学习交流区块链最新技术和应用。
期数:第34期
特邀项目:Alephium
特邀嘉宾:王成,创始人&CEO
主题:如何用区块流突破不可能三角
AMA分为固定问答和自由问答两个环节。
固定问答
1
Unitimes:王博士您好,欢迎参加 Unitimes AMA,请先介绍一下您自己以及Alephium吧!
王成:大家好,我叫王成,是Alephium项目的创始人兼CEO。之前在瑞士留学和工作,现在和朋友在瑞士做Alephium的技术研发;我的技术背景是密码学和分布式计算,读了两个辍学的PhD,所以不能算真正的博士,哈哈。2015年年初公布了世界上第一个线性时间异步Byzantine共识算法(http://tiny.cc/c5978y),同年开始了解到区块链,去年创建的Alephium。
Alephium是一个基于全新分片算法的高性能的公链平台,可以在不牺牲去中心化和安全性的情况下实现可扩展性。同时,我们也为如何扩展智能合约设计了实用解决方案,方便有区块链需求同时对性能要求高的开发者和企业接入进来。我们在亚马逊云上实测Alpha版本显示算法能达到平均1万TPS。
2
Unitimes:可能大家对Alephium采用的共识算法区块流(BlockFlow)不太熟悉,请您用通俗易懂的语言给大家解释一下吧。
王成:区块流(BlockFlow)是Alephium所采用的独创分片算法,区块流运用可扩展的UTXO模型,结合了DAG和分片技术,是第一个支持单步跨分片交易的横向扩展算法。和现有的主流方案不同的是,区块流算法不需要依赖于beacon chain和去中心化随机数(这两者都很难设计和实现,目前还不实用),更加的优雅和实用。
3
Unitimes:Alephium如何用区块流突破“不可能三角”(去中心化、扩展性、安全性)?
王成:Alephium突破不可能三角通过我们创新的区块流算法来实现的。区块流算法巧妙的运用了我们提出的可扩展的UTXO模型,并通过两步分片(地址分片和交易分片)来提升系统的性能和扩展性;值得一提的是我们交易模型首次支持单步跨分片交易,跨分片效率是同类算法的两倍;在安全性方面,区块流算法结合DAG和分片技术,通过DAG(有向无环图)建立了不同分片之间的相互依赖关系来保证系统的安全性;区块流最终通过PoW终局算法来确保Alephium网络的去中心化。
4
Unitimes:目前做分片的项目很多,例如QuarkChain、Zilliqa等,Alephium和他们相比有哪些不同?
王成:
1)我们实现了全维度的区块链分片,跨分片效率是同类算法的两倍;
2)我们是一个无许可的去中心化平台,每个人都可以为网络的共识做贡献;
3)我们对网络的假设和比特币一样,不依赖于网络的(部分)同步性,安全性方面成功的解决了单分片攻击,跟比特币一样仅受51%攻击;
4)目前很多分片算法都没有解决数据可用性问题,我们的区块流算法用新的架构模型解决了这个问题,比其他依赖于数据证明和概率安全的方法要更加能落地;
5)Alephium的用户体验将和非分片的区块链相同,这得意于我们的算法首次支持单步的跨分片交易;
6)最后,区块流算法的设计更加优雅和实用,不依赖于beacon chain和去中心化随机数,这使我们能够比其他项目更快地实现真正可用的主网。
据目前所知,其他分片项目都会牺牲上面提到的一个或几个重要特性(比如Zilliqa不是全分片,Harmony目前只能做4个分片等),而Alephium仅以很小的存储和计算代价获得了上面所有的优势。
5
Unitimes:在分片技术中,因为每个分片都有自己的验证者,所以每个分片的安全性就会比整条链更差。请问针对单分片的攻击,你们有什么应对办法?
王成:BlockFlow解决单分片攻击的办法也是独创的。我们利用DAG数据结构来解决其分片依赖性,所有分片的挖矿工作都会累积到每个新的区块中。如果攻击者想要攻击一个分片中的一个区块,他必须同时攻击依赖于该区块的其他分片上的区块。因此,与比特币相同,Alephium只会受到51%的攻击。
6
Unitimes:Alephium 如何支持DApp?
王成:Alephium提出了实用的token协议、数据协议和智能合约来解决DAPPs的扩展性问题。token协议和数据协议自然地被扩展到所有分片,我们在组内分片中可以支持智能合约。DAPP也可以在不牺牲智能合约性能的情况下受益于我们高效的跨分片交易。开发者巧妙的结合我们的token协议,数据协议和智能合约能获得更好的应用层的可扩展性。
7
Unitimes:Alephium是用哪种编程语言来实现,智能合约要使用什么语言?
王成:我们目前是使用scala语言来编写我们的首个官方实现。同时我们也在探索Rust生态,计划后面实现一个Rust版本,通过使用更底层的优化来提高效率。在智能合约方面,我们密切关注ewasm的发展(我们的advisor Casey是以太坊核心开发者,主要做ewasm方面的工作),并计划设计一种基于wasm的虚拟机。
8
Unitimes:请问你们近期的计划是什么?
王成:技术方面,我们前面在亚马逊c4.large上已经测试了32个节点的Alpha版本,demo也放在我们的官网上可以查看(Roadmap版块处);同时我们也开始社区建设和市场宣传方面的工作。近期Alephium最重要的计划就是在本月上线测试网1.0,希望大家多多关注,还会有更多惊喜哦。
然后在生态建设方面,我们会有开发者社区激励项目,我们自己也会参与建设平台基础服务设施;同时我们会寻求与有区块链需求的传统应用合作,让传统应用也能使用大规模的区块链服务。
自由问答
固定问答环节结束后,参与此次AMA的成员可以自由提问。以下为 Unitimes 从群成员的提问中精选的几个问答:
1
如何解决DAG容易出现的双花问题?
王成:DAG是有向无环图,多个头部可以同时产生区块,使用的时候各个项目其实是不同的。之前大家用DAG有双花问题是因为各个区块可以随意打包交易,这个时候就会有双花问题。在Alephium的UTXO模型里,图的结构是确定的,交易的打包也是分配好的,不会有DAG本身带来的双花问题,但是用户或者攻击者的双花问题,可以用和其他区块链一样的办法解决。
2
请问你们的数据处理和存储都分片吗?
王成:对,我们的状态是分片的,交易也是分片的,按通用的说法就是全分片的项目。
3
怎么解决跨分片交易的用户体验问题?
王成:这个问题问的好,目前所有的分片项目都需要采用二步提交(two phase commit)来做跨分片交易,也就是说一个跨分片交易其实是拆分为两个交易了,这肯定会影响用户体验。
但是Alephium的全新算法里只需一步,一个交易就能实现跨分片,从用户的体验的角度看,和传统的单链其实没有区别,我们是目前第一个做到这一点的项目!
4
能具体描述下Alephium的分片算法和数据结构吗?
王成:我这里只能大概讲一下哈,有兴趣的希望去阅读我们的白皮书:我们首先把地址分成n个组,然后再把UTXO交易基于输入输出分成n * n个组,对于每一个组我们都有一个分片去处理其中的交易。一个组里的用户只需要下载与其相关的分片上的交易即可,不需要全不下载。具体的分片共识比较复杂,fork choice rule有具体的规则来确保分片之间的兼容性,最后通过PoW来做finality。
5
白皮书第二章说:1. Alice could use a new address for every transaction. In our example, Alice would create a new address in group j and transfer the rest 10 coin to her new address. This is recommended in practice due to privacy and security reasons. 2. If Alice makes transaction frequently, she might consider creating one address for each address group. 3. Alice could split the transaction into two transactions: one changes her 100 coins into 90 coins and 10 coins, one sends 90 coins to Bob directly.
我的问题是,在 Alephium 的实现中,这是依赖于每个用户自觉把交易构造成上述形式,还是 Alephium 网络自动做到这一点?如果是依赖于用户自觉,那么用户有没有可能故意创建低效的跨片交易,故意攻击拖累网络性能?如果是 Alephium 网络自动做到,请问是如何实现的?
王成:第一个方案其实是对用户最佳的方案,bitcoin官方钱包也是推荐每做完一次交易就使用一个新的地址,这样子安全行最高。用户不需要考虑太多,完全由钱包负责。第二个方案适合某些特定场景,比如一个应用需要同时在各个组都有交易。两个方案对网络都没有影响的。
6
王博士,您好,请问你们对用户进行分组的方式是随机进行的吗?如果不是的话会不会出现单点过热的问题?
王成:这个问题也问的好!我们的分组是固定,但是用户的地址是变动的。就像我之前一个回答里提到的,出于安全性考虑(比特币官方推荐),用户做完一个交易最好换一个地址,从这个角度而言,用户其实是随机分配的。
7
公链是不是过剩了?
王成:公链项目是很多,但是技术靠谱,用户体验好的,能落地的非常少。就拿我熟悉的分片来举例吧,很多项目跨分片交易和通信,数据可用性,安全性都没有解决,就说测试网,甚至主网都出来了。现在行业还在早期,真正能看懂的人可能并不太多,随着时间发展,大家可以看到真正落地的公链会非常少。这同时也是为什么还会不断的有人去做新的公链,感觉基础设施方面需要做的事情还非常非常的多,币咱们商业部分要落后很多。
以上是本次 AMA 的全部内容,非常感谢社群成员对 Unitimes 的大力支持,感谢王成!
相关阅读:
被 V 神邀请去当面切磋,他扬言“我的解决方案比目前所有的尝试都要高效实用”
往期AMA精选:
对话微软Azure Blockchain:微软的区块链解决方案会和Libra结合吗?
对话 AlphaWallet:TokenScript 如何助力以太坊 Web 3.0 | Unitimes AMA
对话以太坊核心开发者 Hsiao-Wei:以太坊 2.0 信标链
对话 PeckShield 创始人:智能合约安全面临的挑战及应对措施
对话 L4 创始人:目前我还没有看到任何一个有竞争力的扩容方案
【本文版权属于Unitimes,转载请保留版权信息。未经授权,不得以任何方式加以使用,包括转载、摘编、复制或建立镜像。Unitimes将追究侵权者的法律责任。合作或授权请联系contact@unitimes.io或添加微信unitimes2017】
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:全球视角,独到见解
评论0条