【EOS錢包開發 一】EOS不得不說的一些概念

鏈客,專爲開發者而生,有問必答!node

此文章來自鏈客區塊鏈技術問答社區,未經容許拒絕轉載。
在這裏插入圖片描述windows

EOS是什麼安全

EOS是Enterprise Operation System的縮寫,它是商用分佈式應用設計的一款區塊鏈操做系統。EOS是引入的一種新的區塊鏈架構EOSIO,用於實現分佈式應用的性能擴展。EOS並不像比特幣和以太坊那樣是貨幣,而是基於EOSIO軟件項目之上發佈的代幣,被稱爲區塊鏈3.0。網絡

EOS的主要特色架構

EOS有點相似於微軟的windows平臺,經過建立一個對開發者友好的區塊鏈底層平臺,支持多個應用同時運行,爲開發dAPP提供底層的模板。分佈式

EOS經過並行鏈和DPOS的方式解決了延遲和數據吞吐量的難題,EOS是每秒能夠上千級別的處理量,而比特幣每秒7筆左右,以太坊是每秒30-40筆。工具

EOS沒有手續費,在EOS上開發dApp,須要用到的網絡和計算資源是按照開發者擁有的EOS的比例分配的。當你擁有了EOS的話,就至關於擁有了計算機資源,隨着DAPP的開發,你能夠將手裏的EOS租賃給別人使用。簡單來講,就是你擁有了EOS,就至關於擁有了一套房租給別人收房租,或者說擁有了一塊地租給別人建房。性能

EOSIO主要的程序區塊鏈

nodeos(node + eos = nodeos):可使用插件配置以運行節點的核心EOSIO節點守護進程。能夠生成區塊、節點驗證、RPC API接口。spa

cleos (cli + eos = cleos):是一個命令行工具,能夠與nodeos公開的REST API進行交互並管理錢包。

keosd (key + eos = keosd):是一個輕客戶端錢包,負責管理錢包,以便在廣播到網絡以前保護密鑰和簽署交易,在本地計算機上運行並安全地將EOSIO密鑰存儲在錢包的組件中。

Eoscpp:是一個編譯器,將C++代碼編譯爲WASM和ABI。它生成.wasm、.abi的文件並上傳到區塊鏈。

EOS的帳戶體系

EOS的帳戶體系是EOS中的亮點特性之一,實現了基於角色的權限管理和帳戶恢復功能,使得用戶能夠靈活地以一種組織化的方式管理帳戶,並極大程度上保證了資產的安全性。

EOS帳戶的特色:

EOS中的帳戶名是12位可讀標識符,由用戶自定義,在區塊鏈中惟一。它是轉帳時的標識,而其它區塊鏈帳的標識通常是地址。

EOS的一個帳戶下面能夠包含多對公私鑰,每對擁有不一樣的權限,而常見區塊鏈項目的帳戶只有一對公私鑰。

EOS中每一個帳戶剛建立時通常由個體擁有,經過單一公私鑰便能進行全部操做,後續可根據須要經過權限配置將該帳戶擴展成組織帳戶,由多對公私鑰,即多個主體所共同控制,甚至可爲組織外部個體或組織分配部分操做權限,從而實現極其靈活的組織管理方式。

EOS上的全部交易行爲都是經過帳戶來完成的,經過帳戶執行任意操做時,EOSIO首先會驗證操做者是否擁有足夠的權限,驗證經過該操做才能生效。

EOS帳號的權限

EOS中,每一個帳戶建立時會自帶兩個原生權限:owner和active權限。這也是默認的帳戶權限配置,另外還支持自定義權限。

owner權限:表明帳戶全部權,該權限可進行全部操做,包括更改owner權限,可由一對或多對EOS公私鑰或另外一帳戶的某權限實現權限控制。所以,表明着owner權限的EOS公私鑰是最重要的,必須安全保管好。

active權限:active即活躍權限,能進行除更改owner權限之外的全部操做,好比說轉帳、投票、購買ram等等。也是經過一對或多對EOS公私鑰或另外一帳戶的某權限實現權限控制。

自定義權限:除了兩個原生權限之外,EOS還支持自定義權限。咱們能夠將active的部分權限,好比說投票權,任命給一個自定義權限voting。那麼無須owner、active權限所對應的私鑰對投票操做進行簽名,單單經過voting權限所對應的私鑰對投票操做進行簽名即可完成投票操做。

所以經過權限配置能夠將EOS帳戶的部分操做權限分配給第三方進行,避免了直接給出active權限的私鑰,從而實現極其靈活和安全的組織管理方式。

權重和閾值

每一個權限都會有一個閥值,初始時爲1。權限下的每對公私鑰都會有一個權重,初始時每一個權限只有一對公私鑰且權重爲1。後續帳戶能夠修改權限的閥值,能夠對每一個主體(即每對EOS公私鑰或帳號)分配不一樣的權重,還能夠修改權限由多個主體管理。只有當公私鑰的權重大於等於閥值才能擁有該權限進行相應操做。

常見區塊鏈項目的幣就放在公鑰裏,只有一對公私鑰,所以知道私鑰即可轉走,而EOS中幣是放在帳戶裏的,公鑰裏面放的是帶權重的鑰匙,轉走帳戶裏面的幣須要擁有轉帳權限的鑰匙的權重之和達到閾值纔可進行。

建立帳號與轉帳的費用

EOS主網中,帳號的建立須要保存在EOS主網中,須要佔用區塊鏈生產節點的內存資源,通常爲4K大小。而內存資源是有限的寶貴資源,所以建立帳號是要成本的,通常須要花費6美圓。而內存價格和EOS價格是隨市場變更的,所以EOS主網帳戶註冊價格也是變更的。所以每建立一個EOS新帳號都須要其餘EOS帳號消耗必定量的EOS來幫忙建立,最初始的EOS帳號由EOS主網在映射階段建立完成。

而帳戶進行轉帳等操做時,是沒有手續費的,可是須要用到EOS主網的CPU和帶寬資源。CPU就像會計的算帳能力,帶寬則可理解成轉帳的通道,這個須要經過EOS抵押才能換取,可是不會產生消耗,不用了能夠贖回。

EOS的資源利用機制

咱們知道,比特幣和以太坊中的交易手續費機制,其目的就是防止大量交易使系統擁堵。而EOS取消了交易手續費,那麼如何避免系統資源的濫用?於是EOS設計了一種新的資源使用機制:根據帳戶中EOS的數量來分配系統資源,包括:RAM(內存), Network BandWidth (網絡帶寬) 以及 CPU BandWidth (CPU 帶寬)。這些資源須要購買嗎?如何交易?接着往下看。

RAM(內存):

在EOS 中, RAM(內存)的主要特色包括:

要將數據存儲在區塊鏈中須要消耗RAM,好比在 EOS 中轉帳、購買資源、投票等操做的時候,都有可能會消耗 RAM (內存)。

若是你的RAM 消耗殆盡,那麼你是沒法進行上述這些須要消耗RAM的操做的,因此咱們須要有足夠的RAM。

經過購買得到的EOS RAM 資源能夠買賣,買賣的價格根據市場行情動態調節,這個特色與買賣EOS同樣。

RAM能夠經過EOS購買的方式得到也能夠經過好友幫你購買,這個特色和經過抵押方式獲取 CPU 資源以及 NET 資源不太同樣。

用戶在買賣RAM 資源的時候,各須要消耗 0.5 % (千分之五) 的手續費,總共是 1% 的手續費。這筆費用被存在 eosio.ramfee 中,由 BP 節點進行管理。

內存是消耗資源,不可贖回,只能買賣。

CPU帶寬與網絡帶寬

在EOS中,CPU帶寬與網絡帶寬的特性差很少,它們的主要特色包括:

它們採用抵押EOS的方式獲取。當再也不須要CPU與帶寬時,抵押的EOS通證能夠贖回,在贖回的時候,存在三天的贖回期。

若是你持有全網1%的EOS,那就能夠抵押這些EOS來得到全網1%的CPU和帶寬。這樣就能夠隔離開全部的DAPP,防止資源競爭和惡意的DDOS供給,不管其餘的DAPP如何擁堵, 你本身的帶寬都不受影響。

每次使用轉帳功能時,都會消耗網絡帶寬資源。

網絡帶寬取決於過去三天消費的平均值,做爲你下一次執行操做的費率。

若是沒有足夠的網絡帶寬資源的話,你是沒法使用EOS 網絡轉帳等基本功能的。

帶寬資源是能夠隨着時間的推移,自動釋放。

相關文章
相關標籤/搜索