請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/84103完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 李致毅(Jri Lee) | |
| dc.contributor.author | Chia-Chi Chang | en |
| dc.contributor.author | 張家齊 | zh_TW |
| dc.date.accessioned | 2023-03-19T22:04:48Z | - |
| dc.date.copyright | 2022-07-22 | |
| dc.date.issued | 2022 | |
| dc.date.submitted | 2022-07-18 | |
| dc.identifier.citation | Kun Wu†‡§, Guohao Dai†‡, Xing Hu§, Shuangchen Li§, Xinfeng Xie§, Yu Wang†‡, Yuan Xie§, Memory-Bound Proof-of-Work Acceleration for Blockchain Applications, June 2019, Jason Orender, Ravi Mukkamala and Mohammad Zubair, Is Ethereum’s ProgPoW ASIC Resistant? February 25th 2020 Xilinx, UltraScale Architecture Configurable Logic Block, February 28, 2017 Hassen Mestiri1,2,3, Imen Barraj4,5 and Mohsen Machhou, A High-Speed KECCAK Architecture Resistant to Fault Attacks, 28 January 2021 Hassen MESTIRI, Fatma KAHRI, Mouna BEDOUI, Belgacem BOUALLEGUE, Mohsen MACHHOUT, HIGH THROUGHPUT PIPELINED HARDWARE IMPLEMENTATION OF THE KECCAK HASH FUNCTION, 12 April 2017 Bruce Fenton Tron Black, Ravencoin: A Peer to Peer Electronic System for the Creation and Transfer of Assets, 3rd April 2018 Doan Van Hieu1,2, Lam Duc Khai1,2, A Fast Keccak Hardware Design for High Performance Hashing System, 10 January 2022 Xilinx, Block Memory Generator v8.3, April 5, 2017 Ashok Kumar Gupta, Ashish Raman, Naveen Kumar, and Ravi Ranjan, Design and Implementation of High-Speed Universal Asynchronous Receiver and Transmitter (UART), 20 April 2020 Y. Chen and C. Bellavitis. Blockchain disruption and decentralized finance: The rise of decentralized business models. Journal of Business Venturing Insights, 13:e00151, 2020 A. R. Zamanov, V. A. Erokhin, and P. S. Fedotov. Asic-resistant hash functions. In 2018 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), pages 394–396. IEEE, 2018. Tron Black and Joel Weight, “X16R – ASIC Resistant by Design”, IEE Proceedings-F, Vol. 139, No. 5, Oct. 1992 Bruce Fenton and Tron Black, “Ravencoin: A Peer to Peer Electronic System for the Creation and Transfer of Assets “, April 3. 2018 Mohammad Peyraviana, Allen Roginskya, Ajay Kshemkalyanib, On Probabilities of Hash Value Matches, March. 1998 Probability of Collision in Hash Function [Complete Analysis], https://iq.opengenus.org/probability-of-collision-in-hash/ Xilinx, UltraScale Architecture and Product Data Sheet: Overview, February 7, 2022 Xilinx, UltraScale Architecture Configurable Logic Block User Guide, February 28, 2017 Bruce Fenton Tron Black, Ravencoin: A Peer to Peer Electronic System for the Creation and Transfer of Assets, 3rd April 2018 Xilinx, AXI High Bandwidth Memory Controller v1.0 LogiCORE IP Product Guide Vivado Design Suite, August 6, 2021 Virtex Ultrascale+ HBM, https://www.xilinx.com/products/silicon-devices/fpga/virtex-ultrascale-plus-hbm.html#tabAnchor-productAdvantages | |
| dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/84103 | - |
| dc.description.abstract | 本論文中所提及的KawPow演算法為Ravencoin的演算法,Ravencoin是一種區塊鏈,主要目的是提供轉帳功能,為維持這個機制,必須實際操作KawPow演算法並得到小於特定值的答案,符合的答案可以使區塊鏈產生新的區塊。因區塊鏈演算法的特性,需經過多次計算才可得出答案,在單位時間內的計算次數則稱為算力(hash rate),而論文內容則針對如何提升算力來討論及實作。 KawPow演算法為一種區塊鏈演算法,其特性為memory-bound以及memory-hard,也就是會對memory進行大量資料讀取以及寫入,因此對於記憶體頻寬以及記憶體容量要求較高。除此之外,相比於其他相同特性的區塊鏈演算法如Ethash的演算法,KawPow演算法為了要防止ASIC以及FPGA利用硬體高運算效率的特性主宰算力,提升了用來計算的資料寬度,而這也導致ASIC及FPGA面積的使用大大提升,成本也隨之上升,使ASIC及FPGA無法完美發揮其運算快速之優勢,也達成防止算力被主宰的目的。雖然如此,本論文仍將利用現有FPGA的有限資源,針對KawPow演算法運算資料寬度大幅提升的問題進行分析及實作。 本論文將KawPow演算法實作於Xilinx FPGA VU35P晶片上並使用Xilinx的開發軟體Vivado進行synthesis、placement和routing,藉由分析實驗室舊版KawPow演算法硬體架構之優缺點,善用FPGA上的資源並將舊版架構加以改良,達到超越舊版架構的效能(Performance)。論文中詳細描述了從舊版硬體架構缺點之分析、KawPow演算法分析、FPGA硬體資源整理並分配、演算法硬體架構設計、FPGA資源使用量之估算、到最後實作、面積優化以及在FPGA進行emulation的過程。 論文最後整理出了新版及舊版架構的算力差距、資源使用,以及新版emulation的結果。從simulation可以看出,新版所能達到的算力為舊版的四倍,且在相同頻率的情況下使用Xilinx的開發軟體Vivado進行P&R及timing分析,新版的timing result比舊版更好,而新版架構於FPGA進行emulation時,則可操作在360MHz,約可達到5.6M Hash/s的算力。 | zh_TW |
| dc.description.abstract | KawPow algorithm discussed in the thesis is the algorithm for Ravencoin. Ravencoin is a blockchain and platform optimized for transferring assets. To sustain the mechanism, the valid hash values which are smaller than specific values are derived by calculating the KawPow algorithm. The valid hash values make the blockchain generate a new block. Because of the characteristic of blockchain, the valid hash values are derived after lots of attempts and computations. The number of computations in unit time is called hash rate. This thesis focuses on how to increase the hash rate and implement the algorithm. KawPow algorithm which the thesis implements is one kind of algorithm of blockchain. The features of the algorithm are memory-bound and memory-hard. That is to say, it has a high requirement of memory bandwidth and does memory access lots of time. Besides, compared to the other algorithm which features are also memory-bound and memory-hard such as Ethash, to avoid the ASIC and FPGA dominating the hash rate by high computing efficiency, the KawPow algorithm increases the data width for computing. As a result, not only the area utilization increases significantly, but also the cost of ASIC and FPGA increases as well. This makes the ASIC and FPGA not able to make use of their advantage of high computing efficiency. However, the thesis still uses limited resources and focuses on the problem of high data width to analyze and implement on FPGA. The thesis shows how to implement the hardware architecture of KawPow on Xilinx FPGA VU35P and run the synthesis and implementation on Vivado, which is a Xilinx developing software. Besides, by analyzing the original hardware architecture of KawPow in laboratory, the author makes the good use of FPGA resources to improve the shortcomings and surpasses the performance (hash rate) of the original architecture. The thesis presents the flow of implementation in detail. 1. Analysis of the original architecture 2. Analysis of KawPow algorithm 3. Reallocation of FPGA resources 4. Design the hardware architecture 5. Estimation of the utilization of FPGA resources 6. Implementation, area reduction, and emulation. At the end of the thesis, the difference of hash rate between the original architecture and improved architecture will be presented. Besides, the emulation result of improved architecture will be presented too. When executing the simulation, the hash rate of the improved architecture is four times better than the original architecture. Besides, when we execute the implementation using Xilinx developing software “Vivado”, the timing result of the improved architecture is better than the original architecture. The improved architecture can be executed at 366MHz when executing emulation. The hash rate achieves 5.6MH/s. | en |
| dc.description.provenance | Made available in DSpace on 2023-03-19T22:04:48Z (GMT). No. of bitstreams: 1 U0001-1707202215195800.pdf: 1768495 bytes, checksum: 24baa9792757974e12e88113470b902f (MD5) Previous issue date: 2022 | en |
| dc.description.tableofcontents | 口試委員審定書 i 摘要 ii Abstract iii List of Figures viii List of Tables xi Chapter 1 Introduction 1 1.1 Motivation 1 1.2 Organization of the Thesis 2 Chapter 2 Preliminary and the problems of the original architecture 3 2.1 Introduction to Hash function and Ravencoin 3 2.2 Introduction to KawPow algorithm 4 2.2.1 Property of KawPow algorithm 4 2.2.2 Software architecture of KawPow algorithm 6 2.3 Introduction to FPGA VU35P 11 2.4 Problem statement 12 2.4.1 the Original hardware architecture 12 2.4.2 Problem of Multiplexer 17 Chapter 3 Circuit improvement of KawPow algorithm 20 3.1 Design strategy and constraint 20 3.2 Design methodologies on FPGA 20 3.3 Analysis of Round function 22 3.4 Building block for Round function 25 3.4.1 FPGA RAM resources allocation for Round function 25 3.4.2 Area reduction of computation unit 27 3.4.3 Connect the blocks in Round function 28 3.4.4 Distributed RAM for data storage 36 3.4.5 Estimation of LUT resources and throughput 39 3.5 Building connection module 42 3.6 Problems impairing the area utilization 43 3.6.1 Interface mismatch of Lane_hash_gen and Mix_hash_gen 43 3.6.2 Output registers of Initmix function 47 3.7 Building block of KawPow algorithm 49 3.8 Overview of the whole system for FPGA emulation 50 Chapter 4 Measurement result 53 Chapter 5 Future work 57 5.1 Review 57 5.2 Future work 57 Reference 59 Appendix 62 A.1 80 Distributed RAM operations 62 A.2 99 Distributed RAM operations 63 | |
| dc.language.iso | en | |
| dc.subject | FPGA | zh_TW |
| dc.subject | Ravencoin | zh_TW |
| dc.subject | KawPow | zh_TW |
| dc.subject | 區塊鏈 | zh_TW |
| dc.subject | KawPow硬體架構分析 | zh_TW |
| dc.subject | Analysis of hardware architecture for KawPow | en |
| dc.subject | FPGA (Field Programmable Gate Array) | en |
| dc.subject | Blockchain | en |
| dc.subject | KawPow | en |
| dc.subject | Ravencoin | en |
| dc.title | KawPow演算法硬體架構實現於FPGA | zh_TW |
| dc.title | Hardware Implementation of KawPow Algorithm on FPGA | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 110-2 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 盧奕璋(Yi-Chang Lu),劉宗德(Tsung-Te Liu) | |
| dc.subject.keyword | 區塊鏈,Ravencoin,FPGA,KawPow,KawPow硬體架構分析, | zh_TW |
| dc.subject.keyword | Blockchain,Ravencoin,FPGA (Field Programmable Gate Array),KawPow,Analysis of hardware architecture for KawPow, | en |
| dc.relation.page | 63 | |
| dc.identifier.doi | 10.6342/NTU202201508 | |
| dc.rights.note | 同意授權(限校園內公開) | |
| dc.date.accepted | 2022-07-18 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 電子工程學研究所 | zh_TW |
| dc.date.embargo-lift | 2022-07-22 | - |
| 顯示於系所單位: | 電子工程學研究所 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| U0001-1707202215195800.pdf 授權僅限NTU校內IP使用(校園外請利用VPN校外連線服務) | 1.73 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
