昨天在点赞中文社区的小伙伴帖子之后,无意中发现神秘大佬竟然也跟赞了我点过的帖子,擦,这事怎么一回事?
(图片由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)
哼,我到要看看,到底是谁在操作的!
运行一下我的脚本,结果来啦:
这下总改无所遁形了吧?霍霍霍霍,我发出大反派才有的笑声。
不过,等等,这个公钥怎么看起来这么面熟呢?怎么有点像似我的公钥呀?这么怎么可能?!😮
于是调用API看了一下自己的POSTING KEY对应的公钥,擦,果然是我的!😡
擦,是谁盗用了我的密钥😡,我当时既惊讶又愤怒。可仔细想想谁若是盗用了我的私钥,不去干坏事,还帮我弄个点赞机器人,这也有点说不过去呀?
那么问题大概率还是出在我这里,可是又是哪里出了问题呢?想来想去还是想不明白。
我一边绞尽脑汁冥思苦想,一边随手瞎点电脑上的窗口。咦,怎么这个窗口还开着,而且里边的程序还在正常运行着。
话说,元旦不是搞了个晒计划赢神秘大佬点赞大奖的活动嘛,为了效率以及公平,都是用程序生成随机金额并点赞在去留言回复,确实帮了我的大忙。
一般我处理完,就会关闭程序,不过第二天看小伙伴们参与热情高涨,还积极回复,我就又把程序打开,把参与回复的小伙伴都奖励了一遍——然后就忘记关闭程序了。
一般来讲,程序跑着跑着就会因为网络等原因断掉,可能是最近网络改造得太好了,又抑或是我程序中处理逻辑太强大,竟然偷偷跑了两三天我还不知道。
而它只偷跑倒也罢了,竟然还偷偷地去点赞。好吧,之所以去点赞,是因为它判断我的活动号点赞了,以为又是新一轮活动呢。😳
(图片由ChatGPT辅助生成)
所以,弄来弄去,真的是“我”在搞事情,小丑竟是我自己,真的好囧呀。至于神秘大佬给小伙伴们点赞倒无所谓了,就当神秘大佬额外放送的福利吧。
就是这事,还是好尴尬啊😅,我的脚趾要抠出三室一厅啦。