You are viewing a single comment's thread from:

RE: 继续学习签名部分(公钥私钥)

in #cn-programming7 years ago (edited)

既然講到公鑰私鑰(話說鑰字簡化得好厲害啊!),那樓主或大神們可否解我一惑?

我們Steem帳戶的Permissions裡面有4組公私鑰,公鑰人人可見(修正一下:是在steemd中才人人看得到),私鑰要你自己登入後按顯示才有。這些私鑰各自的功能我都大致理解,但,Steem的帳戶名稱,感覺起來就是公鑰的概念啊,那這4組公鑰到底要作什麼用的?

補充,之前大神提過的,似乎可以用active key把別人的posting public key加入自己的posting權限,亦即別人可以代你行post/curate之權。但這件事不也可以用帳號名稱就好了嗎?@@ 這鎖行的鎖跟鑰匙還真是多啊.... 昏~~~

Sort:  

公钥和私钥是对应的

  • 用公钥加密是可以用私钥解密的(保密需求)
  • 用私钥签名是可以用公钥验证的(完整性和真实性)
    这就要求,两者满足一定的数学关系(具体是啥我就不懂了)

所以用户名来做公钥是行不通的(与私钥配合满足不了数学关系,也就没法实现上述功能)
另外,举例说你换了私钥,因为要满足对应关系,公钥也会做对应修改,但是用户名却不用变。
以上是我个人的理解。

说到别人代行使post/curate权利,一般两种方式:

  • 一种是你把你的私钥(posting key)给我
  • 另一种方式就是你把我的公钥或用户名加入到你的公钥列表里
    注意,这里使用用户名也是可以的,但是本质应该还是通过公钥私钥来实现的。所以即便有了用户名,公钥依然不可少。

以上是个人肤浅理解,仅供参考

"满足对应关系" 一語道破啊!

可以賬戶比喻成房子。而區塊鏈的特點是公開透明,這房子就像個玻璃屋(你屋裡有多少錢,你在屋裡一舉一動,所有人都可以看得一清二楚。)賬戶名有如你的住址,人們可以根據地址往你家寄錢。

memokey 是你的通信公鑰,外人想給你發隱秘信息,可以用它來加密。
postingkey 是大門的鑰匙,能進入你家客廳,為房屋主人做些事情。
activekey 是房門鑰匙,進入房屋核心,行使更高的權利。

多加幾個 postingkey,有如給房子多開幾扇門,只需其中一把門匙就能進入你家。而若你的 postingkey 加了我賬戶名,就相當於建個隧道(單向)把你家大廳和我家貫通,誰能進入我家就也能串到你家。

您這比喻好啊!

順便一提與 username 和 password 的關係。

當 Steemit 為你創建一個戶頭時,主要是用這兩個字串來生成四把鑰匙。

  • 用 username + password + "owner",取 hash 生成 ownerkey 私鑰,
  • 用 username + password + "active",取 hash 生成 activekey 私鑰,
  • 以此類推。

所以,任何人只要知道你的 password,就等於掌握了所有四把鑰匙。
(當然,若你曾換過鑰匙則另當別論。)

學習新知!:)
但請教,你說的password我以為是owner key?剛開帳戶時那個password難道不是owner key?又有點迷糊了...

你正常途径注册的应该接触不到password:)
如果是用工具piston之类注册的,除了owner key等一堆私钥以外,还有个password
比如你注册个deanliu2,可以指定密码为dl12345
如果你注意一下登陆框,就会发现登陆框密码部分提示为Password or WIF
也就是说,你可以使用deanliu2/dl12345 这样的用户名密码组合来登陆网站

更正一下,密码和owner key应该是二选一的:)

那麼,正常註冊的人,也有password嗎?那又是如何決定的?因為正常註冊似乎是不需要設password,系統直接給一個我以為就是owner key的"password"....

Steemit 界面的運作是,每當新用戶開設賬戶時,會隨機算出一個 password。
(前綴為 P 。。。)

如上所述,這個 password 是用來生成四個密鑰的,它並不是 ownerkey。
(ownerkey 私鑰與其它幾個私鑰一樣,以 WIF 格式,開頭為 5.)

現在如果你嘗試 change password 頁面,那個 generate password 所顯示的也是 password.
目前 Steemit 的 GUI 是不讓用戶自己選擇 password 的,也許是擔心人們會選擇一些安全度不夠高的密碼。

再次感谢大神的讲解
看来关于这部分,我的理解还有有些偏差:)

太感謝了,寶貴的課程啊!:) 早些時候,是用戶自選密碼的,我就是這樣。後來才改成這樣的系統隨機產生的模式。

咦?發現大神你是特意轉成繁體字嗎?這麼貼心啊?:)

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 63788.71
ETH 3393.61
USDT 1.00
SBD 2.62