本文翻譯自 Lisk FAQ - Network。
https://github.com/LiskHQ/lisk
Lisk 是用 JavaScript 撰寫並使用 NodeJS。
JavaScript 是一個易用、簡潔且知名的程式語言且有巨大的開發社群、好用的工具和快速的開發週期。它強化了 Lisk 可以簡單上手和迅速開發應用的目標。
委派的權益證明(Delegated Proof of Stake (DPOS))。
任何人都可以在 Lisk 網路中註冊帳號,成為 delegate account(或簡單來說 delegate),僅需為帳戶選擇一個使用者名稱。delegate 可以從任何 LSK 持有者中取得投票。簡單來說,1 LSK 等同 1 票,而每個 LSK 持有者僅可將帳戶中所有的餘額投給一個 delegate。網路中前 101 個擁有做多得票數的 delegate 會開始產生新區塊以確保網路的安全。101 個之外的其他 delegate 會待命。投票過程是動態的所以 delegate 的排名是可變動的。
一個 delegate round 是一個週期,必須經過 101 個 delegate 每個均產生一個新的區塊。每一輪均產生固定數量的區塊,而每ㄧ輪結束後會更新 delegate 的排序(根據投票數)。
每 10 秒一個區塊,每個 delegate round 等於 1010 秒或大約 17 分鐘。如果一個活躍的 delegate 下線了,它就不會產生新的區塊,而由此輪的下一個 delegate 負責,所以產生這個 block 需要 20 秒。有就是說,越多活躍的 delegate 下線,每一輪就需要越久。
活躍的 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 並確保網路安全,這是共識演算法很重要的一部分。
並沒有發行量上限。通膨率會隨著時間降低,例如根據逐年的區塊報酬調降會在第 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 個區塊而較大的交易則要等一輪。
區塊被存在關聯式數據庫中。每個區塊的 SHA256 hash 值會被 delegate 產生並用 ed25519 簽署過。區塊的簽章和 delegate 的公鑰被包含在每個區塊中,並被用來驗證區塊的完整性。
我們使用一個 hash 格式來產生具決定性的地址。地址的產生過程如下:將 account passphrase 透過 SHA256 算法,接者用 ed25519 產生一對公私鑰,其中的公鑰在經過 SHA256 算法產生一個 hash 值,再用這個 hash 值產生一個具決定性的地址。我們選擇 ed25519,因為這個算法具有快速簽署及預防碰撞等功能。