日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EOS从入门到精通-账户体系(文字稿)

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EOS从入门到精通-账户体系(文字稿) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,非常感謝參加《EOS從入門到精通》系列課程,我是王巨,今天是EOS技術白皮書解讀的第二講。今天的課程原本計劃講兩部分內容,賬戶系統和并行執行。但是一天的備課下來,我發現賬戶系統的內容特別多,而且理解EOS的賬號體系對于將來進行智能合約的開發非常有幫助,因此我決定在本次課程中詳細給大家講解一下EOS的賬戶體系。并行執行這部分放到下一講跟TOKEN模型放到一起。

另外,上次有同學說沒有ppt的問題,我今天也會在講課的過程中穿插加入ppt。


EOS賬戶系統.png

大家可以先看一下上面這個思維導圖,這就是本節課要講解的大綱。主要分了5個章節,簡介、消息和處理程序、基于角色的權限管理、帶有強制延時性的消息、恢復被盜竊的密鑰。其中今天會重點講解基于角色的權限管理。

好的,我們開始講解EOS的權限系統

EOS賬戶系統.001.jpeg

EOS相對于比特幣和以太坊只有私鑰和地址的概念,EOS的賬戶體系是相當完備的,從這點來看,比特幣和以太坊在可用性上差了EOS一大截。比如說比特幣和以太坊沒法自定義賬戶地址,只能用一堆人類沒法理解的字符串做地址和私鑰。而EOS可以使用一個人類可以閱讀的2-32個字符來創建賬戶。另外在白皮書上強調,創建一個賬號需要付出額外的一點點成本,來覆蓋賬戶的存儲成本,這一般是由開發者也就是應用提供方來承擔。最后,EOS的賬戶還支持域的概念,比如說:
@domain這個賬號的擁有者是唯一能創建@user.domain的人。

EOS賬戶系統.002.jpeg

好我們繼續講消息和處理程序,講賬戶為什么要講消息和處理程序呢?這是因為賬戶和消息是EOS只能合約的兩個不可或缺的組成部分,而且他們之間有著密切的關聯,單獨講哪一個也沒法講清楚他們的本質。我們看看EOS的消息機制就明白了,所謂的消息就是賬戶與賬戶之間的溝通語言,每個賬戶都可以發送結構化的消息給任意其他賬戶,每個賬戶都可以定義處理消息的腳本,每個賬戶還有自己的私有數據庫,消息處理腳本也可以給其他賬戶發消息,最終 消息和消息處理腳本組成了EOS的智能合約。
我來進一步解釋一下,發消息很容易理解,消息處理腳本就是在一個賬戶收到了消息之后怎么處理消息。這個處理腳本本身還可以發消息給其他賬戶。這個怎么理解呢?我的理解是有些消息是人手工發的,比如說a給b轉賬50eos,有些消息是可以由處理消息的腳本來發的,比如說b在收到50eos這個消息后有個消息處理腳本會自動向c發送25個eos。這其實就是一個非常簡單的合約了。

EOS賬戶系統.003.jpeg

好的,我們來講一下今天的重點基于角色的權限管理,這也是BM系區塊鏈的一個特色,權限管理在BTS和Steamit上已經比較完善了,在EOS上還會做更多的優化。我們先來看看權限管理的簡介:判斷一條消息是否被授權最簡單的方式是包含一個簽名,當然驗證這個簽名的前提是要知道這個簽名是誰的。一般來說權限是與個體或群組綁定在一起,理論上不會有一種權限跟個體或群組沒關系,因為這樣是沒有意義的。EOS提供了細粒度和高級別的權限控制,可以控制到誰在什么時候做什么事情。認證和權限管理必須標準化,并且與應用程序的業務邏輯分開,這樣可以用通用的方式來管理權限,并且為性能優化提供可能。EOS還支持多賬戶的控制機制,能對賬戶的安全性提供保障,減少被黑客攻擊而造成的資金損失風險。EOS甚至還允許定義什么密鑰或賬戶可以發送特定的消息類型給另一個賬戶。
舉個例子:一個用戶的社交媒體賬戶可以使用一個密鑰,而另一個密鑰可以用于訪問交易所,甚至可以授權其他賬戶來代表本賬戶而不是分配一個密鑰。

下面我們就詳細講一下EOS的權限管理方案:

EOS賬戶系統.004.jpeg

首先EOS為權限級別進行了命名比如說Owner、Active、Friend。這些命名可以是系統默認的比如Owner和Active,有些是可以自定義的比如Friend的。我們來看Steamit里面的權限實例:它是硬編碼了三個權限級別:Owner、Active、Posting。其中Posting權限只能進行發帖操作投票等社交操作,Active權限可以做除了修改Owner以外的所有事情。Owner可以作為冷備份而存在。EOS本身也囊括了這些概念,而且允許自定義權限的層次結構和分組。

EOS賬戶系統.005.jpeg

在設計了權限級別之后,EOS還設計了命名的消息處理群組,這個命名的消息處理群組可以在其他帳戶配置他們權限級別時被引用。上面有一個簡單的例子,在賬戶名下有一個分組A,分組A下面有個子分組b,它下面有消息類型。一個交易所的交易合約 在這種模式下就可以將訂單的創建和取消 分開存取,通過交易合約進行分組 可以方便 交易所用戶。

EOS賬戶系統.006.jpeg

權限級別和消息處理群組,這兩個概念之間就可以做映射了。就是說可以將某個消息處理群組分配到某個權限級別上,或者反過來說,可以在某個權限級別上定義很多消息處理群組。舉個例子:一個帳戶所有者可以將自己社交媒體應用與自己的“朋友”權限群組建立映射。 有了這個映射,任何朋友可以以這一帳戶的身份在這一帳戶的社交媒體上發帖。 盡管他們將以帳戶所有者的身份發帖,他們仍然使用自己的密鑰來簽名消息。 這意味著總是可以辨識出是哪一個朋友在以何種方式使用帳戶。

EOS賬戶系統.007.jpeg

如何進行權限評估,簡單的來講就是從小到大進行逐級匹配,比如:當 @alice 以 "Action" 類型發送一條消息給 @bob 時,首先會檢查 @alice 是否為 @bob.groupa.subgroup.Action 定義過權限映射。 如果什么都沒有找到,緊接著檢查 @bob.groupa.subgroup 映射,然后是 @bob.groupa,最后 @bob 將被檢查。 如果都沒有找到,那么假定映射為命名的權限群組 @alice.active。
一旦一個映射被識別,則使用相關聯的簽名驗證權限。 如果失敗了,則躍遷至父權限,直至擁有者權限@alice.owner。

權限示例

我們在看一下上面這張圖,我簡單講一下:我們先看左側,可以看到上面帶key字符的就是各種權限,底下的三個方框是命名的消息群組,我們可以看到,這個交易的合約被映射到家庭組這個權限上,而提現這個消息被映射到律師這個權限上,也就是說家庭組里面的成員可以進行交易,但是唯獨不能進行取現。因為取現最先匹配上的是律師這個密鑰。

EOS賬戶系統.008.jpeg

好,我們看看EOS的默認權限群組,默認的權限組上面我們也有講到,是Owner和Active,Owner可以做任何事情,這個權限一般來說不用來做具體的工作,一般用來做冷備份,比如說Active權限丟了,就可以是用Owner權限來恢復。Active權限可以做除了修改Owner以外的所有事情,一般業務都是有Active權限來完成。其他的所有權限組也都是從Active權限派生出來的。

EOS賬戶系統.009.jpeg

權限的并行評估這部分內容,相對來說沒有特別重要,我們就簡單講一下。基本上說的是,由于權限的評估是只讀的,因此可以進行并行化處理,同時可以提前到交易廣播階段完成,而不是在打包塊的過程中。另外在區塊鏈被重新加載重放交易時由于區塊的執行肯定是通過了權限驗證的,因此可以忽略,以此來提高執行效率。

好了權限管理這部分就講到這里,我們在看下一部分,帶強制性延時的消息

EOS賬戶系統.010.jpeg

這部分比較簡單,主要說的是,時間是安全的重要屬性,EOS允許有時間延時的消息,在特別的時間范圍內可以取消消息。這點是比特幣和以太坊不能實現的,特別是在網絡擁堵的情況下,若手續費比較低,往往一筆交易很長時間得不到確認,而用戶完全沒有辦法取消交易。這種延時消息具體延時多長時間完全有消息的敏感程度決定,比如說買咖啡可能是幾秒鐘,買房可能是幾天,轉移整個賬戶可能是一個月,確切的時間取決于應用開發者和用戶。

EOS賬戶系統.011.jpeg

EOS允許恢復被盜竊的密鑰,這在比特幣和以太坊上是不可能的,在比特幣和以太坊上一旦密鑰丟失那么整個賬戶也隨之丟失,EOS提供了恢復密鑰的機制。具體來說就是可以使用30天內的任意Owner權限的密鑰,注意這個密鑰可能已經被黑客換過了,但是在這個場景下這個密鑰還是可以使用的;使用任意30天內的Owner密鑰和指定的合作伙伴才能恢復密鑰。這里面合作伙伴不能在沒有Owner協助的基礎上恢復密鑰。合作伙伴也不會參與任何日常交易,這樣可以大大降低法律上的風險。

好了,今天的課程就到這里,謝謝大家的收聽,謝謝!下面是問答時間,我會找幾個我能回答的問題來進行回答。




作者:王巨
鏈接:https://www.jianshu.com/p/4a37cf5fcf70
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

總結

以上是生活随笔為你收集整理的EOS从入门到精通-账户体系(文字稿)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。