我们说,Earthlings 是可验证的。这样的说法只有在能够确切指出验证的对象和验证的方式时,才有意义。因此,我们不用“我们的代码是开源的”这类笼统说法,而是公布一条准确的界线:什么是开放的,什么是封闭的,出于什么原因。
自二〇二六年十一月二十二日起至《宣言》通过之日止,为创立期:人民仍在创立之中,下面列出的一部分数字,在这一时期的读法与通过之后不同。它的规则载于 创立期 这份文件——这里不再重复。
原则。 开放的是人民的可验证性所依赖的东西:护照的规则、记录的名册、公开的投票渠道和共同资金;今天还得相信我们的地方,写在下面。封闭的是那些公布之后并不增加可验证性、却会给参与者带来风险的东西:服务器端的支撑部分和个人数据的处理。
| 组成部分 | 原因 |
|---|
| 平台的服务器端 | 其中包含访问账户的逻辑。在独立审计之前公布它,会提高参与者账户被攻破的风险,同时对人民的可验证性毫无增益。 |
| 身份验证系统 | 它处理证件和生物特征。这里的封闭是个人数据保护的一部分,而不是隐瞒。身份验证中数据最小化如何实现,《生物特征验证政策》和《隐私政策》中有说明。 |
| 部署用的基础设施 | 其中包含服务器的配置。公布它等于给攻击者一张地图。 |
谁得到名册中的记录、谁参加投票,开放的智能合约并不决定:向谁发放记录,由封闭的身份验证系统决定,而投票时的投票权由我们的服务器确认。合约只记录发放、转移和销毁,而其中的每一次都可以不通过我们在网络中看到;究竟在哪些地方还得相信我们,见下文。
- 文件本身的签名。 打开签名页面:那里有一份清单,列出全部文件九种语言的每一个页面的哈希值,由 PGP 密钥签名;还有清单本身的哈希值在 Polygon 网络中的记录。任何一个页面都可以下载下来,计算它的哈希值,再与清单比对;清单的签名可以用 gpg 程序验证。链上的记录表明,哈希值恰好如此的文件不晚于记录之日就已存在;至于是谁写的,它并不说明——说明这一点的是签名。
- Earthlings 护照的规则。 在仓库里读合约的源代码:护照不可转让,一个钱包一本,持有人可以自己销毁。源代码已在 Polygonscan 浏览器中完成验证:浏览器已确认它与已部署的合约完全一致(浏览器中的源代码)。
- 名册里有多少条记录。 在 Polygonscan 浏览器中该合约的读取页签上,或者通过 Polygon 网络的任何一个节点,调用合约的
totalSupply。这个数字不是我们说出来的——是区块链说出来的。但这个数字需要读对,怎么读我们会说明。目前那里的记录为零:系统启动之前调试时留下的四条测试记录,留在了先前的合约中,不计入这个数字。自二〇二六年十一月二十二日起至文本通过之日止,这个数字表示已通过身份验证、正在参与创立的人:如果《宣言》获得通过,他们中签署《宣言》的人才成为 earthling。通过之后,earthlings 的人数就是签署《宣言》的人数;今天从合约里读不出这个数字:关于签署的记录由我们的服务器维护,而不是名册。如何查验这个数字,将在表决之日以前公布。 - 某个具体地址在名册里有没有记录。 以同样的方式调用
balanceOf。答案是 1 或 0;自二〇二六年十一月二十二日起至《宣言》通过之时止,1 表示创立的参与者的临时证件,而不是护照。 - DAO 的投票。 打开 Snapshot 里的空间,看到提案、投票和签名。每一票都由投票人的钱包签名——我们无法伪造别人的一票。增加一名投票人可以通过在名册中发放记录来实现:服务密钥可以把记录发放到任何一个尚无记录的钱包,而每一次发放都在网络中可见。这一渠道中的票是公开的;这会带来什么改变,见“暂时还没有的东西”一节。
- 投票权。 Snapshot 向我们的服务器查询某个地址在名册中是否有记录。在投票的那一刻,这一步只能靠信任——但投票之后不必:所有投票者的地址都是公开的,任何人都可以自己在 Polygon 上的合约里逐个核对。若有不符,就会显现出来。
最后这一点我们直说,因为它是必须信任我们的地方之一。这样的地方我们宁可自己指出来,而不是留给核查的人去发现。它们有几处:投票那一刻的投票权;据以创建名册记录、并可据以把记录转移到另一个地址的服务密钥;封闭的身份验证系统关于向谁发放记录的决定;关于签署《宣言》的记录——它由我们的服务器维护,而不是名册;由平台的数据库记录的蜂巢单元投票和投票权转交;以及签名门槛为一的共同资金钱包。每一次发放、每一次销毁和每一笔资金的流动都在网络中可见,但发放的依据无法从外部核验。
其中第二处是服务密钥。名册的记录用它来创建,也可以用它把一条记录转移到另一个地址:对于失去钱包访问权的人,重新发放就是这样进行的——他本人已经无法签署请求。因此,用这把密钥转移记录,也可以不经持有人请求,而且立即进行。这把密钥存放在发放服务的服务器上,该服务由创立者管理。用这把密钥无法注销发放:这由名册的管理员来做,而这样的决定自作出之日起人人可见,并且只在提出异议的期限届满之后才执行。管理员也是创立者:一个人掌握三把密钥,其中两把只保存在纸上,不存放在任何应用程序之中。《宣言》通过之后,宪章随之生效(第三十八条),它的第二十一条只允许依一种根据违背持有人的意愿销毁护照——注销无效的发放——并且必须走完程序:通知、提出异议的期限、理事会的结论、以特定多数通过的秘密投票、申诉。期限和公开现在由名册本身来保证,其余的靠程序;在《宣言》通过之前,既没有理事会,也没有全体大会,而创立的参与者的临时证件违背持有人意愿被销毁时,依《创立期》文件的程序(第二部分第 5 点)进行——同样是程序性的。也就是说,记录的转移和注销的根据现在靠的是我们的话,而不是技术,这一点我们承认。正在做的事情是:把名册的管理移交给选出的机构的多重签名或者移交全体大会控制。什么时候——按 路线图 中各阶段之间过渡的条件。
这些文件是作者与人工智能模型 Claude 一起写成的。构想、论据和最终的定夺属于作者,草稿和修改是一起完成的。这一点无法从外部核验:在公开的仓库中,只能看到这个模型被列为每一次提交的共同作者。
这既不给文本增添力量,也不减损它的力量。《宣言》在人们通过它的时候成为共同的。
护照名册存放在区块链上,而不在我们的服务器上,合约的代码是开放的。由此得出一个很实际的结论:如果《宣言》通过之后,由于治理被夺取、基础设施停止运行或者其他情形,《宣言》的实施变为不可能,经确认的 earthlings 可以依据同一份名册,在另一种技术基础或者组织基础上把人民延续下去(《宣言》第十一条)。迁移过去的是名册的记录;服务器端的支撑部分是可以更换的。
重建有两个支点,第二个并不比第一个次要。名册给出关于已确认的人的记录的连续性(关于签署《宣言》的记录由我们的服务器维护,而不是名册),而已公布的规格说明给出重新组装工具的可能:规则、门槛、法定人数、期限和程序,都写在宪章、《司库》以及文集的其余文件之中。因此被重建的不是我们的代码,而是被描述出来的那套制度。复制封闭的服务器端没有必要;新的平台得自己建起自己的身份验证。
因此,服务器端的封闭并不取消人民在创立之后于没有创立者的情况下继续存在的权利。合法延续的标志——保存下来的不可修改的核心、经过验证的人的意志、程序的连续性——载于 过渡期路线图 这份文件。