本文的选题来源于和Second State的交流,因为对Wsam的开发,Second State在中间件领域做了很多尝试,对诸多公链进行了融合开发,本文浅层的讨论了区块链软件上的进化。文中部分内容来源于Second State CEO Michael Yuan的文章,金色财经王航补充后成文,有欠缺之处还望指正。
当我们谈论科技改变世界的梦想时,都是对技术的实施过程加以最理想的想象,有足够的人财物支撑,没有风险和阻力。而世界的多面性,让科技发展以及技术实现要面对相反的维度。就像区块链项目要做交易,就要面临安全风险的冲击。
这代表着,技术要进化,要不断的去削弱风险,因为技术的输出最终会形成程式化的能力,加速重复工作以及提高总产能。那技术层的风险要减少到足够低,才可以成为商业项目的底层。
在互联网的技术发展中,风险控制从技术上实现的较为成熟了,但暴露了巨大的中心化风险,区块链被熟知后,区块链在解决中心化问题,虽受制于性能上线,但基于去中心化的网络在技术发展中必然有所用。
区块链行业的从业者便开始在区块链的技术发展里加速技术进化,除了技术突破外,很大程度上区块链客户端的进化,成为区块链技术发展中的重点。
历史的提示
金色午报 | 12月24日午间重要动态一览:7:00-12:00关键词:数字人民币保单、灰度母公司、Lighthouse v1.0.5、Layer2
1.全国首张数字人民币保单成功出单
2.灰度母公司DCG将推出新的资管公司;
3.Sigma?Prime发布以太坊2.0客户端Lighthouse v1.0.5版本;
4.ZKSwap开发负责人Alex Lee:未来Layer2有望取代以太坊Layer1的大部分功能;
5.波兰加密矿商公司GamerHash计划在韩国建立业务;
6.湖南省区块链协会成立;
7.日本金融厅要求提供加密货币购物服务的运营商Avacus业务整改;
8.李礼辉:中国有必要抓紧完善我国法定数字货币的技术路径;
9.前SEC委员:Ripple诉讼将给无辜的第三方造成数十亿美元损失;
10.密码学博士高承实:量子计算机大规模应用将对非对称密码算法和哈希函数带来致命性的影响。[2020/12/24 16:22:10]
2016年在上海举行了的DevCon2,这时以太坊刚刚起步,就在技术大会热火朝天地进行时,以太坊公链大量共识节点突然遭到黑客攻击而下线,所有运行以太坊基金会官方的Geth软件的节点都受到了影响。
金色财经挖矿数据播报 | ETH今日全网算力上涨2.78%:金色财经报道,据蜘蛛矿池数据显示:
BTC全网算力125.194EH/s,挖矿难度19.99T,目前区块高度654506,理论收益0.00000823/T/天。
ETH全网算力262.149TH/s,挖矿难度3306.50T,目前区块高度11142260,理论收益0.00642376/100MH/天。
BSV全网算力1.601EH/s,挖矿难度0.19T,目前区块高度658758,理论收益0.00056203/T/天。
BCH全网算力2.370EH/s,挖矿难度0.32T,目前区块高度659023,理论收益0.00037975/T/天。[2020/10/28]
Geth即Go语言开发的eth客户端。这次攻击搞垮了大量的Geth节点,但最终给以太坊带来的实际伤害并不大。因为以太坊在基金会之外,还有非官方的Garvin Wood博士主导开发的Parity节点软件,其架构与Geth不同,没有被攻击者利用的Geth软件漏洞,因此没有下线。这件事情史称“上海攻击”。
这件事,最大的提醒,就是不能只指望一个核心。和资产风险理解的俗语一样,不能把鸡蛋放在同一个篮子里。
而今,就拿以太坊举例,目前支持的开发者日常使用的语言有7种,分别是Java、Python、JavaScript、Go、Rust、.NET、Delphi,未来将支持更多语言。而Eth2.0的客户端就更能体现这一特点,包含有10种客户端,分别由10个团队进行开发。
金色财经挖矿数据播报 | ETH今日全网算力上涨1.49%:金色财经报道,据蜘蛛矿池数据显示:
BTC全网算力124.750EH/s,挖矿难度15.78T,目前区块高度638059,理论收益0.00000826/T/天。
ETH全网算力191.348TH/s,挖矿难度2393.94T,目前区块高度10409131,理论收益0.00847450/100MH/天。
BSV全网算力2.009EH/s,挖矿难度0.35T,目前区块高度642574,理论收益0.00044794/T/天。
BCH全网算力2.873EH/s,挖矿难度0.40T,目前区块高度642797,理论收益0.00031329/T/天。[2020/7/7]
Eth2.0的开发团队
现在以太坊还采用 WebAssembly虚拟机,其中一个主要目的就是想借助WebAssembly吸纳Solidity之外的开发者来编写智能合约。
金色午报 | 7月2日午间重要动态一览:7:00-12:00关键词:USDC市值、ETH、韩国、菲律宾证交会、灰度比特币信托
1. 稳定币USDC市值已突破10亿美元。
2. 韩国NH银行将为机构投资者提供加密资产托管服务。
3. 数据:ETH在交易所余额刷新3个月低点。
4. 菲律宾证交会向加密货币金字塔计划Forsage发出警告。
5. 英国高等法院裁定加密交易所Gpay关闭公司。
6. Dfinity基金会宣布推出TikTok的去中心化替代产品CanCan。
7. 数据:6月份比特币现货和期货交易量分别环比下降32%和40%。
8. 观点:灰度比特币信托溢价跌至低位或是BTC触底信号。[2020/7/2]
由此可以想象,最终以太坊将变成一个由多种节点、多种网络、多种客户端、多种共识搭建的网络。这是一个复杂的整体,也是加密货币社区最精彩之处。
加密货币的社区和生态一直都以开源自治来运作,信仰和认可让开发者们聚到一起,而自治维系关系和秩序,各司其职就形成了庞大多元的发展形态。
趋向RUST
当年Gavin Wood是用Rust编写的Parity客户端。Gavin Wood重新建立Polkadot后,Parity就成了Polkadot开发必备的客户端,而Polkadot也配置了几种语言的开发工具。但Rust依旧是这些语言中的亮点。
分析 |金色盘面: HIT/BTC目前呈上涨趋势:金色盘面分析师表示:HIT/BTC目前呈上涨趋势,短线支撑位0.0000003322,跌破上升趋势线或将面临小幅回调。[2018/8/7]
Polkadot的客户端软件
近几年,Rust确实很红,大部分项目的开发都使用Rust,例如Polkadot、Oasis Labs、Near、CyberMiles、Nervos等。
为什么Rust会适合区块链项目或者加密货币项目?笔者在项目方的回复中会得到诸如“安全”“高效”“精简”“漏洞少”等这些关键词,但在这些鲜明特点的同时,还有“难学”“开发者很少”的评价。Polkadot生态项目Phala创始人尹航曾对我说到,“可能国内懂Rust的人不超过50个。”
查阅一些对Rust语言的分析,我们得到一些评价。
没有垃圾收集,在语言/编译器中内置了原语,以确保不会忘记释放mallocs或意外取消引用无效指针。列表中还有两个重要功能。通过FFI创建可以链接到其他语言(如Python,Ruby,Go等)的库的能力,此外可与C和C ++库的低成本(或零成本)集成。整合一些大的C ++项目,Rust似乎是一个很好的方法。
更系统的描述是:
Rust 是一门系统级编程语言,被设计为保证内存和线程安全,防止段错误产生。作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C/C++ 同级。Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C/C++。与这两门编程语言不同的是,Rust 是线程安全的。Rust 编程语言的目标是,创建一个安全和并发的软件系统。它强调安全性、并发和内存控制。尽管 Rust 借用了 C/C++ 的语法,却杜绝了空指针和悬挂指针,而这二者是 C/C++ 中系统崩溃、内存泄露和不安全代码的根源。
虽然 Rust 是一门系统级编程语言,但并不意味着它只能写底层程序(操作系统、驱动、工具、数据库、搜索引擎等),它的抽象层次之高完全给人惊艳的感觉,实践证明它对问题建模的能力和方便性不比 C++/Java/Python/Ruby差。
而类似通过语言在编程这个过程里提高效率和安全的,还有Move和DeepSea。
趋向Wsam以及编译器
以太坊是加密货币社区里奉为标杆的项目,Solidity和EVM更是每个开发者必须了解的,但对于Solidity和EVM,开发者同样发现了其不便之处。主要是实现效率不高,漏洞多以及功能不完善等,很多项目会利用C++补充开发一些功能或者直接利用以太坊接口改造。
以太坊也正在趋向WebAssembly虚拟机,开发为Ewasm。WebAssembly已经发展多年,代码可以使用多种语言编写,并可以在多种操作系统和处理器类型上可运行。而其对于所有浏览器都兼容和二进制的特点以及安全的特点,很贴合区块链项目。这也就是为什么加密货币项目广泛使用Wsam虚拟机的原因。
对于以太坊来说,为了实现WebAssembly,以太坊基金会官方选定了YUL作为中间语言。也就是说Solidity编译器solc未来将全面支持YUL作为一种中间语言编译器。
这里就涉及了编译器部分,同客户端一样,要做好其他准备。因为YUL只适用于以太坊,之前没有在其他编译器中实现过。
并且,事实证明,solc与YUL的开发进展并不顺利。solc目前还不能编译一个完整的Ewasm 智能合约。按照路线图,Ewasm 到2021年才能正式上线,在此之前, ETH 2.0上没有智能合约与DApp。
2019年10月,在日本大阪举办的DevCon5,来自社区的编译器SOLL率先完成了将 solidity 源代码编译成Ewasm字节码的任务,也就可以承担solc的工作。这一能力来自于社区,看到官方的不足,社区中的开发者提供了不同的编译路径:从Solidity源代码到LLVM,再到Ewasm 字节码。SOLL就是利用这样路径完成的该过程,也因此SOLL团队获得了Vitalik亲自颁发的奖金。
2020年4月底的线上Solidity 峰会上,SOLL在LLVM 框架的基础上发布了 0.1.0 版本。此时SOLL编译器通过了YUL的绝大部分标准测试用例(test cases)。
社区的开源确实是一把好刀,为加密货币核心团队提供了很多的解决思路和支持。就像SOLL 编译器做到的折中方案。在不取代YUL的情况下利用LLVM特性实现了一个贴近了以太坊的官方标准答案。
在更大意义上看,这是自治协作的成果,也是加密货币社区进化的必然。从全球来看,目前加密货币社区最大的就是以太坊,其Github的社区开发者更新量是其他项目的很多倍。
这很容易回想到以太坊社区在几年前的一些呼吁。
例如以太坊创始人之一的Mihai Alisie,在2015年在以太坊基金会博客里总结到:
从设计阶段开始,以太坊构建器就被设想为一种工具,它将降低准入门槛,增加社区成员之间的互动并为所有人带来更紧密合作的乐趣。
此外,在一个积极参与的社区中,小组不断提供的反馈意见还可以帮助开发团队测试和改进功能,同时将以太坊各个方面的新人纳入项目。
现在,通过以太坊构建器,您可以使人们谈论他们的工作,共享知识并提供对等支持,所有这些还使新开发人员可以加入并迅速成功地启动并运行。
关于未来的以太坊会议,我想提醒大家,任何人都可以安排会议。这意味着真正有项目或有趣主题的任何人都可以提出建议,如果人们认为项目和/或主题具有吸引力,其余的工作将自理。
这一段描述很清晰的表达了加密货币的开源概念,以及共同愿景。可喜的是,后期的很多事件都如此进行,即便出现了很多资产风险、硬分叉以及社区内部纷争,但最终,对于这个协作的实践,以太坊交出的答卷还算是令人满意的。
一个加密货币社区,去实践的并非单一属性的产品,而是解决了多种问题还要保证应用能力与信仰的多种平衡,这样理解后,我们就不难发现,为什么加密货币社区开发如此迟缓,为什么很多步骤会很谨慎。就像Eth2.0,Vitalik很明确的表示过要多客户端测试网上线8周后才可以上线,这期间,通过资金奖励让广泛的开发者对代码进行审核,这些行为只是整个开源协作的冰山一角,却是技术进化的最好代表。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。