loki:将区块链和TOR结合【1】
在Discord和loki的人交流了很多,这解决了我很多疑惑,但是现在我对它的感觉不怎么好了。我觉得 loki 的方案还存在问题,团队不怎么行,社区氛围也不怎么好。Bitcoin、Ethereum社区的技术气息在这里是没有的,营销色彩倒是很重。
loki 愿景很好,但最后可能会成为空气币。
虽然问题重重,但loki的设计中还是有一些我觉得值得学习的地方,这也是我写这篇文章的原因。
对service node的激励过程
对service node激励过程这么关键的信息在白皮书里居然没有写清楚。
比如白皮书4.1部分写service node会排成一队,最靠前的会获得奖励,然后又掉到队伍最后,重新开始排队。但是具体实现是怎样的,这个过程是由谁进行的?队伍数据存在哪里?是如何达成共识的?
白皮书8.3部分写service node如果没有通过测试,就会被踢出,但是“踢出”具体指的是什么?抵押被销毁吗?还是说只是不被其他service node接受及获得奖励了?
我在Discord针对这些点一个个的问和确认,然后大致弄明白整个流程。这让我感觉团队做事不专业,关键点不写清楚,不重要的内容一大堆,空气币一般都是这么做的。
这里概述一下我从团队的回复中屡出的service node激励过程:
service node需要抵押一定量的loki coin才能注册加入队伍,从而才能和其他service node共同传递lokinet的数据,并获得奖励。
每个区块会发行新的loki coin,其中45%给出块的矿工,50%给service node。矿工、service node是2个职能,前者负责挖矿,后者负责维护lokinet。但是矿工也可以同时充当service node,只需要抵押足够的loki coin注册成为service node就行了。
注册时会创建一笔交易(registration transaction),并写入区块链。
-
各个service node会互相进行监督测试,测试目标由每次出块的hash决定,以实现随机性。测试内容包括4项,最重要的是带宽。节点会将对测试目标的测试结果广播给其他节点。
当50%以上的节点都认为某个service node的测试结果不达标,那么它就会被踢出。踢出的方式是创建一笔注销交易(deregistration transaction),在下一个区块中被写入区块链。一个月之后它的押金会被解锁,继续正常使用。
监督测试只是为了保证service node达到基本要求,只要达到这个要求,那么它在激励队伍中排名就会逐渐靠前,当排到最前时就会获得奖励。获得奖励后,又会返回队伍末尾。
队伍的信息是根据区块链中的交易计算得出的,注册交易、奖励交易、注销交易都被写入区块链,矿工可以根据这些交易推算出当前的队伍排序。
这里有个缺陷是,service node只要达到基本要求就能获得奖励,追求更高的运行标准并不能获得额外的奖励。当lokinet使用者爆满、网络拥挤时,它们不会想着加大带宽,以保证服务质量,因为这些额外的成本并不会被抵偿。
也就是说loki并不能激励service node提供尽量好的服务,而激励service node是loki的根本目标。如果只能激励service node提供基本的服务水平,那么它和Tor可能就差不多了。
Lokinet enforces (by consensus) minimum standards for bandwidth, message storage and blockchain storage. [1]
指出这一点之后,lokinet的主力开发者Jeff居然说loki目前的竞争对象不是Tor,而是VPN,这让我大跌眼镜。
如果是作为 VPN 的话,那我觉得更没有竞争力了,因为VPN 有市场竞争激励它们提供尽量好的服务质量,否则别人就不买它的账号了。
Loki coin的竞争力
如果 Loki Coin 没有竞争力,没法维持一定的币价,就没法对Service Node产生足够的激励,从而Service Node节点数会减少,所以保持Loki coin竞争力也很重要。
Loki coin 是对 Monero 的分叉,但并没有添加多少创新。它也没有和lokinet结合,它们2个互相很独立,即使lokinet繁荣起来对loki coin也不会带来太大好处。如果lokinet需要支付loki coin访问,那么loki coin就和lokinet息息相关了。lokinet被使用的越多,loki coin的币价也会越高。
但是Loki团队成员多次说不能收费,否则就不会有人用lokinet。说的有点有道理,因为Tor是免费的,目前用起来还不错。现在出来一个付费的,除非很好用,人家没道理用这个。
但我觉得如果性能比 Tor 好很多的话,会有人愿意付费的,但关键是:
- lokinet没法提供比 Tor 更好的服务质量
- “付费访问”技术上很难实现
如果loki coin单纯是作为一种新的匿名币的话,在已经有这么多匿名币的情况下,它并没有多少竞争力。
而且loki还将一部分 coin 发给 service node,这是对loki coin持有者的剥削。因为额外的通货膨胀对loki coin的持有者带来损失的同时,并没有带来任何好处。
Jeff说后面会开发lokinet专用浏览器,类似 Tor Browser 一样。并在浏览器内部集成 loki coin 的钱包功能,使得在loki browser内使用loki coin支付更加方便。这确实会给loki coin带来一些竞争力,因为使用方便,SNApps 会更有可能接受这种币支付,也会有更多lokinet使用者通过loki coin支付,这有利于币价。
这带来的另外一个好处是,这使得loki coin的持有者通常同时也是lokinet的使用者,这解决了前述的对coin持有者剥削的问题。lokinet是免费访问的,lokinet的成本通过对loki coin的通货膨胀来垫付。如果loki coin的持有者同时也是lokinet的使用者,那么通货膨胀带来的损失就放又回到lokinet的使用者自己身上了,他们为自己的需求买单。
这个方案对我带来的启发是,技术上的难题有时可以通过非技术的方法来解决或者减缓。
但是:
- loki browser如果是开源的,那么别人可以 fork,把这个功能去掉。
- Loki coin的支付速度跟闪电网络肯定没法比,所以大部分人在Loki browser内可能仍然会选择闪电网络支付,而不是用Loki coin。
Lokinet在中国仍将无法使用
国内对 Tor 网络的封锁包括3个层面[2]:
- 首先torproject.org域名被屏蔽
- 将tor 的 directory authorities的IP地址(10 个)拉入黑名单
- 将relay、bridge 的IP地址拉入黑名单。scanner会不停尝试和这些relay建立tor连接,如果连接成功,就拉入黑名单;如果失败,就解除黑名单。
这个问题loki并没有解决,所以lokinet在国内仍然是会被封禁的。