Skip to content

Instantly share code, notes, and snippets.

@Ankarrr
Created January 8, 2018 04:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ankarrr/3d2d6fcbe16b07771074e195636434c9 to your computer and use it in GitHub Desktop.
Save Ankarrr/3d2d6fcbe16b07771074e195636434c9 to your computer and use it in GitHub Desktop.

Lisk 簡介 - DPOS 共識網路

本文翻譯自 Lisk FAQ - Network

哪裡可以找到 Lisk 核心的原始碼?

https://github.com/LiskHQ/lisk

Lisk 是用什麼程式語言撰寫?

Lisk 是用 JavaScript 撰寫並使用 NodeJS。

為什麼使用 JavaScript?

JavaScript 是一個易用、簡潔且知名的程式語言且有巨大的開發社群、好用的工具和快速的開發週期。它強化了 Lisk 可以簡單上手和迅速開發應用的目標。

Lisk 使用什麼共識算法?

委派的權益證明(Delegated Proof of Stake (DPOS))。

Lisk 的 delegate system 如何運作?

任何人都可以在 Lisk 網路中註冊帳號,成為 delegate account(或簡單來說 delegate),僅需為帳戶選擇一個使用者名稱。delegate 可以從任何 LSK 持有者中取得投票。簡單來說,1 LSK 等同 1 票,而每個 LSK 持有者僅可將帳戶中所有的餘額投給一個 delegate。網路中前 101 個擁有做多得票數的 delegate 會開始產生新區塊以確保網路的安全。101 個之外的其他 delegate 會待命。投票過程是動態的所以 delegate 的排名是可變動的。

什麼是 delegate round?

一個 delegate round 是一個週期,必須經過 101 個 delegate 每個均產生一個新的區塊。每一輪均產生固定數量的區塊,而每ㄧ輪結束後會更新 delegate 的排序(根據投票數)。

每一個 delegate round 有多久?

每 10 秒一個區塊,每個 delegate round 等於 1010 秒或大約 17 分鐘。如果一個活躍的 delegate 下線了,它就不會產生新的區塊,而由此輪的下一個 delegate 負責,所以產生這個 block 需要 20 秒。有就是說,越多活躍的 delegate 下線,每一輪就需要越久。

新的 LSK 代幣如何產生?

活躍的 delegate 透過維護網路安全性來取得報酬。前 101 名的 delegate 取得固定的區塊報酬和不固定的交易手續費。

每年的通膨率多少?

最初的 ICO 時共發行 100,000,000 LSK。自從 5/24 網路上線,101 個 delegate 開始確保網路安全並從中取得區塊報酬。當每個區塊被產生,5 個新的 LSK 被髮行。每 3,000,000 個區塊(約 1 年),區塊報酬就會降低 1 LSK,直到降低至每區塊 1 LSK 並持續到永遠。區塊報酬被平均的分給 101 個 delegate。在此之外,delegate 根據各自產生的區塊中的交易收取手續費。透過實作這個機制,Lisk 創造了一個動力來運行 delegate 並確保網路安全,這是共識演算法很重要的一部分。

LSK 代幣的發行量上限是多少?

並沒有發行量上限。通膨率會隨著時間降低,例如根據逐年的區塊報酬調降會在第 15 年降低至 1.74%。

使用網路手續費多少?

手續費如下:

Type Fee
Regular transactions 0.1 LSK
Delegate registration 25 LSK
Second passphrase setup 5 LSK
Multi-signature registration 5 LSK per multi-signature member

需要多少時間驗證一個交易?

每 10 秒產生一個新的區塊。第一個確認(confirmation)發生在交易被收進一個區塊中,通常發生在幾秒內。隨著越來越多新區塊接著產生,交易越來越難被竄改並可被視為驗證(validated)成功。我們建議較小的交易到至少等 6 個區塊而較大的交易則要等一輪。

Lisk 區塊中使用什麼資料結構?

區塊被存在關聯式數據庫中。每個區塊的 SHA256 hash 值會被 delegate 產生並用 ed25519 簽署過。區塊的簽章和 delegate 的公鑰被包含在每個區塊中,並被用來驗證區塊的完整性。

轉移代幣需要的簽章格式是什麼?

我們使用一個 hash 格式來產生具決定性的地址。地址的產生過程如下:將 account passphrase 透過 SHA256 算法,接者用 ed25519 產生一對公私鑰,其中的公鑰在經過 SHA256 算法產生一個 hash 值,再用這個 hash 值產生一個具決定性的地址。我們選擇 ed25519,因為這個算法具有快速簽署及預防碰撞等功能。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment