文章
技术

Dai Wei's bmoney 中文翻译

爱狗却养猫 饭丝

我认为先在草稿贴翻译完再一起发会比较reader-friendly,而且还可以覆盖旧内容翻译新内容. @libgen (假装at Ms. DeepL) @爱狗却养猫 nice try.

B-money

I am fascinated by Tim May's crypto-anarchy. Unlike the communities traditionally associated with the word "anarchy", in a crypto-anarchy the government is not temporarily destroyed but permanently forbidden and permanently unnecessary. It's a community where the threat of violence is impotent because violence is impossible, and violence is impossible because its participants cannot be linked to their true names or physical locations.

我对蒂姆·梅(Tim May)的加密无政府主义(crypto-anarchy)很着迷。与传统的“无政府主义”社群不同,在加密无政府主义的社群中,政府不是被暂时摧毁,而是被永久禁止且毫无必要。在这样的社群里,暴力威胁将无能为力,因为不可能使用暴力;而不可能使用暴力,是因为社群的参与者与他们的真实姓名或物理位置是脱钩的。

Until now it's not clear, even theoretically, how such a community could operate. A community is defined by the cooperation of its participants, and efficient cooperation requires a medium of exchange (money) and a way to enforce contracts. Traditionally these services have been provided by the government or government sponsored institutions and only to legal entities. In this article I describe a protocol by which these services can be provided to and by untraceable entities.

然而直到现在,即使在理论上,也不清楚这样一个社群如何运作。一个社群是由其参与者的合作来定义的,而有效的合作需要一个交换媒介(货币)和一个执行合同的方法。传统上,这些服务是由政府或政府资助的机构提供的,而且只供给法定实体。而在这篇文章中我描述了一个协议,通过此协议这些服务可以由不可追踪的实体互相提供。

I will actually describe two protocols. The first one is impractical, because it makes heavy use of a synchronous and unjammable anonymous broadcast channel. However it will motivate the second, more practical protocol. In both cases I will assume the existence of an untraceable network, where senders and receivers are identified only by digital pseudonyms (i.e. public keys) and every messages is signed by its sender and encrypted to its receiver.

事实上我将描述两个协议。第一个协议不切实际,因为它需要大量使用一个同步且不会堵塞的匿名广播通道。然而,它启发了第二个更实用的协议。在两种情况下,我将假设存在这样一个不可追踪的网络:网络中,发送者和接收者的身份仅由数字假名(即公钥)识别;每条信息都由发送者签名,加密后发给接收者。

In the first protocol, every participant maintains a (seperate) database of how much money belongs to each pseudonym. These accounts collectively define the ownership of money, and how these accounts are updated is the subject of this protocol.

在第一个协议中,每个参与者都有一个(独立的)数据库,记录每个假名有多少钱。这些账户共同定义了货币的所有权,而本协议就是规定这些账户该如何更新的。

1.The creation of money. Anyone can create money by broadcasting the solution to a previously unsolved computational problem. The only conditions are that it must be easy to determine how much computing effort it took to solve the problem and the solution must otherwise have no value, either practical or intellectual. The number of monetary units created is equal to the cost of the computing effort in terms of a standard basket of commodities. For example if a problem takes 100 hours to solve on the computer that solves it most economically, and it takes 3 standard baskets to purchase 100 hours of computing time on that computer on the open market, then upon the broadcast of the solution to that problem everyone credits the broadcaster's account by 3 units.

1.货币的创造。任何人只要其通过广播提供某个前所未解的计算问题的解,就可以创造货币。唯二的条件是:必须能容易地确定解决这个问题需要花多少算力;该问题本身必须没有任何其他价值,无论是实际价值还是智识价值。解题所创造的货币单位数量等于以一篮子标准商品为单位的算力成本。例如,对于一个问题,参与解题的计算机最快需要100小时解开,而在公开市场上购买该计算机100小时算力需要三篮子标准商品,那么该问题被广播解决后,每个社群成员都会在广播者的账户上记入3个单位的货币。

2.The transfer of money. If Alice (owner of pseudonym K_A) wishes to transfer X units of money to Bob (owner of pseudonym K_B), she broadcasts the message "I give X units of money to K_B" signed by K_A. Upon the broadcast of this message, everyone debits K_A's account by X units and credits K_B's account by X units, unless this would create a negative balance in K_A's account in which case the message is ignored.

2.货币的转移。如果爱丽丝(假名K_A)希望将X个单位的货币转给鲍勃(假名K_B),她将广播消息“我把X单位的货币给K_B”,并以K_A的名义签名。这个消息一经广播,每个人都会从K_A的账户中减少X单位的货币,并在K_B的账户中增加X单位的货币,除非这会让K_A的账户余额为负。如果K_A账户余额不足,这个转账消息会被忽略。

3.The effecting of contracts. A valid contract must include a maximum reparation in case of default for each participant party to it. It should also include a party who will perform arbitration should there be a dispute. All parties to a contract including the arbitrator must broadcast their signatures of it before it becomes effective. Upon the broadcast of the contract and all signatures, every participant debits the account of each party by the amount of his maximum reparation and credits a special account identified by a secure hash of the contract by the sum the maximum reparations. The contract becomes effective if the debits succeed for every party without producing a negative balance, otherwise the contract is ignored and the accounts are rolled back. A sample contract might look like this:

3.合同的生效。一个有效的合同必须规定在违约时合同各方应付的最高赔偿。它还需要规定在出现争议时谁来仲裁。合同各方,包括仲裁员,必须在合同生效前广播他们的签名。在广播了合同和所有签名之后,每个参与者从合同各方账户中扣除其最高赔偿额,并将总数记入一个由合同的安全哈希值标识的特别账户。如果每一方都扣款成功,且账户余额不为负,则合同生效;否则合同无效,账户记录回滚。合同样本看起来可以像这样:

K_A agrees to send K_B the solution to problem P before 0:0:0 1/1/2000. K_B agrees to pay K_A 100 MU (monetary units) before 0:0:0 1/1/2000. K_C agrees to perform arbitration in case of dispute. K_A agrees to pay a maximum of 1000 MU in case of default. K_B agrees to pay a maximum of 200 MU in case of default. K_C agrees to pay a maximum of 500 MU in case of default.

K_A同意在2000年1月1日0点0分0秒之前,向K_B发送问题P的解。K_B同意在2000年1月1日0点0分0秒之前支付K_A 100 MU(货币单位)。K_C同意在出现争议时进行仲裁。K_A同意在违约的情况下支付最多1000MU的赔偿金。K_B同意在违约的情况下支付最多200MU。K_C同意在违约情况下最多支付500MU。

4.The conclusion of contracts. If a contract concludes without dispute, each party broadcasts a signed message "The contract with SHA-1 hash H concludes without reparations." or possibly "The contract with SHA-1 hash H concludes with the following reparations: ..." Upon the broadcast of all signatures, every participant credits the account of each party by the amount of his maximum reparation, removes the contract account, then credits or debits the account of each party according to the reparation schedule if there is one.

4.合同的完成。如果合同顺利完成,没有争议,则合同各方都会广播一个签名信息:“SHA-1哈希值H的合同完成,没有赔偿金。"或者,“SHA-1哈希值H的合同完成,赔偿金如下:……”在所有签名广播后,每个参与者将最大赔偿金额重新计入合同各方账户,然后删除合同账户;如果规定了赔偿金,则按照该计划再对合同各方进行转账。

5.The enforcement of contracts. If the parties to a contract cannot agree on an appropriate conclusion even with the help of the arbitrator, each party broadcasts a suggested reparation/fine schedule and any arguments or evidence in his favor. Each participant makes a determination as to the actual reparations and/or fines, and modifies his accounts accordingly.

5.合同的执行。如果合同各方即使在仲裁员的帮助下也不能顺利完成合同,则每一方都需要广播一个赔偿/罚款提议,并宣布有利于自己的论据或证据。每个参与者将对实际的赔偿/罚款作出决定,并修改相应账户。

In the second protocol, the accounts of who has how much money are kept by a subset of the participants (called servers from now on) instead of everyone. These servers are linked by a Usenet-style broadcast channel.The format of transaction messages broadcasted on this channel remain the same as in the first protocol, but the affected participants of each transaction should verify that the message has been received and successfully processed by a randomly selected subset of the servers.

在第二个协议中,谁拥有多少钱的账户由参与者的一个子集(从现在起称为服务器)而不是每个人保存。这些服务器通过一个Usenet式的广播频道连接起来。在这个频道上广播的交易信息的格式与第一种协议相同,但每笔交易的受影响的参与者应该验证该信息已经被随机选择的服务器子集收到并成功处理。

Since the servers must be trusted to a degree, some mechanism is needed to keep them honest. Each server is required to deposit a certain amount of money in a special account to be used as potential fines or rewards for proof of misconduct. Also, each server must periodically publish and commit to its current money creation and money ownership databases. Each participant should verify that his own account balances are correct and that the sum of the account balances is not greater than the total amount of money created. This prevents the servers, even in total collusion, from permanently and costlessly expanding the money supply. New servers can also use the published databases to synchronize with existing servers.

由于服务器必须在一定程度上被信任,因此需要一些机制来保持他们的诚实。每个服务器被要求在一个特殊的账户中存入一定数量的钱,作为潜在的罚款或对不当行为证明的奖励(注:类似权益证明)。同时,每个服务器必须定期公布并承诺其当前的货币创造和货币所有权数据库。每个参与者都应该核实他自己的账户余额是否正确,并且账户余额的总和不超过创造的资金总额。即使是完全勾结,也可以防止服务器永久地、无成本地扩大货币供应量。新的服务器也可以使用发布的数据库与现有服务器同步。

The protocol proposed in this article allows untraceable pseudonymous entities to cooperate with each other more efficiently, by providing them with a medium of exchange and a method of enforcing contracts. The protocol can probably be made more efficient and secure, but I hope this is a step toward making crypto-anarchy a practical as well as theoretical possibility.

本文提出的协议允许不可追踪的假名实体更有效地相互合作,为他们提供一种交换媒介和执行合同的方法。该协议可能会变得更加有效和安全,但我希望这是朝着使加密无政府状态成为一种实际以及理论上的可能性迈出的一步。


Appendix A: alternative b-money creation

附录A:创造 b-money的替代性方案

One of the more problematic parts in the b-money protocol is money creation. This part of the protocol requires that all of the account keepers decide and agree on the cost of particular computations. Unfortunately because computing technology tends to advance rapidly and not always publicly, this information may be unavailable, inaccurate, or outdated, all of which would cause serious problems for the protocol.

在 b-money 协议中,比较有问题的部分是货币创造。该协议的这一部分要求所有的账户管理人决定并同意特定计算的成本。不幸的是,由于计算技术往往发展迅速,而且并不总是公开的,这种信息可能是不可用的,不准确的,或过时的,所有这些都会给协议带来严重的问题。

So I propose an alternative money creation subprotocol, in which account keepers (everyone in the first protocol, or the servers in the second protocol) instead decide and agree on the amount of b-money to be created each period, with the cost of creating that money determined by an auction. Each money creation period is divided up into four phases, as follows:

因此,我提出了一个替代性的货币创造子协议,在这个协议中,账户管理人(第一个协议中的每个人,或第二个协议中的服务器)决定并同意每期创造的 b-money 数量,创造该货币的成本由拍卖决定。每个货币创造期被分为四个阶段,如下所示。

1.Planning. The account keepers compute and negotiate with each other to determine an optimal increase in the money supply for the next period. Whether or not the account keepers can reach a consensus, they each broadcast their money creation quota and any macroeconomic calculations done to support the figures.

1.计划。账户管理人计算并相互协商,以确定下一时期货币供应量的最佳增长。无论账户管理人是否能达成共识,他们都会公布自己的货币创造配额以及为支持这些数字而进行的任何宏观经济计算。公布他们的货币创造配额以及为支持这些数字而进行的任何宏观经济计算。

2.Bidding. Anyone who wants to create b-money broadcasts a bid in the form of <x, y> where x is the amount of b-money he wants to create, and y is an unsolved problem from a predetermined problem class. Each problem in this class should have a nominal cost (in MIPS-years say) which is publicly agreed on.

2.竞标。任何想创造b-money的人都以<x, y>的形式出价,其中x是他想创造的 b-money 的数量,y是预先确定的问题类别中的一个未解决的问题。这类问题中的每个问题都应该有一个公开商定的名义成本(比如说以MIPS-年为单位)。

3.Computation. After seeing the bids, the ones who placed bids in the bidding phase may now solve the problems in their bids and broadcast the solutions.

3.计算。在看到出价后,在竞价阶段出价的人现在可以解决他们竞价中的问题,并广播解决方案。

4.Money creation. Each account keeper accepts the highest bids (among those who actually broadcasted solutions) in terms of nominal cost per unit of b-money created and credits the bidders' accounts accordingly.

4.货币创造。每个账户管理人接受以每单位 b-money 创造的名义成本计算的最高出价(在那些实际广播解决方案的人中),并相应地记入竞标者的账户。

菜单