EOS開發(fā)(二)賬戶和權(quán)限說明

前言

EOS的賬戶和權(quán)限系統(tǒng)設(shè)計(jì)的比較復(fù)雜嵌纲,但擴(kuò)展性相當(dāng)好在抛。與比特幣或以太坊不同,最明顯的特點(diǎn)就是支持自定義賬戶權(quán)限和多簽名機(jī)制返吻。有必要單獨(dú)用篇文章進(jìn)行說明姑子。

本篇內(nèi)容大部分翻譯自官方文檔

官方文檔:
https://developers.eos.io/eosio-nodeos/docs/accounts-and-permissions

關(guān)于walletkey的說明見這篇文章
EOS開發(fā)(三)在私鏈創(chuàng)建管理錢包、生成導(dǎo)入密鑰對测僵、創(chuàng)建賬戶街佑,本篇著重說明accountPermissions

概述

賬戶是儲存在區(qū)塊鏈上的一個(gè)人類可讀的標(biāo)識。每個(gè)賬戶都有兩個(gè)默認(rèn)權(quán)限捍靠,稱為owneractive沐旨。開發(fā)者們也可以提出自定義名稱的權(quán)限。每個(gè)權(quán)限的使用都有一個(gè)門檻榨婆,必須和其簽署交易要求的最低簽署人數(shù)相匹配(這句話不好理解磁携,后面會有例子說明)。

授權(quán)和權(quán)限

每個(gè)賬戶自帶兩個(gè)默認(rèn)權(quán)限

  • owner 表示對一個(gè)賬戶的所有權(quán)良风。只有很少的交易需要用到此權(quán)限谊迄,一般只會在修改賬戶權(quán)限的時(shí)候用到闷供。建議將此權(quán)限的私鑰放入冷錢包儲存。此權(quán)限可以重置其他權(quán)限统诺。

  • active 權(quán)限用來進(jìn)行轉(zhuǎn)賬歪脏,為節(jié)點(diǎn)投票,以及其他高級別的賬戶修改

簡單來說粮呢,owner權(quán)限可以執(zhí)行所有的操作唾糯,而active權(quán)限則可以執(zhí)行除了更改owner權(quán)限對應(yīng)的密鑰對以外的全部操作。

每一個(gè)權(quán)限都有一個(gè)父權(quán)限鬼贱。父權(quán)限擁有改變所有子權(quán)限的能力移怯。

除了自帶的權(quán)限外,每一個(gè)賬戶可以擁有自定義的權(quán)限这难,以便賬戶的擴(kuò)展性管理舟误。自定義權(quán)限不可思議的靈活,在執(zhí)行時(shí)可以產(chǎn)生出許多可能的用例姻乓。大多數(shù)情況下由開發(fā)者社區(qū)決定如何使用嵌溢,以及哪種會議決定是否使用。

自定義權(quán)限是隨意且無效的蹋岩,直到它們被關(guān)聯(lián)到某個(gè)行為上赖草。

權(quán)限可以由給定的授權(quán),指定為一個(gè)或多個(gè)公鑰或者一個(gè)有效的賬戶名組成

組合使用

下面的例子是對上面內(nèi)容的一些典型使用

默認(rèn)賬戶配置(單簽名)

下面是一個(gè)剛創(chuàng)建的賬號的配置信息剪个,它的owneractive權(quán)限都各有一個(gè)key秧骑,每個(gè)key的權(quán)限權(quán)重都為1,門檻也是1扣囊。所以默認(rèn)配置下乎折,授權(quán)簽署一個(gè)行為只需要一個(gè)key進(jìn)行簽署。

@bob的賬戶授權(quán)示例

Permission Account Weight Threshold
owner EOS5EzTZZQQxdrDaJAPD9pDzGJZ5bj34HaAb8yuvjFHGWzqV25Dch 1 1
active EOS61chK8GbH4ukWcbom8HgK95AeUfP8MBPn7XRq8FeMBYYTgwmcX 1 1

在此賬戶中侵歇,由于每個(gè)權(quán)限的授權(quán)門檻都為1骂澄,且每個(gè)key的權(quán)重也為1,所以當(dāng)簽署某個(gè)交易時(shí)惕虑,只需要對應(yīng)的key進(jìn)行簽署即可坟冲。

多簽名賬戶和自定義權(quán)限

下面的例子虛構(gòu)了一個(gè)名為@multisig的賬戶。此方案中溃蔫,兩個(gè)用戶擁有此賬戶的owneractive權(quán)限健提。此外,還有一個(gè)名為publish的權(quán)限酒唉,此權(quán)限由三個(gè)用戶擁有矩桂。

@multisig的賬戶授權(quán)示例

由于owner權(quán)限的門檻為2沸移,而@bob@stacy的權(quán)重僅為1痪伦,所以如果要簽署owner權(quán)限級別的交易侄榴,需要二者都要進(jìn)行簽署。

active權(quán)限的門檻為1网沾,@bob@stacy的權(quán)重也為1癞蚕,所以如果要簽署active權(quán)限級別的交易,需要其中一人進(jìn)行簽署即可辉哥。

此賬戶還有一個(gè)名為publish的自定義權(quán)限桦山。這里我們假設(shè)此權(quán)限的作用是通過某個(gè)博客的DApp,通過@multisig賬戶發(fā)布文章醋旦。此權(quán)限的門檻為2恒水,而@bob@stacy的權(quán)重為2,而另一個(gè)公鑰的權(quán)重為1饲齐。所以@bob@stacy都可以分別單獨(dú)簽署此交易钉凌,而另一個(gè)公鑰需要加上@bob@stacy其中一人,才可共同簽署此交易捂人。

因此御雕,上面的權(quán)限表暗示@bob@stacy,作為帳戶的所有者滥搭,具有類似于主人或編輯者的高級權(quán)限酸纲。雖然這個(gè)原始示例在可伸縮性方面存在限制,并且不一定是一個(gè)好的設(shè)計(jì)瑟匆,但是它充分展示了EOSIO權(quán)限系統(tǒng)的靈活特性闽坡。

此外,注意在上述表格中愁溜,權(quán)限可以同時(shí)使用帳戶名和密鑰進(jìn)行設(shè)置无午。乍一看,這似乎微不足道祝谚,但它確實(shí)提出了一些靈活性的附加維度宪迟。

其他

我們在使用以太坊或者比特幣時(shí),生成密鑰對交惯,公鑰就是地址次泽,表示賬戶。幣存放在公鑰中席爽,知道了你的私鑰就可以操作你的賬戶意荤,把幣轉(zhuǎn)走。一個(gè)賬戶只有一個(gè)實(shí)際控制人只锻,誰掌握著私鑰誰就有所有權(quán)限玖像。

而在eosio中,賬戶由一個(gè)人類可讀的字符串組成齐饮,就像其他用戶名一樣捐寥。每個(gè)賬戶中有不同的權(quán)限笤昨,每個(gè)權(quán)限由一個(gè)或多個(gè)賬戶或者密鑰對組成。要使用某個(gè)權(quán)限握恳,需要該權(quán)限下一個(gè)或多個(gè)賬戶或者密鑰對進(jìn)行簽署(取決于權(quán)重和門檻)瞒窒。

將上面的例子簡化一下,我們可以為我們的賬戶乡洼,自定義一個(gè)發(fā)布博客文章的權(quán)限崇裁,并生成一個(gè)密鑰對。我們可以將此密鑰對中的私鑰交給某個(gè)人束昵,讓他幫我們發(fā)布文章拔稳。但他也只能用此賬號發(fā)布文章,并不能操作賬戶中的代幣锹雏,因?yàn)樗麤]有轉(zhuǎn)賬權(quán)限的私鑰壳炎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市逼侦,隨后出現(xiàn)的幾起案子匿辩,更是在濱河造成了極大的恐慌,老刑警劉巖榛丢,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铲球,死亡現(xiàn)場離奇詭異,居然都是意外死亡晰赞,警方通過查閱死者的電腦和手機(jī)稼病,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掖鱼,“玉大人然走,你說我怎么就攤上這事∠返玻” “怎么了芍瑞?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長褐墅。 經(jīng)常有香客問我拆檬,道長,這世上最難降的妖魔是什么妥凳? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任竟贯,我火速辦了婚禮,結(jié)果婚禮上逝钥,老公的妹妹穿的比我還像新娘屑那。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布持际。 她就那樣靜靜地躺著沃琅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪选酗。 梳的紋絲不亂的頭發(fā)上阵难,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天岳枷,我揣著相機(jī)與錄音芒填,去河邊找鬼。 笑死空繁,一個(gè)胖子當(dāng)著我的面吹牛殿衰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盛泡,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼闷祥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了傲诵?” 一聲冷哼從身側(cè)響起凯砍,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拴竹,沒想到半個(gè)月后悟衩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡栓拜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年座泳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幕与。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挑势,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啦鸣,到底是詐尸還是另有隱情潮饱,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布诫给,位于F島的核電站饼齿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蝙搔。R本人自食惡果不足惜缕溉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吃型。 院中可真熱鬧证鸥,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鸟蜡,卻和暖如春膜赃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揉忘。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工跳座, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泣矛。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓疲眷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親您朽。 傳聞我的和親對象是個(gè)殘疾皇子狂丝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容