O哥闲扯淡:聊聊HIVE的“私信”功能

Words
1184
Reading
6 min
Listen
Play
4y

昨天我的帖子中提到可以通过转账或者取现操作给别人发送信息,我使用了“私信”这个词,结果有朋友纠正我“公开的信息不能叫私信”,所以决定单独发个帖子,专门聊聊HIVE的私信功能。

image.png
(图源 :pixabay)

“私信”顾名思义,应该是私下里的信息(不是发给公众),私密的信息(除了发送者和接收者,别人应该看不到),如果不符合这两点,那么肯定不应该叫私信。

公开的信息

比如我转账0.001 HIVE给刘美女 deanliu@deanliu, 并附加MEMO:“明天一起去台北看雨可好?”,命令行钱包指令如下:

transfer oflyhigh deanliu "0.001 HBD" "明天一起去台北看雨可好?" true

转账成功后,打开钱包链接,就会在我的钱包或者刘美女的钱包中看到如下信息:

1669781029281.png

但是问题来了,这条信息不光我自己或者刘美女能看到,任何人打开我俩的钱包链接,都可以看到这条信息。这就囧了,本来想悄咪咪地约刘美女去台北看雨,结果地球人都知道了。

其实不光是通过钱包链接,在HIVE区块链浏览器,也可以轻易发现这条信息:

1669781362510.png

或者这条信息原始的Operation信息:

image.png

所以这种情况,显然,不能叫做“私信”了,如果通过这样的“私信”来传达一些“私密信息”,就可能出现我约刘美女去台北看雨,被全部地球人知道的囧事。

私密信息

说到这里,你可能会问:“你这不是自己打脸嘛?信息都公开了,你还好意思说是私信?” 好吧,我这个人脾气比较暴烈,愤怒的时候连自己的脸都打。

额,开玩笑了,别急,上边只是说通过转账(或者提款)可以附带公开的信息,但是没说不可以附带私密信息呀。

而发送私密信息的魔法就是一个#

只需在要发送的信息前边加上一个#号,那么发出去的就是私密信息啦!

让我们来测试一下,因为之前的信息已经被地球人知道了,所以这次我换个时间地点:

transfer oflyhigh deanliu "0.001 HBD" "#后天一起来沈阳看雨可好?" true

现在随意打开我的或者刘美女的钱包链接,看到的会是类似如下的信息:

image.png

HIVE区块链浏览器上也只能看到一堆乱码:

image.png

所以,你知道我发给刘美女什么私密信息了嘛?晕,我自己也忘记自己发的是啥信息了,这可咋办?

别急,想看到自己收到的或者发给别人的私信(或者更正式一点,叫“加密MEMO"),那么只需用Memo KEY登录钱包账户即可。

比如当我用oflyhigh@oflyhigh 的Memo KEY(Memo 私钥)登录我的HIVE网页钱包,就将会看到如下信息:

image.png

所以说,只有掌握发送者Memo 私钥或者接收者Memo 私钥的人,才能查看解密后的信息,不考虑私钥泄露的情况,也就只有发送者和接收者才能看到对应信息啦,所以叫做”私信“,当之无愧了。

私信的原理

通过以上学习,我们了解到HIVE有“私信”亦即“加密Memo”这个功能,但是你可能很好奇,这个功能是如何实现的呢?

其实这个也很简单,其核心机制,就是: shared secret,具有如下特性:

Pub(Alice) * Priv(Bob) = Pub(Bob) * Priv(Alice)

实际应用中:

发送者利用发送方的私钥和接收方的公钥生成共享密码,而接收者用接收方的私钥和发送方的公钥同样可以获取共享密码。

至于更多的细节,说起来就太复杂了,能说上三天三夜,我就不多说啦。总之,知道HIVE能发“私信”,私信和Memo密钥相关,这些就足够啦。

image.png
(图源 :pixabay)

好了,现在你学会了使用这个功能嘛?要不要给O哥发一条私信来试试呢?

还有就是,我约刘美女去台北或者来东北的事,不要乱传啊,不然传到刘美女老公耳朵里,麻烦就大啦!😰