3.04 賬戶體系與安全設計
- EOS賬戶依賴於ECC加密演算法
- 虛擬機器管理智慧合約與EOS賬戶體系有交叉
1.賬戶、許可權管理
- EOS許可權管理
2.錢包(Wallet)
- 儲存金鑰
- Lock和Unlock狀態,需要密碼去解鎖
- 簽名授權,轉賬時實際上就是做一個簽名
3.賬戶(Account)
- 可讀名字(12字元),被個人或組織(多人)擁有
- 多許可權管理、支援多簽名、支援自定義許可權
- 可定義Action和Handler
4.Action和Handler
- Action和Handler的區別
5.許可權管理舉例
- 預設賬戶配置
- 單一簽名:有一個key,就擁有所有許可權,是不安全的
- 多簽名和自定義許可權控制
- Owner有兩個賬戶,權重都是1,加入想用Owner去變更資料,bob賬戶自己是做不了的,他權重是1,但Owner要求閾值為2,也就是大於等於2才可以
6.被盜賬戶恢復
- 賬戶A預先指定一個恢復賬戶B
- 若賬戶A私鑰被盜,賬戶A最近30天活躍的任何一個owner key與賬戶B一起,可以重置賬戶A的owner key,恢復對賬戶A的控制權
7.EOS虛擬機器環境介紹
- EOS虛擬機器類似以太坊的EVM,是一個沙盒的環境,與本機是隔離的、安全的執行環境,是EOS中執行智慧合約的容器,從設計上與EOS.IO是分離的
- LLVM是一系列分模組、可重用的編譯工具鏈,提供了一種程式碼編寫良好的中間表示,可以作為多種語言的後端,還可以提供與變成語言無關的優化和針對多種cpu的程式碼生成功能
- 傳統的靜態編譯器(如gcc)通常將編譯為三個階段,分別由三個元件來完成具體工作,分別為前端、優化器和後端,如圖
- 前端接收原始碼,後端產生機器程式碼,也就是可執行檔案,比如C語言編譯過程如圖下面
- LLVM架構的主要組成部分,與gcc類似,也分3個階段,不過比gcc複雜的多
- 前端:獲取原始碼,可選擇不同的編譯器來作為LLVM的前端,如gcc,clang
- 優化器:優化程式碼
- 後端:生成實際的機器碼
8.WebAssembly
- 是一個虛擬化的組合語言
- 也就是WASM最終執行的形式
- 它允許用諸如C、C++這種程式語言編寫執行在web瀏覽器中的程式
- demo網址:https://webassembly.org/demo/
- 最終編譯為.wasm檔案,WebAssembly支援最好的編譯器工具鏈是LLVM,當前端語言變為LLVM IR,也就是中間程式碼時,說明LLVM已經理解了程式碼,它會對程式碼自動做一些優化
- WebAssembly格式最終會產生兩種檔案,wasm和wast
- wasm是二進位制格式
- wast是可讀的文字格式
- C++寫的智慧合約會生成wasm檔案
- eos的虛擬機器環境:WAVM(WebAssembly Virtual Machine)支援wasm和wast
9.ECC加密演算法
- 橢圓曲線加密演算法(ECC)的應用很廣泛,TLS、PGP、SSH都在使用它,包括比特幣、以太坊和EOS
- ECC應用了離散數學中的有限迴圈群,構成了一個單向函式Q=nP,構成了一對金鑰
10.ECDH演算法
- EC是elliptic curves的意思,DH是Diffie-Hellman的意思,是金鑰協商演算法,不是加解密演算法
- 應用場景:兩端(Alice和Bob)想要安全交換資訊,並且第三方不能獲取到資訊,需要約定一個對稱加密金鑰
11.ECC與RSA對比
- ECC演算法單位安全強度高於RSA演算法,ECC更難被破解
- ECC演算法計算速度更快
學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928
[清華團隊帶你實戰區塊鏈開發]
(https://ke.qq.com/course/344443?tuin=3d17195d)
掃碼獲取海量視訊及原始碼 QQ群:
721929980
相關文章
- 支付系統設計:支付系統的賬戶模型模型
- WebServlet.Sqlite OkHttp實現賬戶管理系統的設計WebServletSQLiteHTTP
- 使用者錢包(賬戶)設計
- 淘寶客戶端安全生產體系建設客戶端
- Linux賬戶密碼過期安全策略設定Linux密碼
- Win10系統下怎麼將普通賬戶設定為管理員賬戶Win10
- 量子計算與現有的安全體系
- 萬級TPS億級流水-中臺賬戶系統架構設計架構
- 讀軟體開發安全之道:概念、設計與實施09安全設計
- win10系統將管理員賬戶admin與Microsoft微軟賬戶解綁的方法Win10ROS微軟
- Foxit PDF軟體公司遭入侵,快看你的賬戶安全嗎?
- 協同OA系統安全體系設計原則
- Github暫停俄羅斯程式設計師賬戶Github程式設計師
- 讀軟體開發安全之道:概念、設計與實施10安全設計審查
- MaxCompute多租戶資料安全體系
- Azure MFA 守護你的賬戶安全
- Linux運維安全經驗-賬戶和登入安全Linux運維
- 安全防護系統構設計與實踐
- Oracle EBS總賬與會計假設Oracle
- 讀軟體開發安全之道:概念、設計與實施11安全地程式設計程式設計
- 聊聊對賬系統的設計方案
- 支付對賬系統怎麼設計?
- Linux賬戶與許可權管理Linux
- linux賬戶與使用者組Linux
- Win10系統下如何退出微軟賬戶改成本地賬戶Win10微軟
- win10系統下如何設定guest賬戶密碼Win10密碼
- Win10系統如何設定組策略禁止域成員計算機更改賬戶Win10計算機
- steam賬戶名稱怎麼填寫 steam賬戶格式要怎麼設定
- phpmyadmin設定root賬戶外部訪問PHP
- 09 MySQL系統賬戶密碼重置MySql密碼
- win10怎麼刪除賬戶_win10刪除系統賬戶教程Win10
- 讀軟體開發安全之道:概念、設計與實施13Web安全Web
- 讀軟體開發安全之道:概念、設計與實施15安全測試
- 設計模式之蛋糕店結賬系統設計模式
- win10微軟線上賬戶如何與本地賬戶切換_win10 win10本地賬戶怎麼切換到微軟線上賬戶Win10微軟
- 轉賬介面設計
- 友邦人壽可觀測體系設計與落地
- EOS系統合約鏈賬戶介紹