使用bitshares账户密码以及python-bitshares直接获取私钥以及公钥

在昨天的帖子中,我介绍了如何导出导入私钥等操作:

然而,作为一个程序猿,总觉得登陆来登陆去,点啊点啊的太麻烦,那么有没有方便快捷的方法获取私钥呢?前一阶段在学习python-bitshares,好吧,我承认我挖的坑还没有填完,以后慢慢填吧,让我先来尝试一下能否用账户密码以及python-bitshares直接获得私钥。


(图源 :pixabay)

使用PasswordKey类获取私钥

经过一番学习,发现python-bitshares中有个PasswordKey

用这个类,可以获取账户密码的对应私钥,简单的示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
from bitsharesbase.account import PasswordKey

account = "test2018"
passwd = "P5JiDXtCaDdCTgCrkXAG2fEzVUjrBxSJbx9MsXXXXXX"
role = "active"

pwkey = PasswordKey(account, passwd, role=role)
private_key = pwkey.get_private()

print("Account:", account)
print("Passwd:", passwd)
print("PrivateKey:", private_key)

运行结果如下:

我们成功的获取了这个账户对应的Active Private Key.

为了校验一下我们获取的私钥是否正确,我登陆网页钱包查看了一下私钥:

对比上述私钥,可知我们获得的结果是正确的。

如何获得公钥

我们已经可以使用PasswordKey类获取私钥,但是为了校验我们获得的私钥是否正确,还特意登陆了网页钱包查看了一下私钥。这岂不是多此一举!既然还需要登陆网页钱包,那么直接获得私钥就好了,何必还用程序生成。

那么有啥办法来查看我们生成的私钥是否是账户对应的私钥呢?
很简单,对比一下公钥就可以了。

为了对比公钥,我们需要获得账户的公钥,以及用程序生成公钥。

账户的公钥可以通过区块链浏览器查看

以上为我这个账户的公钥,我们暂且以Active KEY为例。

将上述代码的下半部分更新成如下内容:

1
2
3
4
5
6
7
8
pwkey = PasswordKey(account, passwd, role=role)
private_key = pwkey.get_private()
public_key = pwkey.get_public()

print("Account:", account)
print("Passwd:", passwd)
print("PrivateKey:", private_key)
print("PublicKey:", public_key)

结果,这是什么鬼?

貌似公钥的值是正确的,但是前缀是GPH而不是BTS

看了一下代码,原来PasswordKey的get_private()和get_public()都是调用了父类石墨烯库中的PasswordKey中的方法。而在父类中,默认的前缀是GPH而不是BTS

要解决这个问题,一种方式是修改python-bitshares以及python-graphenelib库中对应的函数,这个比较麻烦。

所以我采用了另外一种方法:
即由Private Key 从新生成公钥
public_key = PrivateKey(str(private_key)).pubkey
因为我们调用的是python-bitshares中的PrivateKey类,所以默认的前缀为BTS,无需我们在参数中设置


前缀完全正常,和区块链浏览器中对比完全一致。

完整的示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from bitsharesbase.account import PasswordKey
from bitsharesbase.account import PrivateKey

account = "test2018"
passwd = "P5JiDXtCaDdCTgCrkXAG2fEzVUjrBxSJbx9MsXXXXXX"
role = "active"

pwkey = PasswordKey(account, passwd, role=role)
private_key = pwkey.get_private()
#public_key = pwkey.get_public()
public_key = PrivateKey(str(private_key)).pubkey

print("Account:", account)
print("Passwd:", passwd)
print("PrivateKey:", private_key)
print("PublicKey:", public_key)

以上为完整的示例代码,仅供参考。

结论


(图源 :pixabay)

使用账户密码以及python-bitshares中的PasswordKey类,可以轻易获取对应账户的私钥,无需登陆网页钱包等繁琐的步骤。

可以使用生成的私钥使用PrivateKey类来生成公钥与区块链浏览器上显示的公钥信息对比验证是否正确。

以上代码仅供参考。


This page is synchronized from the post: 使用bitshares账户密码以及python-bitshares直接获取私钥以及公钥

知道在哪划线值9999美元 / 批量取消机器人订单的问题

十多天前发帖说杀掉机器人的事情,虽然机器人杀掉了,但是之前在内部市场的挂单还在,总不时的成交一笔,让我无比郁闷。于是我计划取消所有订单,结果订单多达数千笔,我不清楚会取消到猴年马月,于是研究了一下如何用程序取消订单。

机器人订单无法取消


(图源 :pixabay)

写完这篇文章以后,过了几天才抽出时间去编写程序。按说道理都研究透了,那么实现起来应该是轻而易举的事情,结果却遇到了拦路虎。

程序的逻辑,无比简单:

  • 调用get_open_orders()获取所有订单列表
  • 遍历订单列表
    • 获取对应订单的orderid
    • 调用cancel()取消订单

结果执行时却报如下错误:

这是什么鬼啊,我觉得我的程序正确无比,于是就想当然地怀疑是steem官方python库的问题。

于是用TransactionBuilder自己写了一个cancel函数,自己广播,这样总该不会出错了吧?结果错误依旧。

于是再进一步:

1
2
3
4
5
6
{'expiration': '2017-12-22T05:30:21',
'extensions': [],
'operations': [['limit_order_cancel', {'orderid': 1157209, 'owner': 'xxx'}]],
'ref_block_num': 15760,
'ref_block_prefix': 1556757909,
'signatures': ['1f5a643f519cc07434826e91584e69f2687ee49b20e06e8ba79e4d07b464b06dce5ebb547130f83ad0fe697ed50662378191bd864d8d173a95fbcafae2849c19a2']}

生成transaction之后用curl自己用STEEM RPC API广播,还是出错。

然后在python-bitshares 边学边记 (五) / Market类中,发现python-bitshares中的cancel方法中传递的是订单id列表

1
2
3
4
from pprint import pprint
from bitshares.market import Market
market = Market("BTS:CNY")
market.cancel(['1.7.42839275'], 'xxxx')

于是想是不是STEEM Python库也应该传递的是列表呢?仔细阅读了一下源码,发现传递的是订单id,不是订单ID列表,我想多了。

于是经给如下操作之后,我觉得我陷入了死胡同

  • 使用cancel()函数
  • 使用TransactionBuilder自己实现cancel()功能
  • 生成transaction后自己使用curl调用steem RPC广播
  • 对比python-bitshares的程序,检查是否应该传递id列表

而steemd上显示的时不时的成交的订单,仿佛是对我的嘲笑,这个可恶的机器人!不过我真的拿他没啥办法了,我觉得我的程序没问题,我该试过的东西都试过了,身心俱疲。

柳暗花明又一村


(图源 :pixabay)

我已经决定放弃了,任这个机器人自己去玩吧。自己安慰自己,毕竟它跑了几个月,没有功劳也有苦劳,何必非得彻底打死呢。就这样算了吧,这样一想,心情好多了。

昨天和某专业人士聊到一些技术话题,突然想起我遇到的这个诡异的事,于是我向他请教,让他不忙的时候帮我瞧瞧。

为了方便他处理,我特意生成了一个半小时后才失效的签名好的transaction,这样便于他用cli-wallet广播,然后查看出错信息。

结果,他很快就给我回复,“是不是哪里写错了?id不对?还是已经成交了?”

我想怎么可能写错啊,我没手工写id啊,是程序生成的,怎么可能填错,不过专家发话,我还是重新审查了一遍。


结果,这一检查,我就发现问题了: 怎么有两个id! 一个id,一个orderid

而无论是cancel函数,还是我自己实现的函数,都应该传递orderid,再检查一下我的代码,一个华丽丽的item['id']在那站着。

将程序中的item['id']改成item['orderid'],程序执行一切正常。

我的机器人,终于没能逃出被我彻底杀死的宿命。

总结

作为一个半吊子程序员有一个毛病,相信自己写的程序怀疑别人的代码!,尤其是自己的代码超级简单的时候。如果我能多怀疑一下自己,可能第一时间就能发现问题。而潜意识中认为BUG在steem python官方库这则让我做了很多无用功。好吧,可能使用steem python库遇到了好些BUG,让我一发现问题就怀疑它。😀

另外就是专业的指点,短短两句话,却省了我N多时间。让我不禁想起那个:画一条线,1美元;知道在哪儿画线,9999美元的故事。这就是专家和我们的差异啊。



(图源 :pixabay)

附:画一条线,1美元;知道在哪儿画线,9999美元的故事

20世纪初,美国福特公司正处于高速发展时期,一个个车间一片片厂房迅速建成并投入使用。客户的订单快把福特公司销售处的办公室塞满了。每一辆刚刚下线的福特汽车都有许多人等着购买。突然,福特公司一台电机出了毛病,几乎整个车间都不能运转了,相关的生产工作也被迫停了下来。公司调来大批检修工人反复检修,又请了许多专家来察看,可怎么也找不到问题出在哪儿,更谈不上维修了。福特公司的领导真是火冒三丈,别说停一天,就是停一分钟,对福特来讲也是巨大的经济损失。这时有人提议去请著名的物理学家、电机专家斯坦门茨帮助,大家一听有理,急忙派专人把斯坦门茨请来。

斯坦门茨仔细检查了电机,然后用粉笔在电机外壳画了一条线,对工作人员说:“打开电机,在记号处把里面的线圈减少16圈。”人们照办了,令人惊异的是,故障竟然排除了!生产立刻恢复了!

福特公司经理问斯坦门茨要多少酬金,斯坦门茨说:“不多,只需要1万美元。”1万美元?就只简简单单画了一条线!当时福特公司最著名的薪酬口号就是“月薪5美元”,这在当时是很高的工资待遇,以至于全美国许许多多经验丰富的技术工人和优秀的工程师为了这5美元月薪从各地纷纷涌来。1条线,1万美元,一个普通职员100多年的收入总和!斯坦门茨看大家迷惑不解,转身开了个清单:画一条线,1美元;知道在哪儿画线,9999美元。福特公司经理看了之后,不仅照价付酬,还重金聘用了斯坦门茨。

好吧,据说这是半截故事,那么下半截故事呢,我找到一个链接,大家感兴趣的自己去看吧,我就不都贴过来了。
http://www.sohu.com/a/108101885_353801


This page is synchronized from the post: 知道在哪划线值9999美元 / 批量取消机器人订单的问题

在网页钱包中使用鼓鼓账户密码 / 如何导出、导入私钥 以及备份钱包

总提醒别人写帖子的时候备份,自己写了一早上的帖子,吃完早饭发现完全不见了,吐血。重新截图重新写😭

我的一些玩比特股的朋友总问我,如果鼓鼓钱包坏掉了,里边的钱是不是就拿不回来了?其实呢鼓鼓钱包的账户密码就是bitshares的账户密码,鼓鼓之于bitshares就好比esteem之于steem。所以姑且不论鼓鼓钱包坏掉的概率有多低,但是即使坏掉,有bitshares账户密码在你怕什么?

但是我一直没在网页钱包中使用过鼓鼓的账户密码,直到昨晚,惊心动魄的一晚,或许因为交易太多,或许可能是我这里网络拥堵,总之鼓鼓有点卡。在网页钱包中我们可以切换访问节点,而在鼓鼓,我却没找到怎样设置。另外,在电脑大屏上交易操作或许也比在手机上操作爽一些。

基于这两点,我决定测试一下在网页钱包中使用鼓鼓账户。

直接用鼓鼓钱包账户密码登陆网页钱包(账户模式)

https://wallet.bitshares.org
登陆网页钱包


在弹出窗口中选择 Existing user


账户密码登陆窗口,在这里输入鼓鼓钱包账户以及对应密码

点击 按钮即可登陆成功,是不是很简单?这也验证了我之前的结论鼓鼓钱包的账户密码就是bitshares的账户密码。现在就可以使用电脑大屏幕交易啦,是不是很爽?

将鼓鼓账户导入到网页钱包(钱包模式)中

如果你只有鼓鼓账户,那么之前的步骤就可以了,如果你有多个bitshares账户,那么来回切换是很麻烦的事情。如果把鼓鼓账户也加到之前的钱包账户里,就爽歪歪了。

将鼓鼓账户导入到钱包账户中,大致需要三个步骤:
1) 导出私钥
2) 导入私钥
3) 备份钱包

导出私钥


点击用鼓鼓账户密码登陆的网页钱包的用户头像,选择Permissions

进入Active Permissions

点击前边的小钥匙图标

在弹出的Private key viewer点击按钮

在弹出提示框中输入密码,Private key viewer就会显示私钥等信息

复制私钥,即完成导出过程。

导入私钥

登陆我们已有的网页钱包(钱包模式)

点击右上角的下箭头,在弹出菜单中选择Settings

在新页面中选择Restore/Import

在右侧页面选择Import a private key

输入我们在上个步骤获得的私钥

点击提交


点击导入私钥

按提示输入钱包密码解锁钱包,私钥即会导入成功。

注:我们可以用同样的步骤导入Owner Key

备份钱包

私钥导入后,是以加密 形式存储在本地钱包中(浏览器的数据区),一旦我们清空浏览器缓存或者浏览器坏掉,那么钱包数据就会丢失。而我们之前的备份钱包中是不包含我们新导入的私钥的。为了避免出现这样的情况,我们需要备份钱包。

其实当我们做完导入私钥操作后,网页钱包已经提示我们需要备份。

点击红色的提示信息,直接进入创建备份的页面

点击创建备份并保存到安全的地方(比如离线介质)即可。

结论

鼓鼓钱包账户密码即bitshares账户密码。可以直接在网页钱包中使用账户密码模式登陆,也可以通过私钥导入到钱包中。

这样操作后,我们就可以用网页来操作鼓鼓账户了,大屏交易很爽,并且可以自己设置节点。但是充值提现还得通过鼓鼓软件哦:)


This page is synchronized from the post: 在网页钱包中使用鼓鼓账户密码 / 如何导出、导入私钥 以及备份钱包

买赞合算吗?

最近我发现一个现象,STEEMIT上出现了好多卖赞服务,当然也多了很多靠买赞刷上来的帖子。或许正是因为买赞的需求太多从而导致了卖赞业务的发达。

(图源 :pixabay)

任何事物存在都有其合理性。在这里我也不去评价这种卖赞服务以及购买这种服务该被支持或者被贬低,每个人的立场不一样,至少我觉得我没资格指手画脚。我只是想简单调查一下对于作者而言,买赞是否合算?

我曾试运行的点赞小鱼


(图源 :pixabay)

为了更好的说明问题,我特意找了我之前做过的一个测试:
《也来试试点赞小鱼,仅仅是测试,限时开放[截止当日(7月12日)北京时间22点],快来玩吧》

至于这些卖票行为是否值得肯定,有人认为内容为王,花钱买赞行为实不可取;也有人认为,我花自己的钱为文章增加收益无可厚非。对此, 本文姑且不去讨论。本文只是从技术角度分析和测试一下类似乱鲸鱼的实现机制,并且做了个简单的点赞小鱼,当然不指望卖票赚钱,只是玩玩而已,所以只开放2个小时多一点。

在这个帖子中,我实现了卖赞机器人的基本功能。

  • 判断收钱
  • 计算额度
  • 点赞并回帖等

而我这个点赞小鱼的使用方式也和大部分机器人类似

  • 转任意数额的SBD到我的账户
  • 备注中标明帖子或者回复的Identifier
  • 点赞小鱼会给与2倍金额的点赞

也就是说,你给点赞小鱼转10SBD,点赞小鱼会给你的帖子增加20SBD

买赞收益计算


(图源 :pixabay)

好了,我已经介绍完我曾经试运行过的这个点赞小鱼。

我觉得相比现在STEEMIT上的各类买赞服务,我这个算是厚道的。你不用费尽心机的计算卖赞机器人的SP、VP以及你根本无法控制的随机因素来判断你的投入和产出是否合算。

那么就已我这个卖赞机器人为例,来算算买赞是否合适。

也就是说,标准即文章增加的收益是投入的SBD的2倍,比如说,转出100SBD,文章增加200SBD这很诱人,不是吗?粗略一看,投入100SBD,增收200SBD,怎么算怎么合适,一点悬念都没有。

但事实真的是如此吗?
要高清这个事情,我们要了解一下文章收益,和我们拿到的收益之间的区别!

我在这篇文章中提到:
以那篇文章发表时的各种参数为例,假设作者收益显示为100SBD,那么实际情况为:
选项|系统估值|SP|SBD|市场估值(SBD)|市场估值(USD)
—-|—-|—-|—-|—-|—-
Power Up 100%|100|38.760|0|9.099 SBD | $ 123.10947
Default(50%/50%)|100|19.380|50|54.549 SBD |$ 738.04797

而今天,尽管喂价以及STEEM内部市场价,以及SBD兑美元价格都有了诸多变化,但是实际上SBD收益没变多少。

  • Power Up 100%时约为: 9.663 SBD
  • Default(50%/50%)时约为:54.831 SBD

一个需要注意的前提是,我假设作者收益显示为100SBD,也就是说已经扣除了点赞者分成。

好再回到我们的问题:
转出100SBD,文章增加200SBD,那么我们会拿到多少SBD呢?

首先,去掉点赞者分成
作者的显示收益约为:`200 0.75 = 150 SBD`*

按今天撰文时的系统参数并选择Default(50%/50%)
作者收益应约为:`150 54.831% = 82.2465 SBD`*

什么,我转了100SBD给点赞小鱼卖赞机器人,竟然只收到82.2465 SBD,亏损率高达 17.7535%

结论


(图源 :pixabay)

如果一个卖赞机器人,给你的文章增加的收入是你转账金额的2倍,那么你就别用这个服务了。因为按目前行情,你的亏损率高达 17.7535%。当然了,从点赞到结算这段时间,喂价、市场价等可能出现各种变化,这些变化可能导致这个亏损率增加或者降低。但是,往哪个方向变动谁也说不清楚不是嘛,那么总体而言,亏损的概率要大得多得多。

那么还要不要用卖赞服务?我觉得可以考虑这些情况:

  • 稳赚不赔的,比如给你10倍金额的点赞,那一定是稳赚啊
  • 需要推广的帖子,比如发个ICO骗钱割韭菜,推上首页肯定更多人上当
  • 极好的帖子,需要一些人气和关注(没人发现,就自己花钱让大家发现)

我和某鲸聊天,他和我聊到一些帖子没什么内容却通过买赞推到300多SBD。
他的原话:

要是内容说得过去也没什么,这么烂的帖子竟然自己买赞推到300多,这个作者以后我是不会去点了。

参考链接


This page is synchronized from the post: 买赞合算吗?

如果早生几十年我们怎样生活?

今天早晨交了一堆电话费、宽带费、燃气费、电费、水费。打开网银->信用卡->自助缴费,点啊点啊,几下之后就搞定了。然后不禁感慨,现在网络和支付手段的发达给我们的生活带来了极大的便利。我们可以足不出户的缴纳各种费用,我们可以足不出户的品尝到各种美食,我们可以足不出户的购买到世界各地的商品,我们可以足不出户的和亲人与朋友联络感情,我们可以足不出户的结识新朋友,甚至于我们可以足不出户的在家工作。


(图源 :pixabay)

然后,我突然想,如果我们早生几十年,我们可怎么活啊?

想象着缴费,我们可能需要去各种营业厅,排几米甚至十几米的队伍,然后在营业员不耐的目光中填写各种单子、表格,然后递上现金,等营业员慢条斯理的数完后,再在各种回执上签字才算完事。不过再一想,好像早了几十年也没多少费用要交的,至少电话、网络算奢侈品呢,你想缴费,首先你得花大价钱装电话才可以。😀

再说美食,现在的百度外卖,饿了吗之类的外卖经济是很发达。但是先不说外卖送到家卖相和口感都差了一大截,但是听听音乐吃吃美食和朋友们边吃边闲聊的感觉是叫外卖无论如何也体验不到的。尤其是一些深藏在街头巷尾的老字号,人家本来供不应求,去吃尚且要排队,更别提通过外卖下单了。如此一想,早了几十年,没有外卖,似乎也不是什么不能忍受的事情。


(图源 :pixabay)

再说购买商品,对于男士来讲可能差一些,但是据我所知,逛商场可是女士们的一大爱好。不过淘宝、京东等电商的兴起,却把这一爱好生生的扼杀了。另外逛商场也是一个健康的运动方式,常逛商场是不是能起到健身减肥的功效呢?现在可好,一堆宅男腐女带着熊猫眼熬夜买买买,对身心健康的伤害那是极大的。还有最最重要的一年,通过电商买买买太方便,败家是很爽,可以钱包很快瘪了就不开心了。

说到亲人朋友,偶尔打个电话或者聊个微信真的就算联络感情了?常回家看看父母,陪父母唠唠嗑吃顿饭,才是父母们最大的期望吧。朋友也是,逢年过节群发个短信或者微信信息,堆砌一堆从哪里抄来或者转发的内容,毫无诚意可言嘛!偶尔和朋友一起聊聊、玩玩互相说说心里话,互相扶持互相鼓励,这样才是朋友之间的感情吧?这样看来,貌似早几十年朋友之间更像朋友。现在只不过比路人熟悉而已。

好吧,在家工作这事是非常好的,很自由,效率也很高。我有个朋友,在家工作了十几年,钱挣到一大堆,但是和我一起出去吃饭,我觉得他语言能力都退化了。他和我抱怨,SOHO一切都好,就是接触不到办公室漂亮妹妹,甚为遗憾。后来我这个朋友开了公司,然后整个人都变了个样子,言辞犀利、意气风发,哦,据说妹纸和娃都有了。如此看来,还是在办公室好呀😀


(图源 :pixabay)

这么一分析,貌似现在先进技术带来给我们诸多便利的同时,也让我们丧失了很多生活原本应有的乐趣和色彩。不过让我扔掉手机电脑并断网,这显然是不行的,无异于杀了我😭


This page is synchronized from the post: 如果早生几十年我们怎样生活?

非正式翻译:硬叉20 “速度”开发进展 / Informal translation:Hardfork 20 (“Velocity”) development update

This is an informal Chinese translation of the article: Hardfork 20 (“Velocity”) development update

6个月以前硬叉19发布的前夜,我发表了文章:
非正式翻译:硬叉19 “平等”即将到来,线性奖励 / Informal translation:HF19 “Equality” Coming Soon: Linear Rewards!

在HF19发布几天之后, @steemitblog 就发布了HF20的消息: Proposing Hardfork 0.20.0 “Velocity”,然而这一等就是半年之久。昨夜 @steemitblog 发布了HF20的开发进展,我将这篇这篇文章大概翻译一下,让大家能对HF20 多些了解。

以下为翻译内容:


当前状态 / Current Status

Significant progress is being made with hardfork 20, including some additional changes which will make the Steem blockchain even better. There is no official release date yet, but a release candidate is expected to be ready by the end of the year.

hardfork 20正在取得显著的进展,包括一些额外的更改,这将使得STEEM区块链更上一层楼。目前还没有正式发布日期,但预计在今年年底前会有发布候选版本。

改进监护(点赞)激励 / Improving Curation Incentives

30分钟监护(点赞)时间窗的更改 / Changes to 30-minute Curation Window

As of now, Steem account holders (including bot accounts) are disincentivized by the Steem blockchain from voting on a post within the first 30 minutes. The earlier a vote is made within the initial 30-minute window, the less curation rewards the voting account receives. This was originally introduced to even the playing field between human curators and bots. This was successful but with the rise of more short-form content on the platform (content that can be read or viewed in less than 30 minutes), the community and the witnesses have come to a consensus that the 30-minute rule is taking curation rewards away from human voters who are actively consuming content and voting on material they like. For this reason, HF20 will reduce this window from 30 to 15 minutes.

现在,Steem账户持有者(包括机器人账户)在前30分钟对文章投票会被STEEM区块链做些限制。在最初的30分钟时间窗内,投票越早投票账户回去的点赞收益越少。最初引进这项机制是为了让机器人和自然人点赞者之间的角逐更加公平。这在过去很成功,但是随着平台上更简短的内容的兴起(可在30分钟内阅读或查看的内容),社区和证人已经达成共识,30分钟规则使得那些阅读了内容并给他们所喜爱的内容投票的真人点赞者获取不到点赞收益。基于此原因,HF20将这个时间窗从30分钟减少至15分钟。

消除通过点赞获取的自我投票奖励 / Eliminating self-voting rewards through curation

While the change to 15 minutes will even the playing field against bots, it doesn’t address the advantage self-voting gives to accounts with respect to curation rewards. If authors vote for themselves right away, they get their author rewards, 100% of the curation rewards from their vote, plus a portion of the curation rewards coming from everyone who votes for the post after them. Any other curator voting at the same time as the author would get 0% of the curation rewards. This gives the author an unfair advantage over other curators because the author can earn additional curation rewards through self-voting.

尽管将时间窗改变至15分钟使得在对抗机器人方面更加公平,但是在点赞奖励方面这并不能解决自我投票所带来的优势。如果作者马上为自己投票,那么他们将获得他们的作者奖励,100%的来自他们投票的点赞奖励,以及来自在他们之后给这篇文章投票的投票者的部分点赞奖励。在同一时间投票的点赞者将会和作者一样获取0%的点赞奖励。这给与了作者相对于其它点赞者不公平的优势,因为作者可以通过自我投票获取额外的点赞奖励。

In order to eliminate this unfair advantage, the unused portion of the curation rewards will be returned to the rewards pool instead of being awarded to the author, thereby increasing the overall percentage of rewards that will be paid to curators. This will better serve the original mission of the curation rewards budget: to ensure that the Steem blockchain distributes rewards to the most valuable content.

为了消除这种不公平的优势,点赞奖励的未使用部分将会回归奖励池而不是发放给作者。从而提高向点赞者支付的奖励的总百分比。这将更好地服务于点赞的奖励预算的原始使命: 确保STEEM区块链将奖励发放给更有价值的内容。

“尘埃”投票改变 / “Dust” vote changes

移除投票尘埃阈值 / Removal of vote dust threshold

The “vote dust threshold” is a rule that prevents the occurrence of extremely weak votes. Currently, accounts must possess about 1 SP in order for a 100% Voting Power vote to be successfully posted to the blockchain. If a vote is placed that is below the required threshold, it will be rejected by the blockchain. This can create a bad user experience for new users, as their votes can fail for seemingly no reason.

“尘埃投票阈值(vote dust threshold)”是为了阻止发生极其弱小的投票所设置的规则。当前,为了成功提交一个100% 投票权的投票,账户必须拥有大约1个SP。低于阈值要求的投票在提交后会被区块链拒绝。对新用户而言,这将导致糟糕的用户体验,因为他们的投票可能会无缘无故地失败。

In hardfork 20, this “vote dust threshold” will be removed. After this change users with any amount of SP will be able to cast votes so long as they have sufficient bandwidth. Votes that are below the threshold will be posted to the blockchain but will have no impact on rewards. This will allow users to have a better user experience on all Steem-based applications by enabling them to vote whenever they want to (as long as they don’t exceed their generous bandwidth allocation), without adding to the computational load on the blockchain by requiring that it calculate the impact of effectively powerless votes on the rewards pool. This also mitigates an attack vector by ensuring that if a malicious actor wanted to overburden the Steem blockchain, making countless small votes would not be an effective strategy.

在硬叉20中,“尘埃投票阈值“将被移除。这样更改以后,无论用户有多少SP都可以投票了,只要他们有足够的带宽。低于阈值的投票会发布到区块链上,但是不会对奖励产生影响。通过允许用户想投就投(只要他们不超过带宽分配),使得用户在所有的基于STEEM的应用上都有更好的用户体验,没有要求它计算有效无力投票对奖励池的影响而增加区块链的计算负载,这也减轻了一个被攻击的可能,因为恶意行为者想通过无数的小投票来使区块链过载将会是无效的策略。

在所有选票中应用移位 / Application of shift to all votes

The switch to linear rewards in hardfork 19 has had a very positive effect on user experience. HF19 ensured that the impact of each user’s vote on the rewards pool is directly proportional to their Steem Power (i.e. their stake in the platform). Users now feel more empowered, and they can see the direct correlation between the amount of Steem Power they have and the strength of their vote.

在HF19中切换至线性奖励带来了极好的用户体验。HF19确保了每个用户投票在奖励池中的影响和他们的Steem Power(即他们在平台上的股份) 成正比。用户现在感觉更强大了,他们何扣看到他们持有的Steem Power总量以及他们投票力量之间的直接联系。

However, the switch to a linear rewards curve meant that there was less of a disincentive for casting lots of inconsequential votes (“vote spamming”). While it is important for users to be able to earn rewards whenever stakeholders (even small ones) find value in their content, it is also important to disincentivize rewarding content with respect to which no other stakeholders see value.

然而,切换到线性回报曲线意味着对制造很多无关投票(“vote spamming”)缺少抑制作用。尽管对用户而言无论何时股东(即使是小的)发现他们内容中的价值他们都可以挣得奖励很重要,但没有其它股东发现价值时抑制奖励同样重要。

After discussion with the witnesses, it was decided to apply the “vote dust” shift to all votes equally. Each vote that is cast will be shifted down by about 1.219 SP. This effectively establishes a “baseline” voting strength that applies to everyone, while still maintaining a linear rewards curve for votes above the baseline. This way even large Steem Power holders won’t be able to profit from casting countless inconsequential votes.

在与见证人们探讨后,决定把“投票尘埃”平等地应用到所有的投票上。每个投票将被降低约1.219 SP。这有效地确立了适用于所有人的“基线”投票权,基线以上的投票仍保持线性回报曲线。这样,即使大的SP持有者也不能通过制造无数无关紧要的票来获得收益。

工作证明的帐户通过softfork挖掘 / Proof-of-Work account mining via softfork

The changes required to add support for PoW mining for discounted accounts will be included in hardfork 20, but the actual PoW mining will be added later as a softfork on top of HF20.

HF20中包含的打折账户的修改要求添加PoW挖矿支持,但是实际上PoW挖矿在以后将会被添加成HF20之上的软分叉。

移除Power Down限制 / Removal of Power Down Restriction

To prevent faucet abuse, accounts could not previously power down unless they had 10 times the account creation fee in Steem Power. Because account creation fees will now be burned with HF20, there will be less of a financial incentive to abuse faucets. After HF20, Steem account holders will have the freedom to power down their SP regardless of their account balance.

为了阻止水龙头滥用,账户以前不能Power down除非他们有十倍于账户创建费的Steem Power。因为HF20中账户创建费将会被燃烧,滥用水龙头的财务诱因将减少。HF20以后,不管他们的账户余额如何,STEEM账户持有者都将可以自由的Power down他们的SP。

见证人喂价格式的更新 / Update to witness price feed format

This change only affects the witnesses. A small change will be made to require the base to be SBD and the quote to be STEEM. Currently, both orders are allowed and can lead to undefined behavior in the price feed. Most witnesses are already supplying their price feeds in this format.

这项修改只影响见证人。将作一个小小的变动:要求以SBD为基础,报价为STEEM。当前,两种方式都允许,在处理喂价可能导致未定义行为。很多见证人已经按这种形式提供喂价了。

额外细节 / Additional Details

The full list of changes, as well as additional details not listed here, can be found in the GitHub Steem 0.20.0 project. More details can also be found in the original @steemitblog proposal: Proposing Hardfork 0.20.0 “Velocity”.

可以在GitHub Steem 0.20.0 project 获取完整的更改列表,以及此处未列出的其他详细信息。也可以参考 @steemitblog 发表的提案原文: Proposing Hardfork 0.20.0 “Velocity”获得更多细节信息。

结论 / Conclusion

The changes that are coming in the Velocity hardfork are very exciting because they are establishing the foundation that will enable Steemit.com and apps built on top of Steem to onboard millions of new users while remaining economically scalable. With these changes and the additional improvements described above, the Steem platform will be better than ever!

在HF20(速度硬分叉)中即将到来的改变是极其令人兴奋的。这些更改为使得Steemit.com以及基于STEEM的第三方应用引入数以百万计的新用户并保持经济系统的可扩展性打下了坚实的基础。有了上述描述中的改变以及额外的改进,STEEM平台将比以往任何时候都好!

Steem on,
Team Steemit


This page is synchronized from the post: 非正式翻译:硬叉20 “速度”开发进展 / Informal translation:Hardfork 20 (“Velocity”) development update

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×