Nghiên Cứu và Tối Ưu Thiết Kế Phần Cứng Tạo Block cho Mạng Ethereum Blockchain

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp kỹ thuật máy tính nghiên cứu và tối ưu thiết kế phần cứng tạo block cho mạng ethereum, vận dụng lý thuyết vào thực tế, đề xuất giải pháp

Chuyên ngành

Kỹ thuật máy tính

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2022

79
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Giới thiệu đề tài

1.2. Một số nghiên cứu liên quan

1.3. Mục tiêu đề tài

1.4. Bố cục luận văn

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Công nghệ Blockchain

2.2. Giới thiệu về Blockchain

2.3. Đặc điểm chính của Blockchain

2.4. Các công nghệ hình thành nên Blockchain

2.5. Các khái niệm cơ bản trong Blockchain

2.6. Giới thiệu về Ethereum

2.7. Khối block trong Ethereum Blockchain

2.8. Hợp đồng thông minh

2.9. Proof-of-Work (PoW)

2.10. Target và difficulty

2.11. Quá trình block được thêm vào Ethereum Blockchain

2.12. Tổng quan về Ethereum mining

2.13. Fowler Noll Vo (FNV)

3. CHƯƠNG 3: KIẾN TRÚC ĐỀ XUẤT

3.1. Cài đặt hệ thống trên phần mềm

3.2. Hiện thực hệ thống trên phần cứng

3.3. Kiến trúc tổng quan của hệ thống Ethash

3.4. Hiện thực hàm Keccak

3.5. Hiện thực Main Loop

4. CHƯƠNG 4: KIỂM TRA VÀ ĐÁNH GIÁ KẾT QUẢ

4.1. Kiểm tra kết quả

4.2. Kết quả kiểm tra thiết kế trên phần mềm

4.3. Kết quả kiểm tra thiết kế trên phần cứng

4.4. Kết quả tài nguyên phần cứng

4.5. Kết quả hiện thực Keccak256

4.6. Kết quả hiện thực Ethash

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

Tóm tắt

I. Tổng quan về Nghiên cứu và Tối ưu Thiết kế Phần cứng Blockchain

Nghiên cứu và tối ưu thiết kế phần cứng cho mạng Ethereum Blockchain là một lĩnh vực đang thu hút sự quan tâm lớn từ cộng đồng công nghệ. Ethereum, với vai trò là một trong những nền tảng blockchain hàng đầu, yêu cầu các giải pháp phần cứng hiệu quả để xử lý các giao dịch và tạo block. Việc tối ưu hóa thiết kế phần cứng không chỉ giúp tăng tốc độ xử lý mà còn giảm thiểu chi phí năng lượng, một yếu tố quan trọng trong khai thác Ethereum.

1.1. Giới thiệu về Ethereum và Blockchain

Ethereum là một nền tảng blockchain phi tập trung, cho phép phát triển các ứng dụng thông minh. Blockchain là công nghệ nền tảng, cho phép lưu trữ và bảo mật thông tin giao dịch một cách an toàn.

1.2. Tầm quan trọng của thiết kế phần cứng trong Ethereum

Thiết kế phần cứng đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất khai thác Ethereum. Các giải pháp phần cứng hiệu quả giúp tăng tốc độ xử lý và giảm chi phí năng lượng.

II. Vấn đề và Thách thức trong Thiết kế Phần cứng Blockchain

Mặc dù có nhiều tiến bộ trong thiết kế phần cứng cho Ethereum, nhưng vẫn tồn tại nhiều thách thức. Các vấn đề như tiêu tốn năng lượng cao, hiệu suất không ổn định và khả năng mở rộng là những yếu tố cần được giải quyết. Việc tối ưu hóa thiết kế phần cứng là cần thiết để đáp ứng nhu cầu ngày càng tăng của mạng lưới Ethereum.

2.1. Tiêu tốn năng lượng trong khai thác Ethereum

Khai thác Ethereum hiện tại chủ yếu dựa vào GPU và CPU, dẫn đến tiêu tốn năng lượng lớn. Việc tối ưu hóa thiết kế phần cứng có thể giúp giảm thiểu vấn đề này.

2.2. Khả năng mở rộng của hệ thống

Khả năng mở rộng là một thách thức lớn trong thiết kế phần cứng cho Ethereum. Các giải pháp cần phải đảm bảo rằng hệ thống có thể xử lý khối lượng giao dịch ngày càng tăng mà không làm giảm hiệu suất.

III. Phương pháp Nghiên cứu và Tối ưu Thiết kế Phần cứng

Để tối ưu hóa thiết kế phần cứng cho mạng Ethereum, nhóm nghiên cứu đã áp dụng nhiều phương pháp khác nhau. Các phương pháp này bao gồm việc sử dụng kiến trúc pipeline, tối ưu hóa thuật toán Keccak và cải thiện hiệu suất của hệ thống Ethash.

3.1. Kiến trúc Pipeline trong thiết kế phần cứng

Kiến trúc pipeline giúp tăng tốc độ xử lý bằng cách chia nhỏ các tác vụ thành nhiều giai đoạn. Điều này cho phép hệ thống xử lý nhiều tác vụ đồng thời, từ đó cải thiện hiệu suất.

3.2. Tối ưu hóa thuật toán Keccak

Thuật toán Keccak là một phần quan trọng trong quá trình khai thác Ethereum. Việc tối ưu hóa thuật toán này giúp giảm thời gian tính toán và tăng tốc độ xử lý.

IV. Ứng dụng Thực tiễn và Kết quả Nghiên cứu

Kết quả nghiên cứu cho thấy rằng việc tối ưu hóa thiết kế phần cứng đã mang lại những cải thiện đáng kể về hiệu suất. Hệ thống Ethash đã đạt được tần số cao và hiệu suất tốt hơn so với các nghiên cứu trước đó. Những kết quả này không chỉ có giá trị trong nghiên cứu mà còn có thể áp dụng trong thực tiễn.

4.1. Kết quả kiểm tra thiết kế phần mềm

Kết quả kiểm tra cho thấy rằng thiết kế phần mềm đã hoạt động ổn định và đạt được các mục tiêu đề ra. So sánh với dữ liệu gốc từ Ethereum Blockchain cho thấy sự chính xác cao.

4.2. Kết quả hiện thực phần cứng

Thiết kế phần cứng đã được tổng hợp trên FPGA với tần số đạt được là 816 MHz. Kết quả này cho thấy sự cải thiện rõ rệt về hiệu suất so với các nghiên cứu trước.

V. Kết luận và Hướng phát triển trong Nghiên cứu

Nghiên cứu và tối ưu thiết kế phần cứng cho mạng Ethereum Blockchain đã đạt được nhiều kết quả tích cực. Tuy nhiên, vẫn còn nhiều thách thức cần được giải quyết trong tương lai. Các hướng nghiên cứu tiếp theo có thể tập trung vào việc cải thiện hiệu suất và giảm tiêu tốn năng lượng.

5.1. Tương lai của thiết kế phần cứng trong Ethereum

Thiết kế phần cứng cho Ethereum sẽ tiếp tục phát triển để đáp ứng nhu cầu ngày càng cao của mạng lưới. Các công nghệ mới sẽ được áp dụng để cải thiện hiệu suất và giảm chi phí.

5.2. Hướng nghiên cứu khả thi trong tương lai

Các nghiên cứu tiếp theo có thể tập trung vào việc phát triển các giải pháp phần cứng mới, tối ưu hóa thuật toán và cải thiện khả năng mở rộng của hệ thống.

10/07/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Blockchain (chuỗi khối) là một cơ sở dữ liệu kỹ thuật số phi tập trung lưu trữ thông tin các giao dich (transaction) trong các khối thông tin (block) được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối đều chứa thông tin về thời gian khởi tạo và được liên kết với khối trước đó, kèm theo đó là một mã thời gian và dữ liệu giao dịch. Blockchain được thiết kế dé chống lại sự thay đôi của dữ liệu: một khi dữ liệu đã được mạng lưới chấp nhận thì sẽ không có cách nào dé thay đôi được nó. Hiện nay, Ethereum là một trong những tiền điện tử phổ biến được xây dựng dựa trên nền tảng công nghệ Blockchain, được phát minh vào năm 2015 bởi một lập trình viên Vitalik Buterin và cũng là người đồng sáng lập Tạp chí Bitcoin.

Ethereum mining là quá trình quan trọng nhằm tạo một block mới cho hệ thống và đảm bảo sự vận hành của mạng lưới Ethereum. Băng việc thêm các block mới vào Blockchain, quá trình này giúp các giao dịch được thực hiện. Bên cạnh đó, Ethereum mining được vận hành theo cơ chế đồng thuận Proof-of-Work (PoW), cụ thé sẽ thực hiện thuật toán Ethash dé tìm số nonce thỏa mãn yêu cầu của hệ thống Ethereum. Có rất nhiều miners cùng giải thuật toán Ethash nhưng chỉ có một miner nhận được tiền thưởng khi tìm thay số nonce thoả mãn đầu tiên.

Hiện nay việc mining thực hiện chủ yêu trên GPU và CPU, việc này sẽ tiêu tốn rất nhiều năng lượng. Trong đề tài nảy nhóm sẽ hiện thực giải thuật Ethash trên phần cứng sau đó sẽ tiến hành tối ưu dé cải thiện được tốc độ xử lý và giảm tiêu hao năng lượng. Tuy nhiên giới hạn của đề tài nay là cần phải xử lý, sử dụng một lượng dữ liệu cực lớn đó chính là tập tin dit liệu DAG có kích thước lớn hơn 4GB tính đến thời điểm hiện tại, sẽ được cập nhật và tăng dần sau mỗi 30000 block. Mà hiện tại các board FPGA có bộ nhớ rất nhỏ so với kích thước của tập tin DAG.

Cho nên đề tài này nhóm sẽ giới hạn tập tin DAG để có thể tổng hợp thiết kế trên phần cứng FPGA và mô phỏng kiểm tra thiết kế của hệ thông. TONG QUAN ĐÈ TÀI 1. Giới thiệu đề tài Tên đề tài: Nghiên cứu và tối ưu thiết kế phần cứng tạo block cho mạng Ethereum Blockchain. Động lực thực hiện đề tài: Ethereum (ETH) là một nền tảng phi tập trung dựa trên công nghệ Blockchain, được giới thiệu bởi Vitalik Buterin (một lập trình viên đồng sáng lập Tạp chí Bitcoin) vào năm 2015 [1].

Ethereum là một mục tiêu khó khăn đối với các vụ lừa đảo và kiểm duyệt vì tính phi tập trung của nó. Mục tiêu của ETH là cung cấp bảo mật cao hơn với chỉ phí thấp hơn so với các hợp đồng truyền thống. Với những yếu tổ trên, không có gi ngạc nhiên khi Ethereum trở thành đồng tiền điện tử quan trọng thứ hai trên thị trường. Đào Ethereum (Ethereum mining) là một quá trình quan trọng trong việc vận hành mạng lưới Ethereum.

Kết quả của quá trình này là sinh ra một block mới, nơi mà chứa đựng và bảo mật các thông tin được tạo ra bởi các quá trình giao dịch của người dùng. Đào Ethereum thực chất là đi giải một bài toán lớn phức tạp có tên là Ethash nhăm tìm ra một con sô nonce thỏa yêu câu hệ thông. Do đó, trong đề tài này nhóm sẽ nghiên cứu và hiện thực giải thuật Ethash trên phần cứng là giải thuật tao block cho mạng Ethereum Blockchain, bằng việc tối ưu kiến trúc các module thành phần trong hệ thống Ethash lớn sẽ giúp cải thiện tốc độ tính toán so với các nghiên cứu trước. Một số nghiên cứu liên quan Hiện nay, lĩnh vực tiền điện tử như Bitcoin, Litecoin và Ethereum đang là một xu hướng được quan tâm và đầu tư phát triển.

Chính vì vậy việc hiện thực giải thuật Ethash trên phần cứng chuyên biệt nhằm tăng tốc độ đào đang là vấn đề cần được chú tâm nhiều nhất. Tuy nhiên giải thuật này có độ tính toán phức tạp cao và tiêu tốn nhiều tài nguyên phần cứng. Theo quá trình tìm hiéu, phân tích của nhóm, giải thuật Ethash [1] bao gồm các giải thuật nhỏ hon đó là Keccak (gồm Keccak512 và Keccak256), hàm FNV va phép modulo (mod). Hiện nay, có nhiều nghiên cứu về các giải thuật con này và được trình bày ở một số bài báo được đăng tải trên tạp chí IEEE.

Tuy nhiên các nghiên cứu này được tiến hành nghiên cứu, tối ưu phần cứng không hướng tới việc đề tối ưu phần cứng cho hệ thống lớn Ethash. Trong bài báo [2], giải thuật Keccak256 được hiện thực theo kiến tric Iterative là một kiến trúc truyền thống với tần số đạt được là 301. Ở bài báo [3], tác giả tối ưu kiến trúc Iterative băng cách tối ưu hoá bộ control của hệ thống kết quả đạt được tốt hơn so với nghiên cứu [2] có tần số đạt được 309,6 MHz, Throughput và Efficiency lần lượt là 14. Trong bài báo [4], tác giả có đề cập đến kiến trúc pipeline bằng việc đặt các thanh ghi (register) giữa các khối tính toán giúp rút ngắn critical path điều đó giúp tăng tốc độ tính toán của hàm băm trên FPGA nhưng vẫn đảm bảo chi phi area ở mức vừa phải.

Trong đó bài báo số [4] hiện thực thiết kế trên nền tảng Virtex-7 có kết quả là tan số đạt được là 832.848 MHz, Throughput là 36.985 Gbps, do vậy Efficiency của kiến trúc đạt được rất tốt bằng 22. Bên cạnh đó, bài báo [5] cũng hiện thực thiết kế theo kiến trúc pipeline 2 tầng nhưng trên nền tảng Arria 10 với kết quả tần số khá tốt là 498.62 MHz, Throughput và Efficiency đạt 22. Về giải thuật Ethash hiện thực trên phần cứng thì hiện tại nhóm chi tim thay một bài báo [6]. Ở bài báo này, nhóm tác giả đã đề xuất kiến trúc phần cứng và hiện thực giải thuật Ethash trên board FPGA cụ thé là Xilinx Virtex-7 VC707.

Sau đó đánh giá kết qua thu được khi tổng hợp trên FPGA, các thông số và kết quả cụ thé như Bảng 1.1: Hiện nay, GPU được sử dung phé bién trong việc dao ETH. Vì trên GPU sử dụng nhiều core dé xử lý nên thông số Hashrate cao, kèm theo năng lượng tiêu tốn lớn dẫn đến Efficiency nhỏ.2 là kết quả hiện thực Ethash trên GPU trong [7], [8]. Cuda Core : Design : Devices sài, Stream Hashrate | Power | Efficiency (MH/W) Processor (AMD) l3 | 027 155 | 054 156 | 016 NVIDIA P40000 77 0.22 Vi vậy ở dé tài này, nhóm sẽ tối ưu giải thuật mã hoá Keccak trên phan cứng theo kiến trúc pipeline nhằm đạt tần số cao. Bên cạnh đó nhóm sẽ nghiên cứu tối ưu các module thành phần trong hệ thống Ethash từ đó cải thiện Hashrate và giảm năng lượng tiêu tốn của hệ thống.

Mục tiêu đề tài Trong đề tài khóa luận tốt nghiệp nhóm sẽ đặt ra hai mục tiêu chính dưới đây: 1. Mục tiêu cho hàm Keccak [4] 832848 | 1673 36.89 Keccak256 dé xuat | Virtex- 7 | gq 1200 36 30 Bảng 1.3 là mục tiêu nhóm đặt ra khi hiện thực hàm Keccak256. Đề đánh giá kết quả tổng hợp phần cứng Keccak256, Throughput và Efficiency được xác định như sau: r x Fmax x Nmsg Throughput = (1.1) Latency Throughput Efficiency = _.2) Are a Trong đó: e r= 1600-— 2*d = 1088, là hăng số. e Fmax: tần số hoạt động tôi đa của thiết kế.

e Nmsg: số lượng message_in được xử lý đồng thời tại một thời điểm. e Latency: tông số chu kỳ dé cho ra giá trị hash của Msg. e Area: tông sé slice chiếm dụng khi tổng hợp trên phần cứng FPGA. Giá trị max va Area thu được sau khi tông hợp thiết kế bằng công cụ ISE Design Suite.

Đề thiết kế đạt được Throughput tốt, thì chúng ta cần nâng cao Fmax và giảm Latency xuông mức tối thiêu. Đồng thời Area nhỏ nhất dé có thé đạt được Efficiency tét nhất. Mục tiêu cho hệ thống Ethash Bảng 1.4 Mục tiêu thiết kế hệ thống Ethash Area Frequency | Throughput | Hashrate (Slices) (KH/s) we | a | a [ame Ethash dé xuat | vitex-7| §000 16 0.077 150 Muc tiéu nhom dat ra cho hé thống Ethash được trình bày ở Bảng 1. Đề đánh giá hệ thống Ethash, thông số Hashrate được xác định như sau: Frequency Hashrate = ——————— V3 Cycles (1.3) Với Frequency là tần số hoạt động va Cycles là số chu ky trung bình dé thu được một giá tri ethash_value của hệ thống Ethash.

Ngoài những mục tiêu đề ra ở Bảng 1.4 để so sánh với nghiên cứu [6] trên FPGA, nhóm còn đặt ra mục tiêu về Efficiency được tính theo công thức (1.4) dé so sánh với kết quả hiện thực phần mềm của các nghiên cứu trên GPU như Bang 1. Hashrate Efficiency= Power” (1.4) Với Power là năng lượng tiêu thụ của hệ thống Ethash tính theo đơn vị Watt (W) khi hiện thực thiết kế trên FPGA Virtex-7 VC707 bằng công cụ Vivado. So sánh Hashrate của hệ thống Ethash trên nền tảng FPGA với trên GPU thì rất chênh lệch vì GPU sử dụng rất nhiều core để xử lý và tính toán. Chính vì vậy nhóm đặt ra mục tiêu so sánh Efficiency đê xem độ hiệu quả của hai nên tang.5 Mục tiêu Efficiency của hệ thống Ethash (NVIDIA); Hashrate | Power | Efficiency Devices Stream (W) | (MH/W) Processor (AMD) l3 | 027 155 | 054 156 | 016 77 | 034 100 | 029 110 | 027 90 | 032 AMD RX 580 2304 130 0.15 Báo cáo này được chia làm năm chương chính.

Chương đâu tiên giới thiệu vê đê tai luận văn, một sô nghiên cứu liên quan và mục tiêu đê tài. Các chương tiêp theo được trình bày như sau: Chương 2: Cơ sở lý thuyết Chương 2 sẽ trình bay tổng quan những lý thuyết về Blockchain, Ethereum, Ethereum mining, giải thuật Ethash, giải thuật Keccak, hàm FNV và phép modulo. Chương 3: Kiến trúc đề xuất Dựa vào những kiến thức đã tìm hiểu được ở chương 2, chương 3 là phần trình bày về kiến trúc tổng thể cho hệ thống Ethash. Ở chương này, các thành phần của thiết kế sẽ được trình bay một cach chi tiét nhu hé thống Ethash, kiến trúc hàm Keccak và các thành phan trong Main_Loop.

Chương 4: Kiểm tra và đánh giá kết quả Chương 4 trình bày về phương pháp đánh giá và kiểm tra kết quả thực hiện đề tài. Cụ thé, kết quả thực hiện trên phần mềm bằng ngôn ngữ Python sẽ được so sánh với các khối thông tin đã có sẵn trên Ethereum Blockchain và kết quả hiện thực phần cứng sẽ được so sánh với kết quả hiện thực phần mềm. Đồng thời kết quả hiện thực phần cứng sẽ được so sánh, đánh giá với các nghiên cứu liên quan.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Nghiên Cứu và Tối Ưu Thiết Kế Phần Cứng Tạo Block cho Mạng Ethereum Blockchain" cung cấp cái nhìn sâu sắc về quy trình thiết kế và tối ưu hóa phần cứng cho việc tạo block trong mạng Ethereum. Bài viết không chỉ phân tích các yếu tố kỹ thuật cần thiết để cải thiện hiệu suất của mạng blockchain mà còn đề cập đến những thách thức và giải pháp tiềm năng trong việc phát triển phần cứng phù hợp. Độc giả sẽ nhận được những lợi ích từ việc hiểu rõ hơn về cách thức hoạt động của Ethereum, cũng như các ứng dụng thực tiễn của công nghệ blockchain trong các lĩnh vực khác nhau.

Để mở rộng kiến thức của bạn về blockchain và các ứng dụng của nó, bạn có thể tham khảo thêm tài liệu Luận văn thạc sĩ hệ thống thông tin nghiên cứu blockchain trong an toàn thông tin với giao dịch bản quyền tác phẩm số nfts, nơi bạn sẽ tìm thấy thông tin về an toàn thông tin trong giao dịch blockchain. Ngoài ra, tài liệu Optimizing smart contracts on ethereum sẽ giúp bạn hiểu rõ hơn về việc tối ưu hóa hợp đồng thông minh trên nền tảng Ethereum. Cuối cùng, tài liệu Nghiên cứu nền tảng công nghệ blockchain và ứng dụng trong bài toán truy xuất nguồn gốc sản phẩm sẽ cung cấp cái nhìn về ứng dụng thực tiễn của blockchain trong việc truy xuất nguồn gốc sản phẩm. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về công nghệ blockchain và các ứng dụng của nó trong thực tế.