追讨失窃代币的区块链性质之争:以太坊社区内部的代码分歧详解

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
公网NAT网关,每月750个小时 15CU
简介: ETC与ETH的分歧阴影,在安全事故频发的背景下,于以太坊社区内部依然挥之不去。区块链不可篡改的特性是否不可更改?或是厘清责任主体进行资金追讨?

从当初的The Dao到最近的Parity钱包事件,以太坊相关的各类应用安全事故频发,围绕着关于追讨失窃的代币和应对事故的解决方案的讨论在以太坊社区内部越来越热烈。在这些解决方案的讨论中,EIP867的代码提案引发更大的争议,在社区内部掀起了关于区块链的价值信仰冲突和去中心化的民主构想的热议。

49_jpeg


由代码提案EIP867激起争议开始,以太坊开发论坛在某种程度上已经变成一片战场,充斥着各种声音的评论、讽刺和协调的尝试,来对这个源自平台开发人员的想法进行修正。

对于那些不熟悉的人来说,这场冲突围绕着一个核心的努力方向,即如何让以太坊的用户更容易追讨回丢失的以太币,在其中突出了用清晰且可执行的形式提交要求给维护这项技术的开发人员的过程。

在以太坊的发展历程中,代币丢失已经不是一个小问题,正演变得越来越频繁。

比如在去年,由于软件库中的代码被意外删除,Parity公司造成了513774.14枚以太币的丢失。而仅在其一个月之前,该公司由于代码错误造成了一万五千枚以太币的遗失。

安全事故不仅仅发生在Parity这一家公司上。在去年,一个发生错误的以太坊地址生成器导致了交易所Kraken和钱包提供商MyEtherWallet数十万计的客户资金损失。还有,尚未知道是软件故障还是简单的拼写错误,都造成了平台巨大的金额损失—一个地址甚至持有价值六百三十万美元的以太币,原因在于其映射的一条代码将资金锁死。

但有的用户认为,以补偿金额的方式来弥补这些丢失的以太币的方案是可以接受的,但出于从数字资产处置权和责任主体的角度来考虑,有许多人对此表示强烈的反对,他们认为,这种解决方案的尝试损害了以太坊平台的诚信,同时还增添了潜在的法律风险。

事实上,一位核心开发人员考虑到接下来可能发生的法律后果,甚至退出了代码编辑这个角色。虽然,这样的冲突和2016年The DAO事件的讨论没有什么区别,反而让人回溯当时社区做出的争议决定:在当时,以太坊以硬分叉的方式来追讨回失窃的三百六十万美元的以太币。

以太坊的创始人Vitalik Buterin在推特上写道:

“对于那些认为在DAO分叉事件中以太坊设置了一把无限延长的滑梯,和开拓了一个可以持续的先例,我鼓励他们观察一下大家在整起事件过程中的反应。”

从这个角度来讲,在EIP867代码提案中爆发的冲突表明了争论的双方都还没有达成一致,并且各自还有许多琐碎的工作需要完成。总体来讲,可以看作双方都对以太坊有着自己不同的理解。

EIP867代码提案:为资金追讨制定标准

在以太坊软件开发环境中,EIP,或者称作为以太坊优化协议(ethereum improvement protocol),是一个进行代码修改并提交到平台加以接受的过程。

为了给以太坊添加新的特征,软件改动是以作为平台范围内的升级形式来执行(有时候被称为硬分叉),但为了到达这个阶段,提案首先需要进行一个严格的验收进程,大致包括了以下四个步骤:

  • 首先,如果开发人员对软件改动有了新的想法,这个想法应该以拉取请求(pull request)的形式呈现出来。在一个拉取请求中,改动能够在提案中轻易完成,同时积极听取社区的反馈。在这里,它属于EIP编辑的审查改动范围内。
  • 如果EIP编辑认为这个请求在技术上没有错误的地方,并且符合以太坊的社区价值观,他们会将其作为草稿合并到下一个阶段中。
  • 在合并之后,如Geth何Parity等以太坊各式各样的软件应用才会诞生,并且如果它们能真的运作起来,这个提案最终被看作是“已接受”。
  • 一旦接受以后,整个平台就会根据这个EIP提供的用以运行以太坊软件的多样代码来进行升级。
    然而,在这个过程中,EIP867存在着些许差异。最主要的,它本身并不提出任何软件改动的提案,而是简单地勾勒出一个提案需要遵循的框架。

在这点上,它属于另一个被称作是“元EIP”的类别,用以收集并正式确定那些有了确切分类的EIP,在这个案例中,即为“恢复提案”(recovery proposals)。也正因为此,EIP867的开发人员们给了该元EIP一个特别的名字:标准以太坊恢复提案(Standardizing Ethereum Recovery Proposals),或者称为ERP。

在ERP的分类下,鉴于频发的安全事故,目前共产生了几份协议。

在去年四百二十一万美元的资金被冻结之后,Parity公司共起草了数起行动意见计划追回这批资金,但它们在那个时候全部都遭到了严拒。而在当时,有一份由Buterin起草的名为EIP156的提案,具体设计了用以追回Kraken和MyEther钱包失窃资金的解决方案,也用在了其他知名的安全事故案例中。

根据EIP867,这些提案遭拒的部分原因是在于“它们相对特殊的性质和评估其优点时所表现的主观性“,正因为如此,这份EIP提案提供一个“恢复EIP的标准形式和一个用以衡量未来提案的客观标准”。

在最终,如果被接受的话,这份以太坊恢复提案将同样进入到平台上对于代码提案的审核流程。

在目前,EIP867停留在了EIP提交请求到最终接受全流程的第二步,它仍未进入到合并阶段。前任EIP编辑Yoichi Hirai以“该提案与以太坊社区价值观不符合”为由拒绝合并。

Yoichi Hirai在之后辞去了EIP编辑一职,称考虑到如果批准该提案继续而引发的法律方面的顾虑。

也正因为它引起如此之大的分歧,以太坊的开发人员们曾表示,在采取进一步行动之前,该份EIP需要重新评估,来辨明是否真的有任何主观判断的成分包含其中。

反对方观点:代码即为法律(Code Is Law)

当以太坊进行主动升级用以追回在The DAO被黑客偷取的如今价值超过三十亿美元的三百六十万以太币时,一部分社区成员就分道扬镳,创建了名为以太坊经典(ethereum classic)的全新加密货币的平台。

在如今价值低于十亿美元的以太坊经典平台上,DAO丢失的三百六十万个代币从未被恢复,而是永远丢失了。

影响这个决定的信念是“代码即为法律”,意味着在区块链上,所有的执行操作和交易都是不可篡改的,不能被覆盖或者纠正,特别涉及到具体真实金钱时。从这个角度来看,代码错误,如软件漏洞导致的被黑客攻破系统的事件,对开发人员来说尽管痛苦无比,但却是必要的一课。

由于EIP867有可能会引发这更为频繁的修正行为,数以百计的社区成员站了出来在Github上表达了他们的心声,有的还威胁道要迁移到以太坊经典社区。

由于DAO的主要领导者与以太坊基金会有着密切联系,许多人将这三百六十万以太币的恢复行动视为“救市”,而这也是在EIP867的争论中一直存在的关于开发者腐败的指控。

认为这样的改动损害了维系去中心化账本的初衷,软件开发人员Charles Cooper 这样写道:

如果这个过程继续下去,以太坊不再能够被称作是区块链,它只是一个起用矿工对大部分交易进行验证的中心银行。”

反对方担忧的是,EIP867将会赋予开发人员在以太坊平台上过大的权力。通过引用日本监管条例,Hirai称这些资金的动向处置,特别是在所有权不明的案例中,远远超过了开发人员的能力范围,并且使他们很容易倒向腐败、胁迫和贿赂。

在反对方中,亦有较为温和的声音表示,DAO事件的资金回滚是一次性的,而针对追讨资金的软件升级应该随着平台的成熟“罕见且越来越少的”,关于这一点Buterin也表示赞同。

支持方观点:代码仅为过程(Code is a process)

而站在另外一方的以太坊顶层开发人员,争论道资金的所有权是清晰且无可争议,这样的恢复行动应该发动。

在Buterin的EIP156中引用的例子,在特定事件中丢失的资金能够被讨回,根据这个条据,有些人认为这样做是正确的。

交易所Kraken的CEO Jesse Powell在两年前针对EIP156回应时称:

“代表着Kraken,我认为这更像一次赔偿而不是营救。由于以太坊javascript数据库中出现的漏洞,使得Kraken蒙受了巨大的损失。与此同时,损失先由Kraken自掏腰包进行补偿,以此来保护我们的客户。”

Kraken并不是孤例。在事实上,围绕着EIP156也有很多评论认为,代币失窃并非他们的过错,故从责任主体的角度来看也不应由他们来采取赔偿行动。

根据有些用户的看法,以太坊对这些安全事故中的用户负有责任。因此,通过对失窃的资金采取保护行动的花,采用该平台的风险将会最小化,也会逐步扩大其适用性。

尽管社区对于平台上发生的变化形成共识至关重要,但也有人对此表示担心,对于提案的反对意见并不能代表更广泛的以太坊利益相关方。

也有意见认为,因为EIP867本身并不是一个关于资金丢失的解决方案,而是一个对于追讨失窃资金的标准,故关于EIP867提议的改动根本没有引起争议的必要。

事实上,如果最终被平台所接受,此后以太坊的恢复提案将作为标准化的EIP经历更为严苛的审查过程。此外,当一个有争议的提案真正落地实施后,用户可以选择拒绝更新他们的软件,从而与主链发生异步。

原文发布时间为:2018-02-25
本文作者:吴阳煜
本文来源:雷锋网,如需转载请联系原作者。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
高可用应用架构
欢迎来到“高可用应用架构”课程,本课程是“弹性计算Clouder系列认证“中的阶段四课程。本课程重点向您阐述了云服务器ECS的高可用部署方案,包含了弹性公网IP和负载均衡的概念及操作,通过本课程的学习您将了解在平时工作中,如何利用负载均衡和多台云服务器组建高可用应用架构,并通过弹性公网IP的方式对外提供稳定的互联网接入,使得您的网站更加稳定的同时可以接受更多人访问,掌握在阿里云上构建企业级大流量网站场景的方法。 学习完本课程后,您将能够: 理解高可用架构的含义并掌握基本实现方法 理解弹性公网IP的概念、功能以及应用场景 理解负载均衡的概念、功能以及应用场景 掌握网站高并发时如何处理的基本思路 完成多台Web服务器的负载均衡,从而实现高可用、高并发流量架构
目录
相关文章
|
22天前
|
存储 开发框架 安全
揭秘区块链:以太坊智能合约开发的奥秘与挑战,你准备好迎接未来了吗?
【10月更文挑战第25天】本文介绍了区块链技术的基本概念及其核心特点,重点讲解了以太坊智能合约的开发流程和实际开发中的注意事项。通过安装 Truffle、Ganache 和 Remix 等工具,读者可以快速上手编写、编译、部署和测试智能合约。文章还对比了以太坊去中心化应用与传统集中式应用的优势和挑战,帮助读者全面了解以太坊智能合约开发。
29 0
|
4月前
|
安全 编译器 区块链
区块链代币 DAPP 通缩燃烧模式系统开发技术方案
合约代码部署流程可能因区块链技术的不同实现而略有不同,但基本步骤如下:
跨链代币开发:架起区块链未来的桥梁
这只是一些例子,公司还提供其他与区块链软件开发相关的服务。确保您的团队具备丰富的区块链知识和技术专长,并密切关注区块链领域的最新发展和趋势,以满足客户的需求。关注GZH“链上区块人生”,进行咨询。
|
6月前
|
供应链 区块链
区块链DAPP质押合约代币系统开发|模式方案
智能合约是一种数字化的合约,它将合约内容写入区块链中,保证了合约的公开透明
|
6月前
|
算法 区块链 Python
区块链代币DAPP逻辑系统开发技术方案丨单边上扬模式开发逻辑
区块链代币DAPP逻辑系统开发技术方案丨单边上扬模式开发逻辑
|
11月前
|
存储 安全 分布式数据库
区块链NFT合成代币质押分红系统开发模式
智能合约的运行记录会被保存在区块链上,这种去中心化的特性确保了交易的透明性和安全性
|
11月前
|
算法 数据管理 区块链
区块链合约代币质押项目系统开发模式详情
多链是一种新兴的区块链技术,其分片技术被称为“多链分片”
|
供应链 安全 区块链
区块链钱包合约代币质押系统开发(模式详情)
一组条件在时间的推移中不可能一直正确的,而智能合约是不可变的,更新当前的预编程条件几乎是不可能的
|
安全 区块链 数据安全/隐私保护
基于区块链技术实现的哈希链游系统开发[附逻辑实现代码示例]
基于区块链技术实现的哈希链游系统开发[附逻辑实现代码示例]
下一篇
无影云桌面