我们通过具体的例子来了解 RPOW 的运作方式:假设 Alice 想要生成一个 RPOW 代币。首先,她要连接芬尼的服务器,为了获得最佳隐私性,很可能是通过 Tor 建立连接。接着,Alice 会获取服务器和她本人所独有的数据,并对其进行哈希计算,直到找到有效的工作量证明为止。然后,她会将这个工作量证明发送至服务器,再由后者检查其有效性。如果有效,服务器将创建出一个独一无二的 RPOW 代币(其实就是一串数据),并将其发送给 Alice。服务器也会在本地数据库中存储这个代币的副本。 Alice 想要花费这个 RPOW 代币时,她只需将其发送给收款方,如 Bob,就可以从 Bob 那里下载 MP3 文件。从技术角度来看,Alice 通过何种方式将这个代币发送给 Bob 对于 RPOW 系统来说并不重要,只要她确保这个代币在发送途中不被拦截即可。(使用 Bob 的公钥加密过的消息就可以做到这点。) Bob 收到这个 RPOW 代币后,需要检查其有效性,并确保它没有被多次花费。为此,他会立即将这个代币发送至 RPOW 服务器,后者会使用软件来验证这个代币是否包含在内部数据库中,以及是否已经花掉了。如果通过验证,RPOW 服务器会向 Bob 确认,然后 Bob 就会将 MP3 文件发送给 Alice。随后,服务器会将这个 RPOW 代币标记为已花费,再也无法使用。最后,服务器会生成一个新的 RPOW 代币,将其发送给 Bob 并包含到内部数据库中。Bob 就可以使用新的代币……如此循环往复下去。这样一来,这些代表单一工作量证明的代币就可以永久流通。这就是可重复使用的工作量证明。 迄今为止,这个系统都是可行的 —— 但是它需要用户信任这个 RPOW 服务器的运营者(在这个例子中,运营者是芬尼)。芬尼可以对 RPOW 软件动手脚,或是在不生成任何工作量证明的情况下铸造 RPOW 代币,或是神不知鬼不觉地发动双花攻击。 然而,芬尼不想强迫用户信任 RPOW 服务器的运营者,即使这个运营者是他本人。因此,RPOW 服务器需要具备一个特殊的属性。作为这个系统的主要创新,RPOW 服务器运行在安全硬件组件 IBM 4758 上。IBM 4758 支持 「可信计算」。 简而言之,这个抗篡改硬件包含一个由 IBM 嵌入的私钥,因此没有人(包括这个安全硬件组件的所有者,也就是芬尼本人)可以篡改或盗取。由于采用了远程见证技术,这个私钥可以生成证书来表明某个软件运行在安全硬件组件上。有了这个证书,任何连接至 RPOW 服务器的人都可以验证 RPOW 开源代码是否运行在安全硬件组件上,没有任何后门或其它调整。 芬尼在其 RPOW 网站上解释道:「RPOW 系统的首要构建目标是,让所有人(包括 RPOW 服务器的所有者和 RPOW 软件的开发者)都无法违反系统规则并伪造 RPOW 代币。如果没有这种不可伪造性,RPOW 代币就无法可信地代表人们为创造它所付出的劳动。可伪造代币更像是纸币,而非 Bit Gold。」 (责任编辑:admin) |