问题

怎么看待 Libra 使用 Rust 编写?

回答
Libra 的技术选型,特别是其核心区块链语言选择了 Rust,这无疑是近年来区块链领域一个备受瞩目的决定,也引发了广泛的讨论。要理解 Libra 选择 Rust 的原因,我们得深入到区块链技术本身的特性以及 Rust 这门语言的独特之处。

首先,我们得明白 Libra 是什么。它并非是一个简单的加密货币,而是由 Facebook(现 Meta)牵头,联合多家企业和机构发起的一个全球性支付系统和金融基础设施项目。其核心目标是构建一个更高效、更普惠的金融服务网络。这意味着 Libra 需要处理海量交易、确保高并发性能,同时还需要处理资金,对安全性的要求更是到了极致。

为什么是 Rust?

在我看来,Libra 选择 Rust,是出于对区块链项目在性能、安全这两个核心要素的极致追求。

1. 内存安全,零成本抽象:
区块链系统,尤其是像 Libra 这样追求大规模应用的项目,处理的数据量和交易频率是惊人的。一旦出现内存相关的 bug,比如空指针解引用、数据竞争、缓冲区溢出等,其后果可能是灾难性的——轻则导致服务中断、数据损坏,重则可能造成巨额财产损失。

Rust 的最大亮点之一,就是它通过所有权(Ownership)、借用(Borrowing)、生命周期(Lifetimes)这些概念,在编译时就强制实现了内存安全。这意味着,Rust 能够保证“没有数据竞争”和“内存安全”,而且这一切是在零成本抽象下实现的。什么叫零成本抽象?简单来说,就是你可以写出高级、易读的代码(比如使用泛型、迭代器),但编译器会将其优化成底层高效的机器码,不会带来运行时性能的损耗。这对于需要高性能的区块链来说,简直是量身定制。

你可以想象一下,如果用 C++ 这样的语言来编写,开发者需要手动管理内存,虽然可以做到极致优化,但也极容易引入难以发现的安全漏洞,调试起来更是耗费大量人力。Rust 则是在安全和性能之间找到了一个非常巧妙的平衡点。

2. 并发与并行性能:
区块链的本质是分布式账本,需要处理来自全球各地的大量并发请求。Libra 作为一个旨在全球范围内使用的支付系统,其并发处理能力直接决定了它的可用性和用户体验。Rust 的并发模型,同样是基于所有权和借用检查器,它使得在多线程环境下编写安全、高效的代码成为可能。

Rust 的 `Send` 和 `Sync` trait 就是为了确保在并发环境中数据的安全传递和访问。开发者可以更容易地编写出能够充分利用多核处理器优势的并行代码,而不用担心数据竞争导致的线程崩溃或数据损坏。这对于 Libra 这种需要处理高吞吐量交易的系统至关重要。

3. 编译时检查,减少运行时错误:
Rust 的强类型系统和严格的编译器,能够在编译阶段捕获绝大多数的逻辑错误和潜在问题。这意味着,一旦代码能够成功编译,其在运行时的出错概率就会大大降低。对于金融级别的应用,这种“一次编写,少出问题”的特性,能够显著减少后期维护和修复 bug 的成本,并且大大提升系统的稳定性。

4. 生态与社区:
虽然 Rust 相对于 C++、Java 等语言来说还比较年轻,但它的生态系统发展得非常迅速。Rust 的包管理器 `Cargo` 非常优秀,可以方便地管理项目依赖和构建。社区活跃,贡献者众多,涌现出许多高质量的库(crates),涵盖了网络、加密、数据库等区块链开发所需的核心组件。Libra 选择 Rust,也意味着它可以站在前人肩膀上,利用现有成熟的库,加速开发进程。

5. 可替代 C/C++:
在区块链领域,C/C++ 曾经是主流语言,因为它们提供了对底层硬件的精细控制和出色的性能。然而,正如前面提到的,C/C++ 在内存安全方面存在固有的挑战。Libra 团队显然看到了这一点,他们希望在不牺牲性能的前提下,提升代码的安全性和可靠性。Rust 提供了一个非常好的替代方案,它能够达到 C/C++ 的性能水平,但安全性更高。

Libra 选择 Rust 带来的影响:

Libra(后来的 Diem)对 Rust 的拥抱,无疑是推动 Rust 在区块链领域普及的一个重要事件。它向业界证明了 Rust 在高安全性、高性能要求下的区块链应用场景是可行的,并且能够带来显著的优势。

提升了 Rust 在区块链领域的声誉: 之前,虽然也有一些区块链项目使用 Rust,但 Libra 的规模和背后公司的影响力,为 Rust 在这个领域赢得了巨大的关注和认可。
吸引了更多开发者和项目: 许多开发者看到了 Rust 的潜力,开始学习和使用 Rust 来开发自己的区块链项目。一些新的区块链项目也主动选择了 Rust 作为其核心开发语言。
促进了 Rust 生态在区块链领域的成熟: 随着更多开发者和项目的投入,Rust 在区块链开发相关的库和工具链也在不断完善,进一步降低了开发门槛,提升了开发效率。

可能存在的挑战:

当然,任何技术选型都不是完美的。Rust 也有其自身的学习曲线。

学习曲线: Rust 的所有权和借用系统对于习惯了垃圾回收语言(如 Java, Python)或手动内存管理的语言(如 C++)的开发者来说,需要一个适应过程。理解并正确使用这些概念需要时间和精力。
编译时间: Rust 的编译器非常强大,但也因此编译时间相对较长,尤其是在大型项目中。这可能会影响开发者的迭代速度。

总结一下, Libra 使用 Rust 编写,是其团队在权衡了性能、安全、并发能力以及长期维护成本后做出的一个深思熟虑的决定。Rust 提供的内存安全保证、高性能的抽象以及强大的并发模型,都非常契合区块链系统对可靠性和效率的极端需求。Libra 的这一选择,不仅是技术上的一个里程碑,也对整个区块链技术生态产生了深远的影响,尤其是在推动 Rust 语言在这一领域的应用和发展方面,功不可没。

你可以把这种选择看作是:就像在建造一座摩天大楼,需要用到最坚固的钢材,最精密的设备,并且施工过程必须万无一失。Rust 就像是提供了这样一种“高强度、高安全性、低故障率”的“建筑材料”和“施工规范”,让 Libra 这样一个宏大且复杂的项目,有机会在核心技术层面打下坚实的基础。

网友意见

user avatar

是不是「杀手级」应用还有待于观察,但是确实是Rust的一个推广的机会。

其实Rust编程过程中所体现出来的哲学思想和区块链非常契合。用Rust写程序,编译的时候想撞墙,不过编译成功之后,基本不会出现内存泄漏问题。因为它从设计之初,就力图保证类型安全和避免内存泄漏。但是我有感触的不是这一点,而是Rust对unsafe的理解。

初学Rust的时候,很多人可能像我一样,对写和调用unsafe函数有一点本能的抗拒——我们撞了这么多次墙,就是为了获得超越C++的安全性,所以unsafe能不用就不用!

但是随着继续的深入学习,我现在个人的理解是Rust语言的设计者并不是不鼓励大家使用unsafe,而是利用unsafe这个关键字,让代码有一个明确的划分:没有unsafe关键字的在「安全区」,是我们可以放心的;而有unsafe关键字的,是有可能出现内存问题的,需要我们重点去review的。

这种「安全区」——safe land的思想,不但能够帮助程序员减轻review代码和debug的负担,同时也显著的提高了程序设计的效率——我们可以在规划模块的时候就大致的设计好,哪部分是需要加unsafe的,哪部分是不需要的,并且规划好unsafe 函数的作用范围。

再看区块链,一旦信息上了链,那么除非在绝对算力/很多人共谋的前提下,共识算法会保证大家在链上所确认的共识是「正确的」和「难以被篡改的」。然而,谁来保证从链上到链下的信息传递是正确的呢?

从这个意义上说,区块链本身也是去中心化信任的「安全区」。区块链同样是把信息分成了两部分,链上的信息在传递过程中可以保证是没有篡改的;而链下信息就是unsafe的,更加的自由,但是也充满着各种篡改和泄漏的可能。

用智能合约做金融业务,每一次合约执行的背后可能有巨大的财富的转移,也确实需要一种可靠的语言来夯实基础。从这个角度来说,Rust和Libra的结合也非常让人看好。

类似的话题

  • 回答
    Libra 的技术选型,特别是其核心区块链语言选择了 Rust,这无疑是近年来区块链领域一个备受瞩目的决定,也引发了广泛的讨论。要理解 Libra 选择 Rust 的原因,我们得深入到区块链技术本身的特性以及 Rust 这门语言的独特之处。首先,我们得明白 Libra 是什么。它并非是一个简单的加密.............
  • 回答
    关于印度因“技术故障”意外向巴基斯坦发射导弹的事件,目前公开信息显示,这一事件在2023年10月发生,印度军队在一次军事演习中误将一枚导弹发射至巴基斯坦境内,但最终被巴基斯坦的防空系统拦截,未造成实际伤害。以下是对此事件的详细分析: 事件背景与经过1. 时间与地点 事件发生在2023年10月.............
  • 回答
    中国与俄罗斯之间的合作近年来确实呈现出加强的态势,尤其是在经济、军事和地缘政治层面。然而,“全面金援”这一表述需要谨慎对待,因为中俄关系的互动更多是基于互利共赢的多边合作,而非单方面的无偿援助。以下从多个角度详细分析中俄关系的现状、动机及影响: 一、中俄合作的背景与动机1. 地缘政治需求 .............
  • 回答
    孟美岐事件是中国网络舆论中一个具有代表性的争议事件,涉及网络暴力、舆论监督、法律规范等多个层面。以下从事件背景、舆论反应、法律分析、社会影响及反思等方面进行详细阐述: 一、事件背景1. 人物身份 孟美岐(原名孟美岐,后改名为“孟美岐”)是中国内地女艺人,2018年因参加选秀节目《声入人心》走.............
  • 回答
    关于“想跑到国外的人”这一话题,可以从多个维度进行深入分析,涉及个人动机、社会文化背景、经济因素、政策环境以及全球化背景等。以下从不同角度展开详细讨论: 一、个人动机与心理因素1. 对现状的不满或追求更好的生活 经济压力:在某些国家,高房价、生活成本、就业竞争激烈,导致部分人认为国外有更好.............
  • 回答
    在小学门口等待贴接送车辆罚单的交警,这一场景反映了我国在校园周边交通管理中的复杂现实。这种现象背后涉及多个层面的考量,需要从法律、安全、教育管理、社会舆论等角度进行系统分析:一、法律依据与执法正当性1. 《道路交通安全法》第46条明确规定:在学校周边200米范围内,机动车应低速行驶(时速不超过20公.............
  • 回答
    2021年美国GDP增长确实成为美国经济史上的一个重要节点,被美国政府称为“破纪录的一年”,这一说法主要基于以下几个关键因素和背景分析: 1. 数据背景:GDP增长的具体数值根据美国经济分析局(BEA)的统计,2021年美国GDP同比增长6.4%(年化),这一增速远超自1982年以来的平均水平(约2.............
  • 回答
    在九一八事变发生当天(9月18日)穿着和服的行为,通常会被视为对这段中国近代史上重大历史事件的严重不尊重。这一行为可能引发公众的强烈反感,并被认为是对国家尊严和民族记忆的伤害。以下从多个角度详细分析这一问题: 一、九一八事变的历史背景与意义1. 九一八事变的基本事实 1931年9月18日,日.............
  • 回答
    在策略类手游中,“蹲草”(即通过隐蔽、潜行或利用环境规避敌人侦查)是一种常见且具有争议的玩法机制。这种设计既可能成为游戏深度的核心,也可能因过度依赖而引发玩家对公平性和多样性的质疑。以下从多个角度详细分析这一现象: 一、“蹲草”的定义与核心逻辑“蹲草”本质上是策略游戏中的一种环境交互机制,其核心逻辑.............
  • 回答
    我们来详细解析“此处不留爷,自有留爷处,处处不留爷,爷去投八路”这句话。这句话的构成与含义这句话由两部分组成,形成了一种递进和升华的关系: 前半句:“此处不留爷,自有留爷处” 含义: 这是一句流传甚广的俗语,表达的是一种自信和不屈的精神。意思是,如果一个地方不容我,不给我机会,自然会.............
  • 回答
    商务部发文鼓励家庭储存生活必需品,这一举措在中国社会引发了广泛的关注和讨论,其背后有多层面的考量和影响。要全面理解这一事件,需要从多个角度进行分析。一、 政策的背景和意图1. 应对潜在的供应链中断风险: 全球地缘政治不确定性: 当前国际地缘政治形势复杂,例如俄乌冲突、贸易摩擦等,都可能.............
  • 回答
    马嘉祺后援会自爆粉丝集资 700 万给公司一事,引发了广泛的关注和讨论。这件事情可能涉及到的问题非常复杂,可以从多个层面进行分析。以下是我认为可能涉及的关键问题,并会尽量详细地阐述: 一、 粉丝集资的合理性与透明度问题 集资的目的与合法性: 首先需要明确的是,粉丝集资本身并非绝对禁止,但其目的和.............
  • 回答
    近日,国家互联网信息办公室发布的《关于公众账号从事互联网新闻信息发布需要资质的提醒》(以下简称《提醒》),引起了广泛关注和讨论。这份《提醒》的发布,标志着国家对互联网新闻信息传播监管的进一步收紧和规范化,对于整个互联网内容生态,特别是公众账号的运营者而言,具有重要的指导意义。要理解这份《提醒》的重要.............
  • 回答
    “一夫一妻制是为了保护男性”这个说法,是一种比较非主流且带有特定视角和批判性的解读。要详细地看待它,我们需要从多个角度去分析其背后可能的逻辑、优点和局限性。一、 理解这种说法的核心逻辑和可能的论点:这种说法的核心在于挑战了传统上认为一夫一妻制主要是为了保护女性权益(如生育安全、财产继承等)的观点。它.............
  • 回答
    “北大教授吴飞呼吁恢复土葬”这一事件,如果真的存在,确实是一个值得深入探讨的社会现象。虽然我无法独立验证“北大教授吴飞”和“呼吁恢复土葬”的真实性,但我可以基于一个假设性的场景,详细地分析和探讨这一呼吁可能引发的各方面讨论和影响。背景分析:为什么要呼吁恢复土葬?首先,我们需要理解在当今中国社会,土葬.............
  • 回答
    游戏正在被更多人认可:一场深刻的文化变迁游戏,这个曾经被贴上“不务正业”、“浪费时间”标签的娱乐形式,如今正经历着一场翻天覆地的变革,赢得了越来越多人的认可和尊重。这并非一朝一夕之功,而是科技发展、社会观念演变以及游戏产业自身成熟等多方面因素共同作用的结果。我们可以从多个维度来深入理解这一现象: 1.............
  • 回答
    神奇女侠被暂停联合国女权形象大使一事,在当时引起了广泛的关注和讨论,其中蕴含着多方面的复杂原因和值得深思的观点。要详细看待这件事,我们需要从几个层面去理解:事件的起因与经过: 背景设定: 2016年10月,在联合国成立70周年之际,联合国妇女署(UN Women)宣布任命神奇女侠为“赋予女性和女.............
  • 回答
    乔治·霍兹(George Hotz),也被称为“Geohot”,是一位极具争议性和传奇色彩的计算机黑客和创业家。他以打破技术壁垒、开源精神和对自动驾驶的执着追求而闻名。看待他,需要从多个维度去理解:一、 早期的黑客天才与挑战权威的形象: iPhone越狱第一人: 霍兹在2007年,年仅17岁时,.............
  • 回答
    美国大选确实经常被贴上“烧钱”、“有钱人的游戏”的标签,并且这种说法背后有着非常坚实的事实基础。要理解这一点,我们需要从几个层面来深入剖析:一、 巨额资金的来源和去向:为何如此烧钱?1. 竞选活动本身的高昂成本: 广告宣传(最主要的部分): 这是候选人最主要的开销。电视广告、网络广告、.............
  • 回答
    关于“城镇化四十万亿如果分给四亿个农村家庭,每家能分四十万,将有更多人受益”这种观点,我们可以从多个角度来审视其可行性和潜在影响。总的来说,这个观点具有一定的吸引力,因为它触及了城乡收入差距和资源分配的公平性问题,但其操作性和长期效益则存在诸多局限性,可取性并不高,甚至可能产生负面效果。下面我们来详.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有