La razón por la que comprendo profundamente la verdadera importancia de lograr que la computación sea completamente descentralizada se remonta a una experiencia bastante especial que hay detrás; este es un relato que vale la pena contar, así que escúchame con calma mientras te lo explico paso a paso.

Ya en 2015 me involucré en el sector de las criptomonedas en sus etapas iniciales, pero al mismo tiempo seguí gestionando el “Fight My Monster” que yo mismo había fundado antes: se trata de un MMO (juego multijugador masivo en línea) y una plataforma de red social con 3 millones de usuarios, que además es financieramente autosuficiente y cuenta con respaldo de capital de riesgo.

Aunque ya encontré un destino profesional a largo plazo en el ámbito de la computación descentralizada, no puedo defraudar a esa comunidad de jugadores que ha estado apoyando este juego constantemente.

“Fight My Monster” 开发于 2010 年至 2012 年间,采用了一种在当时极具创新性的架构,这种架构使平台能够以低成本和极少的运维工作量实现规模化扩展(即容纳海量用户)。

从本质上讲,该系统由三个核心后端组件构成,第一个是简单的 Web 托管服务,负责将前端游戏代码和资源分发到用户的 Web 浏览器中(我当时使用的是主流的内容分发网络,即 CDN)。

Al igual que el servicio de alojamiento web, los otros dos componentes backend también deben tener capacidad de “escalado horizontal”; es decir, para dar soporte a más usuarios y a sus necesidades de cómputo y datos, solo necesito añadir recursos de hardware, sin tener que reescribir código del software backend, ni realizar trabajos de administración del sistema engorrosos. Esta característica me permitió lograr una expansión rápida a escala, incluso en la etapa inicial del proyecto, con muy pocas personas y financiación.

第二个组件是一个名为 “Starburst” 的水平可扩展游戏服务器框架,这是我倾注心血亲自打造的成果,它构建于一个支持 RTMP 协议的开源服务器之上 - RTMP 是 Adobe 开发的一种网络协议,允许在 Web 浏览器中运行的 Flash 媒体资源(还记得 Flash 吗?)与服务器直接通信,Starburst 负责承载游戏及社交网络的逻辑,并近乎实时地将游戏中产生的大量事件路由分发给用户。

第三个组件是一个名为 Cassandra 的水平可扩展 NoSQL 数据库(如果你关注数据库领域,想必知道它的一个现代衍生版本 ScyllaDB,该版本目前在满足实时 AI 需求方面表现出色)。

值得一提的是,我的团队中拥有除了 Cassandra 原开发公司之外,唯一的 Cassandra 核心代码提交者(core committer),此外,我是最早将 Cassandra 测试版(beta)真正投入高强度生产环境的用户之一,当用户量达到 80 万时,数据库发生了损坏,随后的 24 小时简直让人神经紧绷 - 我必须争分夺秒地恢复数据并让系统重新上线(那一刻,我感觉自己正冲向云端,下一刻又觉得一切都已无可挽回,好在最终有惊无险)。

Cassandra 最棒的地方在于,你可以直接增加节点(即配备大容量硬盘的服务器)来实现存储容量、读取吞吐量以及 - 最关键的 - 写入吞吐量的水平扩展,这种特性非常罕见,但对我的应用而言至关重要,因为 “Fight My Monster” 会产生海量数据。

当然,Cassandra 的另一个重要优势是具备容错能力,我设置了 5 副本(replication factor 为 5),这意味着每个人的数据都非常安全(至少当时我是这么认为的……),5 副本的配置意味着,对于任何特定的“数据法定人数(quorum)”而言,只要有 3 个节点在线,系统就能正常写入数据。

与区块链不同,Cassandra 并不具备拜占庭容错能力,这意味着我必须严密管理基础设施的安全,防止黑客或恶意软件入侵,不过,当时的黑客对一个主要用户群为儿童的 MMO 游戏兼社交网络并不感兴趣,而且它本身也不是那种供他人在此基础上构建应用的通用平台。

我面临的主要技术压力在于,由于数据生成量巨大,承载数据库的节点承受着极大的负荷,导致它们经常“崩溃”!这意味着我需要不时登录基础设施,下线故障节点并添加新节点,好在操作起来并不困难:得益于容错机制,这项工作无需刻不容缓地完成,而且这些“裸机(bare metal)”服务器也能通过我的云服务提供商进行统一调度……

“Fight My Monster” 采用了一套领先于时代的架构,让我能够轻松实现扩展,此外,其容错能力以及仅包含 3 个核心系统组件的简洁后端架构,意味着维护系统运行所需的管理工作量和压力都降到了最低,那么,究竟是哪一课如此重要,以至于至今仍深刻影响着我的思维方式以及 ICP 的发展?你肯定能感觉到当时发生了一件非同寻常的事 - 现在,我将首次公开讲述这段经历。

当时,我正在亚洲各地奔波,作为早期以太坊核心社区“巡回团队”的一员,拜访相关各方(人们往往忽视了亚洲 - 尤其是中国 - 在早期加密货币领域发展中所起的重要支撑作用),并参加各类以太坊相关的活动,在这些场合,我主要探讨的是自己开发的一些复杂的计算机科学技术,希望能借此提升比特币和以太坊等网络的扩展性与性能。

No quiero ponerme a hablar sin parar sobre las “glorias pasadas” en el mundo de las criptomonedas, pero tengo que decirlo: fue una época mágica. Los primeros participantes me dejaron un montón de recuerdos maravillosos; se lo agradezco muchísimo. Aquella experiencia fue tan fascinante que ni siquiera tuve tiempo de revisar correos electrónicos.

结果,我在旅途中错过了无数封邮件 - 这些邮件都在警告我:用于支付 Fight My Monster 项目 Cassandra 节点费用的信用卡已经过期了……

Entonces, ¿qué hizo el proveedor de servicios en las pocas semanas en las que yo no respondí (no recuerdo exactamente cuánto tiempo, pero no fue mucho)? Muy simple: ¡eliminaron todos los nodos!

很难形容当我回到加州帕洛阿尔托(Palo Alto)发现这一切时是种什么心情,那是一种震惊与惊恐交织的感觉:胃里空落落的,肾上腺素飙升,恐惧感不断蔓延,我拼命试图挽救,却最终确认一切已无法挽回,那些在加密货币领域遭遇过黑客攻击的人,一定能体会这种感觉。

Y así se acabó todo: Fight My Monster desapareció por completo. Incluso hubo gente en la comunidad que lanzó una petición en Change.org para que volviera a ponerse en marcha.

尽管失去了它本可能创造的价值,我也感到内疚,但在某种程度上,这也让我感到一种解脱 - 我不再需要承担维护它的责任(否则我可能会为了社区无休止地维护下去),此外,它成为了玩过这款游戏的一代孩子(以及部分成年人)的美好回忆,而且它在变得老旧乏味之前就已落幕,这也让我能够专注于自己当时痴迷的领域 - 去中心化计算网络。

然而,我从中吸取了一个非常深刻的教训:你可以构建出具备可扩展性和容错能力的去中心化计算基础设施,但只要在任何时间、任何环节存在单点故障,整个系统就可能彻底崩溃。

正因如此,每当我听说某些区块链依赖核心开发者持有的管理员密钥,或者听说当大量节点因云服务商关停或技术故障而下线(甚至濒临瘫痪)时,我总是感到担忧,这种极度脆弱的问题在我们的行业中远比你想象的要普遍。

Fight My Monster 那次惨痛经历所带来的教训,深刻影响了 Internet Computer 的设计理念,重要的不仅仅是节点的数量,还有其他更关键的因素,如果节点是匿名的,那么实际运行大部分节点的独立实体数量可能远少于你的预期,此外,尽管节点数量庞大,但它们往往运行在少数几家云服务商的平台上 - 即便它们由不同的实体拥有和运营,云服务商也可能突然决定不再支持它们,并在一夜之间将其关闭(正如 Hetzner 曾对某个知名区块链项目所做的那样)。

在实际应用中,真正重要的是运行节点的独立实体数量,以及节点在物理位置和管辖权上的独立性,这一简单的洞察正是“确定性去中心化”(deterministic decentralization)理念的基石,该理念将以全新的形式体现在 Internet Computer 即将推出的 “ICP 云引擎”(ICP cloud engines)扩展功能中。

ICP cloud engines permite a las empresas (por lo general) crear subredes de Internet Computer que realmente les pertenecen y controlar su configuración, las empresas pueden combinar nodos eligiéndolos desde un pool de nodos que funciona como un “mercado”; actualmente, hay más de 1500 nodos en estado de espera y su número sigue creciendo.

“引擎”提供了一个具备卓越特性的无服务器(serverless)云平台,它是构建 AI 应用和服务的理想场所,因为其技术栈专为支持 AI 轻松生成先进的 AIware 软件而设计,而这些 AIware 软件既安全又具有极强的韧性。

Estas aplicaciones cuentan con diversas características, como resistencia a la manipulación (protección contra ataques a nivel de infraestructura), estar disponibles 24/7 (lo que aporta una resistencia muy alta), operación autónoma opcional (lo que significa que no hay puertas traseras) y compatibilidad nativa con activos digitales. Además, el engine puede ejecutar aplicaciones AIware como el paquete Open SaaS, permitiendo a las empresas operar su negocio de extremo a extremo en la práctica. El cloud engine hace que la instalación y el mantenimiento de aplicaciones complejas, como Open CRM o Open Email, sea tan sencillo como usar una app de teléfono móvil.

节点支持热插拔,这意味着你可以调整计算副本因子(compute replication factor)或更换节点,而无需中断云引擎所托管的服务,从而摆脱了对特定计算服务商的依赖,此外,你还可以选择使用部署在超大规模云服务商(hyperscalers)上的新型节点,以及传统的 Internet Computer 节点,使其成为一个通用的计算资源市场。

云引擎(Cloud Engine)框架引导用户组合具有独立性的节点,同时提供了共享式 Internet Computer 托管所不具备的灵活性,例如,一家德国企业可能会选择仅位于欧盟境内的节点,以满足 GDPR(通用数据保护条例)的要求。

然而,由 Internet Computer 网络托管并由 NNS(网络神经系统,即全球最先进的 DAO)负责更新的自主云引擎控制台,会为用户提供指引,如果用户组合了来自同一节点提供商、位于同一数据中心或由同一云运营商运营的节点,该控制台会发出强烈的警告。

因此,即便是在 ICP 云引擎(Cloud Engines)的背景下,“Fight My Monster” 项目所带来的经验教训依然具有现实意义。

La gente podría preguntarse por qué este marco impulsa con tanta fuerza la combinación de nodos independientes. En realidad, hay razones de peso: esa razón es igual de importante para la comunidad blockchain más amplia de hoy, tal como lo era en 2015.

期待不久后与大家分享云引擎的相关内容。

图片

#ICP #DFINITY #IC

你关心的 IC 内容

Progreso técnico | Información del proyecto | Eventos globales

Seguir y estar atento a IC en el canal de Binance

掌握最新资讯