Hive尽快改用强密码,以及设置最后防线Recovery Account

By @lemooljiang3/21/2026hive-105017

最近Hive及Steem社区有不少小伙伴密码被盗,造成了不小的损失。O婶 @oflyhigh 发布了些被盗名单,可以去看看。有些被盗的小伙伴通过Recovery Account成功救赎,也算是万幸!

password.jpg
密码安全(来源:网络)

区块链的项目更具黑暗丛林特点,和银行等Web2的项目在安全性上完成不同,它几乎要完全依靠自己。而密码的安全又是其中重要的部分,一旦泄露,那么资金基本就会瞬间被掏空!所以,一定要使用强密码! 用官方的话说就是:能记住的密码都不是强密码。

password2.jpg
一定要使用Hive官网推荐的强密码!

刚加入Steemit时,好像是16年,就发生了严重的密码泄露事件,造成了很坏的影响和损失。团队很快上线了强密码的强制使用,这才弥补了漏洞。估计有些人是使用了第三方的注册应用,没有使用强密码,这才造成密码被盗事件频繁发生!

关于密码安全和Posting Key、 Active Key这些,可以参看我以前的文章《新人生存指南之十五:密码即一切》, 有详细地说明这些事项。

设置最后防线Recovery Account

如果密码被盗,是可以通过Recovery Account(恢复账户)来恢复的!不过一定要在被盗的30天内执行,否则神仙来了也救不了!

Recovery Account(恢复账户)可以协助你发起 账户恢复请求 (Account Recovery Request)。默认情况下,这个账户通常是创建你账号的那个机构(如 steem,blocktrader等)。如果这个Recovery Account(恢复账户)很给力,那么你的被盗帐户会很快恢复,但是,Recovery Account(恢复账户)没那么配合,那么你就只能在焦虑中苦苦等待,看看资产损失而毫无办法!

作为最后一道防线,Recovery Account(恢复账户)还是蛮重要的。但一直被我们忽视了,我也从未关注过,直到最近的泄漏事件。

Hive官网上还真查不到这个参数设置,只能在区块浏览器上看看。

password3.jpg
https://hivexplorer.com/@lemooljiang

确实只有在区块浏览器才能查看到,Recovery Account(恢复账户)是steem。如果我的帐户被盗,大概率是找不到steem这个帐户的主人来帮我恢复帐户吧!

找了一圈,没有看到前端可以修改这个参数,估计只能上代码啰!

修改Recovery Account

如果Recovery Account是steem这些我们找不到人的,还是做下修改,铸好最后一道防线。

只看到beem.py这个包可以修改,查看下beem文档 ,有点头大,还是上AI吧。

丢给Gemini一句: 我正在使用Hive链,请具体介绍beem.py中 change_recovery_account 这个函数的各个参数和用法,并给出具体的使用案例, 它很快生成了对应的代码,跑了下,竟然一下就跑通啰!以下是相应代码:

# 安装包
pip install beem

from beem import Hive
from beem.account import Account

# 1. 指定你要操作的账户
account_name = "lemooljiang"
# 2. 设置你的节点和 Owner Key (更改恢复账户必须使用 Owner Key)
owner_key = "5JUExxxxxx...cv" 
# node_url = "https://api.hive.blog"
node_url = "https://api.openhive.network"

# 3. 初始化 Hive 对象
h = Hive(node=node_url, keys=[owner_key])
acc = Account(account_name, blockchain_instance=h)

# 4. 执行更改操作
# new_recovery_account (string):你希望指定的恢复账户名。
# 通常建议设置为你信任的好友、知名的见证人(Witness)或者你控制的另一个安全账户。
# 假设你想把恢复账户改为 O婶
new_recovery = "oflyhigh"

try:
    print(f"正在尝试将 {account_name} 的恢复账户更改为 {new_recovery}...")
    tx = acc.change_recovery_account(new_recovery)
    print("操作已广播!")
    print("交易 ID:", tx)
    print(f"查询: https://hivexplorer.com/tx/{tx['trx_id']}")
    print("注意:更改将在 30 天后正式生效。")
except Exception as e:
    print(f"发生错误: {e}")

recovery_account.jpg

到区块浏览器上可以查看到相关的操作啰。这个更改将在 30 天后正式生效。

修改Recovery Account的Steem版本

Steem版本略有差异,稍做修改即可。

from beem import Steem
from beem.account import Account

account_name = "lemooljiang"
# 1. 初始化并提供 OWNER KEY (必须是 Owner 权限)
owner_key = "5Jcxxxxxxxx..nhg"

# 假设你想把恢复账户改为 卖鱼的
new_recovery = "maiyude"

nodes="https://api.justyy.com"
stm = Steem(keys=[owner_key],node=nodes)

# 2. 实例化账号对象
acc = Account(account_name, steem_instance=stm)

# 3. 执行修改
try:
    # 注意:该函数会向链上发送 'change_recovery_account' operation
    tx = acc.change_recovery_account(new_recovery)
    print("修改请求已提交!")
    print("交易 ID:", tx)
    print(f"提醒:该修改将在 30 天后正式生效。当前恢复者仍是: {acc['recovery_account']}")
except Exception as e:
    print("执行失败:", str(e))

修改好了,至少心理安稳些了。并且又接触到了新知识,也是开心的。以太坊的帐户恢复想了好多年还没实现,Hive在10年前就实现啰。但是这两者的发展却又是云泥之别,不禁让人唏嘘。

安利下我的两个项目: 喵星-区块链博客星空笔记,欢迎大家使用。

46

comments