啥?小丑竟是我自己!🤡

Words
1189
Reading
6 min
Listen
Play
9M

昨天在点赞中文社区的小伙伴帖子之后,无意中发现神秘大佬竟然也跟赞了我点过的帖子,擦,这事怎么一回事?

9b55c38c24208ab79c5304b41f8e5a81.png
(图片由ChatGPT辅助生成)

看了一下点赞的权重,还都是有整有零的,显然不是按比例跟赞我的帖子,和我设置的规则大不相同,嗯,应该和我没关系。

因为很多神秘大佬授权了很多小伙伴POSTING权限,所以我第一时间想到的是,某个小伙伴开启了跟赞或者跟踩机器人,但是没设好规则,导致错误地跟赞了。

因为急着要出门接孩子,所以没仔细调查这个事,但是还是和神秘大佬说了一声,告诉他可能有哪个小伙伴设置了跟赞机器人,等我接孩子回来调查一下到底是谁操作的。

等孩子放学的时候我还在想这个事,虽然有神秘大佬POSTING权限的小伙伴很多,但是大家都按规矩进行操作,很少发生这样的情况,到底是谁呢?

想破头皮也没想明白,索性不想了,反正在这方面我做过深入地学习和研究,只需分析对应操作的签名数据,就可以从签名中提取出来签名所用的私钥对应的公钥,再去查一下这个公钥的所有者,就清楚啦。

接到孩子回家后,我连晚饭都没去吃,一头扑在电脑前,开始去探查到底是哪个小伙伴干的好事。

获取操作的真实操作者其实很简单,大致步骤如下:

  • 从链上读出相应的Opration
  • 取出Opration的签名备用并去掉OP中的签名
  • 计算去掉签名后OP的摘要
  • 根据签名信息和摘要计算出签名对应的公钥

核心代码如下:

Sig = ecdsa.ecdsa.Signature(r, s)
digest_number = ecdsa.util.string_to_number(digest)
pubks = Sig.recover_public_keys(digest_number,ecdsa.SECP256k1.generator)
pk = ecdsa.VerifyingKey.from_public_point(pubks[recover_pubkey_parameter].point, curve=ecdsa.SECP256k1)
compressed_addr = gphBase58CheckEncode(hexlify(pk.to_string("compressed")).decode('ascii'))
print("获取公钥: ", "STM" + compressed_addr)

哼,我到要看看,到底是谁在操作的!

运行一下我的脚本,结果来啦:
04a04cc5f5befbe483288d5d275a572d.png

这下总改无所遁形了吧?霍霍霍霍,我发出大反派才有的笑声。

不过,等等,这个公钥怎么看起来这么面熟呢?怎么有点像似我的公钥呀?这么怎么可能?!😮

于是调用API看了一下自己的POSTING KEY对应的公钥,擦,果然是我的!😡
001358d14bf0d984c22e63e7270296b0.png

擦,是谁盗用了我的密钥😡,我当时既惊讶又愤怒。可仔细想想谁若是盗用了我的私钥,不去干坏事,还帮我弄个点赞机器人,这也有点说不过去呀?

那么问题大概率还是出在我这里,可是又是哪里出了问题呢?想来想去还是想不明白。

我一边绞尽脑汁冥思苦想,一边随手瞎点电脑上的窗口。咦,怎么这个窗口还开着,而且里边的程序还在正常运行着。

话说,元旦不是搞了个晒计划赢神秘大佬点赞大奖的活动嘛,为了效率以及公平,都是用程序生成随机金额并点赞在去留言回复,确实帮了我的大忙。

一般我处理完,就会关闭程序,不过第二天看小伙伴们参与热情高涨,还积极回复,我就又把程序打开,把参与回复的小伙伴都奖励了一遍——然后就忘记关闭程序了。

一般来讲,程序跑着跑着就会因为网络等原因断掉,可能是最近网络改造得太好了,又抑或是我程序中处理逻辑太强大,竟然偷偷跑了两三天我还不知道。

而它只偷跑倒也罢了,竟然还偷偷地去点赞。好吧,之所以去点赞,是因为它判断我的活动号点赞了,以为又是新一轮活动呢。😳

image.png
(图片由ChatGPT辅助生成)

所以,弄来弄去,真的是“我”在搞事情,小丑竟是我自己,真的好囧呀。至于神秘大佬给小伙伴们点赞倒无所谓了,就当神秘大佬额外放送的福利吧。

就是这事,还是好尴尬啊😅,我的脚趾要抠出三室一厅啦。

啥?小丑竟是我自己!🤡 | Ecency