Penta公鏈(PNT)賬戶體系介紹(一)

前言:賬戶體系是區塊鏈運行的一個重要組成部分,通過該體系實現了賬戶之間價值和信息的傳遞的狀態轉換。而在一些傳統的區塊鏈賬戶中,用戶無法自己定義賬戶名稱,只能用一堆很難記憶的字符串做地址和私鑰,在可用性上有很大的欠缺。

而Penta公鏈(PNT)團隊正是看到這些痛點不足,設計出了具有更高安全性和便利性的賬戶體系。

Penta公鏈(PNT)賬戶體系介紹(一)

△英文版已經於Penta的Medium賬號進行發佈(搜索Penta GF)

賬戶結構

Penta獨創採用了DSC共識算法,因而其賬戶設計實現上與傳統區塊鏈賬戶結構有很大不同。賬戶分為兩種類型:Penta用戶賬戶和Penta合約賬戶。Penta從設計之初就將兩者明確加以區分,減少了用戶諸如錯誤轉賬等誤操作的風險。

Penta用戶賬戶☟

Penta用戶賬戶即供人類用戶使用的賬戶,包括記賬用戶和普通用戶。用戶賬戶中設計了四個KEY:安全KEY、交易KEY、共識KEY和種子KEY,各種KEY的具體功能如下:

安全KEY:用於設置交易、共識以及種子KEY,每次安全KEY被使用後需要更換

交易KEY:用於交易簽名

記賬KEY:用於共識記賬過程中的簽名

種子KEY:用於區塊提議過程中種子生成過程的相關簽名

對於Penta網絡中不參與共識記賬的普通用戶,一般只需要用到其中的安全KEY和交易KEY。而對於參與DSC共識的記賬節點,另外設置的記賬KEY和種子KEY將置於離線環境中, 充分保證了記賬節點的安全性。

由於Penta賬戶設置了4種KEY,如果給每個KEY都設置一個口令進行加密保護,肯定會導致賬戶使用起來異常繁瑣和不便。所以Penta在設計上給賬戶設置了一個賬戶口令。用戶僅需要通過設置的賬戶口令就可以實現對賬戶的全局控制。

但出於更高安全性的考慮,對於核心的安全KEY,增設了一個安全口令。使用安全KEY前必須同時提供賬戶口令和安全口令,如此一來用雙保險的方式保障了用戶的賬戶安全。

Penta合約賬戶☟

Penta合約賬戶通過智能合約狀態字段來存儲智能合約狀態的相關信息,另外也定義了手續費的收費模式。

第一種由交易發起人付費,比如PNT轉賬、投票、智能合約創建、智能合約調用、存儲資源消費、DApp發佈、DApp交易調用等等,這些交易都可以由發起人付費。第二種由交易對手方來付費,智能合約調用、DApp交易可以由智能合約和DApp支付PNT,智能合約或DApp擁有者則可以向用戶免費或收取一定量的其他token。

Penta公鏈(PNT)賬戶體系介紹(一)

賬戶地址生成方案

本節主要介紹Penta的賬戶地址設計方案。Penta用戶使用21字節二進制地址+4字節校驗位後總長度為25字節二進制數, 經過Base58編碼後的字符串作為公開地址。

Penta賬戶非壓縮公鑰生成地址的過程如下:

使用橢圓曲線加密算法計算隨機私鑰所對應的非壓縮公鑰,長度為65字節。其中第一個字節為 0x04表示非壓縮狀態。

計算公鑰的 SHA3-256 哈希值,生成32字節二進制的值,取結果的前20個字節,並在前面添加一個字節作為標識位,該標識位用以區分諸如主網、測試網不同網絡,方便使用切換,比如主網Chain MainID:0x37。

對(2)中的前20個字節再做一次SHA3-256運算,取結果的前4個字節。

將(2)中21個字節的結果和(3)中4個字節結果進行組合,生成25字節的二進制數,對該結果進行Base58編碼,長度為34或35個字符。生成的字符串即為公開地址。

Penta公鏈(PNT)賬戶體系介紹(一)

由上圖可知,在地址生成過程中,Penta沒有沿用傳統區塊鏈項目使用的較為古老的SHA-256算法,而是使用了新一代、硬件應用速度更快的SHA3-256算法,當然這都是基於充分的可靠性和安全性論證之後作出的選擇。

『結語』

本文主要介紹了Penta賬戶體系中的賬戶結構以及地址方案。在上述設計中,Penta團隊不但考慮了對於DSC共識角色和流程所對應的賬戶改進,更多著眼於對於賬戶本身安全性和可用性的優化和創新

。在後續的文章中,我們還會繼續對賬戶體系中的賬戶、賬戶鎖定和解鎖機制以及賬戶創建流程等內容進行介紹。


分享到:


相關文章: