EOS技術白皮書學習筆記(二)- 賬戶系統(tǒng)

本文由幣乎社區(qū)(bihu.com)內(nèi)容支持計劃贊助


在看本文前制跟,最好先了解區(qū)塊鏈相關概念:比特幣。以太坊酱虎,錢包雨膨,智能合約,秘鑰等

為了更好的理解读串,先看看一個普通賬戶系統(tǒng)需要哪些功能

假設我剛進入一個網(wǎng)站聊记,我首先要能注冊一個帳號,然后能用帳號登錄恢暖,登錄成功后能夠在一定時間內(nèi)保持已登錄狀態(tài)甥雕,同時我還有可能要對帳號的一些基本信息進行修改。另外出于之前密碼泄露事件的影響胀茵,我不希望我的密碼是被明文保存社露,希望我的帳號是安全的。

基于以上一個用戶使用的流程來說琼娘,一個帳號系統(tǒng)功能可以進行如下劃分:

用戶注冊

用戶登錄

用戶登錄后身份校驗

用戶基本信息修改

用戶基本信息獲取

用戶安全中心

從上述功能上考慮峭弟,可以進行如下劃分:

用戶基本信息服務,提供用戶的基本信息的獲取和修改脱拼,

用戶的注冊和登錄服務瞒瘸,提供用戶的注冊、登錄授權頒發(fā)用戶的登錄標識

用戶身份校驗服務熄浓,對用戶的登錄標識進行校驗

用戶安全中心服務情臭,提供用戶的重要信息的修改如登錄的郵箱手機號,密碼等赌蔑。用戶在進行這些敏感信息的修改是需要進行身份認證俯在,來保證用戶的安全性。


簡單來說一個賬戶系統(tǒng)就是為用戶設計的娃惯,需要考慮用戶在應用上的各方面的需求跷乐。

下面我們來看看EOS.IO為用戶設計了怎樣的賬戶系統(tǒng)。

技術白皮書上關于賬戶系統(tǒng)趾浅,列舉了以下幾點

4.帳戶

消息和消息處理程序

基于角色的權限管理

命名權限級別

命名消息處理程序組

權限映射

權限評估

默認權限組

權限的并行評估

有強制延遲的消息

密鑰被盜后的恢復

雖然還不知道以上列出的概念具體講的是什么愕提,但單從字面上就可以看出,它有消息皿哨、權限浅侨、安全等功能。相比于比特幣证膨,以太坊的只有私鑰和地址概念的賬戶系統(tǒng)如输,可以說是非常先進了。他們的區(qū)別有點像沒有裝圖形界面系統(tǒng)的電腦和裝了圖形界面系統(tǒng)(例如:Windows,macos)的電腦的區(qū)別挨决。

另外请祖,EOS可以使用一個人類可以閱讀的2-32個字符來創(chuàng)建賬戶,而比特幣和以太坊的賬戶地址是一串看不懂意思的字符串脖祈。

以及肆捕,EOS的賬戶支持域的概念,你可以創(chuàng)建一個叫jack的賬號盖高,表示為@Jack慎陵,接著你可以再創(chuàng)建一個叫做@shuai.jack的賬戶,并且這個賬戶只能由你創(chuàng)建喻奥。

從以上幾點可以看出席纽,EOS在可用性上比比特幣、以太坊好太多撞蚕。

在現(xiàn)實生活中润梯,每個人都不是獨立的個體,人與人的溝通是生活中不可或缺的部分甥厦。在EOS系統(tǒng)中也是一樣纺铭,賬戶與賬戶之間需要通信,而"消息"就是他們之間通信用的語言刀疙。

EOS的消息處理機制

每個賬戶都可以發(fā)送結(jié)構(gòu)化消息到其他賬戶

賬戶可以定義消息被接收后的處理腳本(程序)

每個賬戶有自己獨有的數(shù)據(jù)庫舶赔,只能自己的消息處理程序訪問

賬戶的消息處理程序可以想其他賬戶發(fā)送消息

消息和自動的消息處理程序的組合是EOS定義智能合約的方式

當用戶使用一個應用(基于EOS)的時候,會有各種各樣的操作谦秧,而有些操作比較私密竟纳,不能隨便操作,需要密碼等權限疚鲤。就好比你用“登錄密碼”可以登錄支付寶锥累,但是需要“支付密碼”才能支付。所以對賬戶進行權限管理是很有必要的石咬,EOS的權限管理是基于角色的揩悄。

基于角色的權限管理

1)判斷一條消息或消息程序或事務是否被授權,最簡單的形式是這條消息是否包含一個簽名鬼悠,并且知道這個消息是誰的

2)為了更細和更高級的控制權限,EOS提供了一個聲明式權限管理系統(tǒng)亏娜,把個人和群組綁定在一起焕窝。這怎么理解呢?一般來說维贺,大范圍的權限可以控制群組(角色)它掂,細的權限可以控制個人,而個人又可以在群組(角色)里,還可以是多個群組虐秋,這樣就可以做到權限的隨意控制榕茧。

3)認證和權限管理必須標準化,并與應用程序的業(yè)務邏輯分開客给。這使得開發(fā)工具能夠以通用的方式管理權限用押,并為性能優(yōu)化提供重要的機會。

4)EOS還提供多賬戶的控制靶剑,多用戶控制是提升安全性的最重要因素蜻拨,如果能正確使用,可以極大地消除黑客盜竊的風險(把錢放到多個錢包比放在一個錢包安全吧)桩引。

5)EOS還允許當前賬戶和其他賬戶的各個權限進行組合缎讼,并發(fā)送到另外的賬戶。這就類似支付寶的“登錄密碼”和“支付密碼“坑匠。

想要做到以上幾條血崭,EOS是怎么做的,以下是它的權限管理方案:

1)命名的權限級別

EOS允許不同的權限設定不同的名字厘灼,當然它提供了兩個默認的級別功氨,它們分別是最高級的Owner,其次是Active手幢。其他的權限級別的名字可以自己定義了捷凄,例如,你需要定義兩個權限級別围来,一個給你老婆用班缰,一個給你孩子用,你就可以分別取名為老婆大人吸祟、小可愛属拾。

2)命名消息處理程序組

這個是干嘛用的呢?每個賬戶將自己處理消息的程序按照@accountname.groupa.subgroupb.MessageType這樣的格式命名后胀蛮,可以給其他賬戶使用院刁。在這樣的模式下,可以將創(chuàng)建和取消訂單的交易合約與存取款的交易合約分離粪狼。這種交易合約的分組對用戶使用交易合約提供了較大便利退腥。

# 權限映射:命名權限級別和命名的消息處理群組之間是可以做映射(關聯(lián))的。

# 權限評估:怎么判斷權限的大性匍狡刘?EOS是按照從小到大的權限順序進行判斷的。例如:當 @alice 以 "Action" 類型發(fā)送一條消息給 @bob 時困鸥,首先會檢查 @alice 是否為 @bob.groupa.subgroup.Action 定義過權限映射嗅蔬。 如果什么都沒有找到,緊接著檢查 @bob.groupa.subgroup 映射,然后是 @bob.groupa澜术,最后 @bob 將被檢查艺蝴。 如果都沒有找到,那么假定映射為命名的權限群組 @alice.active鸟废。

# 默認權限組:最高級的權限是“owner”猜敢,這個權限可以做任何事情,但是一般不用做具體工作侮攀,一般用來做冷備份锣枝,比如說Active權限丟了,可以用“owner"權限來恢復兰英。在”owner“之下就是”active"了撇叁,它是可以做除了修改“owner”以外的所有事情,一般業(yè)務都是由active權限來完成畦贸。其他的所有權限組也都是從“active"權限派生出來的陨闹。

# 權限的并行評估:權限評估是個”只讀“的過程。所有事物的所有秘鑰和權限評估可以并行執(zhí)行薄坏。

強制延遲的消息

時間是安全的關鍵組成部分趋厉。怎么理解呢?

一條消息發(fā)出去胶坠,可能會受到很多因素的干擾而不能被及時接收確認君账,這時的你可能想取消發(fā)送消息。EOS允許發(fā)送有時間延時的消息沈善,在特定時間范圍內(nèi)可以取消消息乡数。這種延遲消息具體能延時多長時間,還得看具體的應用場景闻牡。比如說净赴,我們買一杯咖啡可以在幾秒鐘之內(nèi)付完錢,而買房子可能需要72小時清算周期罩润。具體取決于應用場景以及應用開發(fā)者怎么設定玖翅,用戶怎么操作的。

恢復被盜竊的秘鑰

在幣圈我們常掣钜裕看到新聞里有報道某某某秘鑰被盜金度,損失多少多少這樣的事件。EOS為用戶提供了一種在秘鑰被盜時恢復其賬戶控制的方法拳球。包括以下4點:

1审姓、賬戶所有者可以使用30天內(nèi)的任意Owner權限的密鑰,注意這個密鑰可能已經(jīng)被黑客換過了祝峻,但是在這個場景下這個密鑰還是可以使用的;

2、使用任意30天內(nèi)的Owner密鑰和指定的合作伙伴才能恢復密鑰莱找。

3酬姆、這里面合作伙伴不能在沒有Owner協(xié)助的基礎上恢復密鑰。

4奥溺、合作伙伴也不會參與任何日常交易辞色,這樣可以大大降低法律上的風險。

配合學習筆記系列文章一起讀會更好理解哦

EOS技術白皮書學習筆記(一)- 摘要浮定,背景相满,共識算法

EOS技術白皮書學習筆記(三) - 應用程序的確定性并執(zhí)行

本文首發(fā)于微信公眾號:lin-mingtan 歡迎關注交流 ^.^

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市桦卒,隨后出現(xiàn)的幾起案子立美,更是在濱河造成了極大的恐慌,老刑警劉巖方灾,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件建蹄,死亡現(xiàn)場離奇詭異,居然都是意外死亡裕偿,警方通過查閱死者的電腦和手機洞慎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘿棘,“玉大人劲腿,你說我怎么就攤上這事∧衩睿” “怎么了焦人?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長圆仔。 經(jīng)常有香客問我垃瞧,道長,這世上最難降的妖魔是什么坪郭? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任个从,我火速辦了婚禮,結(jié)果婚禮上歪沃,老公的妹妹穿的比我還像新娘嗦锐。我一直安慰自己,他們只是感情好沪曙,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布奕污。 她就那樣靜靜地躺著,像睡著了一般液走。 火紅的嫁衣襯著肌膚如雪碳默。 梳的紋絲不亂的頭發(fā)上贾陷,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音嘱根,去河邊找鬼髓废。 笑死,一個胖子當著我的面吹牛该抒,可吹牛的內(nèi)容都是我干的慌洪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼凑保,長吁一口氣:“原來是場噩夢啊……” “哼冈爹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起欧引,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤频伤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后维咸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剂买,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年癌蓖,在試婚紗的時候發(fā)現(xiàn)自己被綠了瞬哼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡租副,死狀恐怖坐慰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情用僧,我是刑警寧澤结胀,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站责循,受9級特大地震影響糟港,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜院仿,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一秸抚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歹垫,春花似錦剥汤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暮芭,卻和暖如春鹿驼,著一層夾襖步出監(jiān)牢的瞬間欲低,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工蠢沿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留伸头,地道東北人匾效。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓舷蟀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親面哼。 傳聞我的和親對象是個殘疾皇子野宜,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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