Khóa luận tốt nghiệp kỹ thuật máy tính nghiên cứu thiết kế và hiện thực phần cứng tạo block cho mạng ethereum blockchain

Khóa luận tốt nghiệp kỹ thuật máy tính nghiên cứu thiết kế phần cứng tạo block cho mạng Ethereum blockchain, góp phần phát triển công nghệ.

Người đăng

Ẩn danh

Thể loại

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

2021

66
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

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 loại và các phiên bản công nghệ Blockchain

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

2.5.1. Mật mã học

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

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

3.1.1. Lấy dữ liệu đầu vào

3.1.2. Hiện thực Keccak

3.1.3. Hiện thực Ethash

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

4.1. Quy trình kiểm tra

4.2. Kết quả kiểm tra

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

4.2.2. Kết quả kiểm tra thiết kế phần cứng Ethash

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

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

5.1. Kết luận

5.2. 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 đề tài

Khóa luận tốt nghiệp này tập trung vào việc thiết kế và hiện thực phần cứng để tạo block cho mạng Ethereum Blockchain. Đề tài nhằm mục tiêu nghiên cứu và phát triển một hệ thống phần cứng hiệu quả để giải quyết bài toán Ethash, một thuật toán quan trọng trong quá trình đào Ethereum. BlockchainEthereum là hai công nghệ nền tảng được phân tích sâu trong nghiên cứu này, với trọng tâm là cải thiện tốc độ xử lý và hiệu suất của hệ thống.

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

Đề tài nghiên cứu thiết kế phần cứnghiện thực phần cứng để tạo block cho mạng Ethereum Blockchain. Ethereum là một nền tảng blockchain phổ biến, và việc tạo block là quá trình cốt lõi để duy trì hoạt động của mạng lưới. Đề tài này tập trung vào việc tối ưu hóa thuật toán Ethash để cải thiện hiệu suất và tốc độ xử lý.

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

Mục tiêu chính của đề tài là hiện thực phần cứng thuật toán Ethash và cải thiện tốc độ xử lý. Nghiên cứu này cũng nhằm mục đích tối ưu hóa kiến trúc hệ thống để đạt được hiệu suất cao hơn trong quá trình tạo block cho mạng Ethereum.

II. Cơ sở lý thuyết

Chương này cung cấp nền tảng lý thuyết về công nghệ blockchain, Ethereum, và các thuật toán liên quan như EthashKeccak. Blockchain là một công nghệ phân tán, trong khi Ethereum là một nền tảng blockchain hỗ trợ hợp đồng thông minh. Thuật toán Ethash là trọng tâm của nghiên cứu, với mục tiêu giải quyết bài toán tạo block một cách hiệu quả.

2.1. Công nghệ Blockchain

Blockchain là một công nghệ phân tán, cho phép lưu trữ và truyền tải dữ liệu một cách an toàn. Mỗi block chứa thông tin về thời gian khởi tạo và được liên kết với block trước đó. Blockchain được thiết kế để chống lại sự thay đổi dữ liệu và đảm bảo tính minh bạch.

2.2. Ethereum và Ethash

Ethereum là một nền tảng blockchain hỗ trợ hợp đồng thông minh. Thuật toán Ethash được sử dụng trong quá trình đào Ethereum, với mục tiêu tìm ra giá trị Nonce thỏa mãn yêu cầu của hệ thống. Quá trình này đòi hỏi sự tính toán phức tạp và tiêu tốn nhiều tài nguyên.

III. Kiến trúc đề xuất

Chương này trình bày kiến trúc tổng thể của hệ thống thiết kế phần cứng để tạo block cho mạng Ethereum. Hệ thống bao gồm các module chính như Keccak512, Keccak256, và FNV, được hiện thực trên phần cứng để tối ưu hóa tốc độ xử lý. Kiến trúc này được thiết kế để đảm bảo tính hiệu quả và khả năng mở rộng.

3.1. Hiện thực hệ thống

Hệ thống được hiện thực trên phần cứng bằng ngôn ngữ Verilog, với các module chính như Keccak512Keccak256. Quá trình hiện thực bao gồm việc kiểm tra tính đúng đắn của các thuật toán và tối ưu hóa kiến trúc để cải thiện tốc độ xử lý.

3.2. Tối ưu hóa kiến trúc

Kiến trúc hệ thống được tối ưu hóa bằng cách áp dụng kỹ thuật pipeline trong các module Keccak512Keccak256. Điều này giúp cải thiện đáng kể tốc độ xử lý và hiệu suất của hệ thống.

IV. Kiểm tra và đánh giá kết quả

Chương này trình bày quy trình kiểm tra và đánh giá kết quả của hệ thống thiết kế phần cứng. Kết quả hiện thực phần cứng được so sánh với kết quả phần mềm để đảm bảo tính chính xác. Ngoài ra, kết quả cũng được so sánh với các nghiên cứu liên quan để đánh giá hiệu suất của hệ thống.

4.1. Kiểm tra chức năng

Hệ thống được kiểm tra chức năng bằng công cụ Vivado, với các bước mô phỏng post-synthesispost-implementation. Kết quả kiểm tra cho thấy hệ thống hoạt động đúng như thiết kế.

4.2. Đánh giá hiệu suất

Kết quả hiện thực phần cứng được so sánh với kết quả phần mềm và các nghiên cứu liên quan. Hệ thống đạt được tốc độ xử lý cao hơn so với các thiết kế trước đó, chứng minh tính hiệu quả của kiến trúc đề xuất.

V. Kết luận và hướng phát triển

Chương này tổng kết các kết quả đạt được trong nghiên cứu và đề xuất các hướng phát triển trong tương lai. Khóa luận tốt nghiệp đã thành công trong việc hiện thực phần cứng thuật toán Ethash và cải thiện tốc độ xử lý. Các hướng phát triển tiềm năng bao gồm tối ưu hóa thêm kiến trúc và mở rộng ứng dụng của hệ thống trong các lĩnh vực khác của công nghệ blockchain.

5.1. Kết luận

Nghiên cứu đã thành công trong việc hiện thực phần cứng thuật toán Ethash và cải thiện tốc độ xử lý. Kết quả cho thấy hệ thống đạt được hiệu suất cao hơn so với các thiết kế trước đó.

5.2. Hướng phát triển

Các hướng phát triển tiềm năng bao gồm tối ưu hóa thêm kiến trúc hệ thống và mở rộng ứng dụng của công nghệ blockchain trong các lĩnh vực như tài chính, y tế và giáo dục.

21/02/2025

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

mở đầu cho công nghệ tiền điện tử) định nghĩa nó là một “Hệ thống tiền mặt điện tử ngang hàng” Bitcoin ban đầu được tạo ra như một dạng tiền kỹ thuật số. Nó có thé được chuyền từ người dùng này sang người dùng khác thông qua mạng ngang hang, mạng nay quản lý một cuốn số cái phân tán được gọi là Blockchain. Ethereum là đồng tiền điện tử ra đời sau này, cho nên cốt lõi của nó vẫn giống so với các đồng tiền tiện tử đời đầu như Bitcoin (2007). Chính kiến trúc ngang hàng, một công nghệ trung tâm của blockchain cho phép người dùng có thê giao dịch các loại tiền mã hóa trên toàn thế giới mà không cần đến trung gian cũng như bat kỳ máy chủ trung tâm nào.

Vì vậy, không có ngân hàng nao dé xử lý hoặc ghi lại các giao dịch. Thay vào đó, Blockchain hoạt động như một số cái kỹ thuật số ghi lại công khai tất cả hoạt động. Về cơ bản, mỗi nút giữ một bản sao của blockchain và so sánh nó với các nút khác dé đảm bảo dữ liệu chính xác. Mạng nhanh chóng từ chối mọi hoạt động độc hại hoặc không chính xác.

Trong bối cảnh của các blockchain của tiền mã hóa, các nút có thể đảm nhận các vai trò khác nhau. Ví dụ, các nút đầy đủ là các nút giúp duy trì tính bảo mật cho mạng bang cách xác minh các giao dịch theo các quy tắc đồng thuận (sẽ được trình bày ở mục tiếp theo) của hệ thống. Mỗi nút đầy đủ duy trì một bản sao hoàn chỉnh, cập nhật của blockchain - cho phép họ tham gia vào công việc chung dé xác minh trạng thái thực của số cái phân tán.2 thé hiện cau trúc mạng tập trung va mạng ngang hàng. Cấu trúc ngang hàng của blockchain mang lại tính bảo mật cao hơn so với cấu trúc máy khách-máy chủ truyền thống.

Kẻ tan công bên ngoài có thé tiêu diệt một số lượng lớn các node trong hệ thống nhưng dữ liệu của Blockchain luôn luôn còn tồn tại ở tất cả các node còn tổn tại trên hệ thống. Các node mới có thê tiếp tục kết nối vào hệ thống và phục hồi lại cả hệ thống ở quy mô ban đầu. Do đó Blockchain gần như không thé bị đánh sập và chỉ cần một node còn tôn tại là có thê hồi phục lại cả hệ thống. Điều này giup chống lại các cuộc tan công Từ chối Dịch vụ (DoS) đã được sử dụng dé tan công nhiều hệ thống tập trung.

3) Cơ chế đồng thuận (Consensus Mechanism) Cơ chế đồng thuận là một cơ chế chịu lỗi được sử dụng trong các hệ thống máy tính và blockchain dé đạt được thỏa thuận cần thiết về một giá trị dữ liệu hoặc một trạng thái duy nhất của mạng giữa các quy trình phân tán hoặc hệ thống đa tác nhân. Trong bat kỳ hệ thống tập trung nào, như cơ sở dữ liệu chứa thông tin chính về giấy phép lái xe ở một quốc gia, quản trị viên trung tâm có quyên duy trì và cập nhật cơ sở dữ liệu. Nhiệm vụ thực hiện bất kỳ cập nhật nao — như thêm/ xóa / cập nhật tên của những người đủ điều kiện cho một số giấy phép nhất định — được thực hiện bởi một cơ quan trung ương, người duy nhất chịu trách nhiệm duy trì hồ sơ chính hãng. 11 Các blockchain công cộng hoạt động như các hệ thong phi tập trung, tự điều chỉnh hoạt động trên quy mô toàn cầu mà không có bat kỳ cơ quan nào.

Chúng liên quan đến sự đóng góp của hàng trăm ngàn người tham gia làm việc xác minh và xác thực các giao dịch xảy ra trên blockchain và trên các hoạt động khai thác khối. Trong trang thái thay đối linh hoạt của blockchain, các số cái được chia sẻ công khai này cần một cơ chế hiệu quả, công bằng, thời gian thực, chức năng, đáng tin cậy và an toàn dé đảm bảo răng tat cả các giao dịch xảy ra trên mạng là chính hãng và tat cả người tham gia đồng ý về sự đồng thuận về tình trạng của số cái. Tất cả nhiệm vụ quan trọng này được thực hiện bởi cơ chế đồng thuận, là một bộ quy tắc quyết định sự đóng góp của những người tham gia khác nhau của blockchain. BLOCKCHAIN CONSENSUS ALGORITHM Hình 2.3 Mô hình cơ bản của co chế đồng thuận (nguồn: alamy.3 trình bày một cách tổng quan nhất về cách mà cơ chế đồng thuận vận hành.

Mọi nút tham gia mạng Blockchain đều có quyền bình dang như nhau, do đó cách hoạt động khá giống với nguyên tắc phô thông đầu phiếu, nêu đạt hơn 50% thì thông tin cân xác thực sé được chap nhận và được cập nhật vào Blockchain. 12 Hai thuật toán đồng thuận pho biến e Proof-of-Work (POW) là một thuật toán đồng thuận đầu tiên được tạo ra (2007) và được sử dụng bởi các mạng tiền điện tử phô biến nhất như Bitcoin (SHA256), Litecoin (Scrypt) và Ethereum (Ehash). Dao coin dùng PoW liên quan đến nhiều nỗ lực băm, vì vay khả năng tính toán càng lớn có nghĩa là thực hiện được nhiều phép thử hơn trên mỗi giây. Nói cách khác, thợ đào có tỷ lệ băm cao có cơ hội tốt hơn để tìm một lời giải hợp lệ cho khối tiếp theo.

Thuật toán đồng thuận PoW đảm bảo rằng các miners (thợ mỏ) chỉ có thể xác nhận một khối giao dịch mới và thêm nó vào Blockchain nếu các nút phân tán của mạng đạt được sự đồng thuận và đồng ý rằng hàm băm khối được đưa ra bởi thợ mỏ là một bằng chứng công việc hợp lệ. e© Thuật toán đồng thuận Proof-of-Stake (PoS) được phát triển vào năm 2011 như là một giải pháp thay thế cho PoW. Mặc du PoS và PoW có các mục tiêu giống nhau, chúng có một số khác biệt và đặc thù cơ bản, đặc biệt là trong quá trình xác nhận khối mới. PoS thay thế PoW bằng một cơ chế mà trong đó các khối được xác nhận theo tỷ lệ cô phần của những người tham gia.

Trình xác nhận hợp lệ của mỗi khối được xác định bằng tỉ lệ cổ phần của đồng tiền điện tử chứ không phải bằng lượng công suất tính toán được phân bổ. Mỗi hệ thống PoS có thé thực hiện thuật toán theo nhiều cách khác nhau, nhưng nói chung, blockchain được bảo đảm bằng một quá trình bầu chọn giả ngẫu nhiên dựa trên việc xem xét tài sản của nút và độ tuổi của coin (thời gian các đông coin được khóa hoặc đặt cọc) - cùng với một hệ sô ngẫu nhiên. Blockchain Ethereum hiện đang hoạt động dựa trên thuật toán PoW nhưng các nhà phát triển đã lên kế hoạch sẽ chuyên đổi sang PoS nhờ giao thức Casper sẽ được phát hành nhăm tăng khả năng mở rộng của mạng. Các khái niệm cơ bản của Blockchain 13 1) Node Trong lĩnh vực tiền mã hóa crypto, thi node (nút) được hiểu là một thiết bị trên một mạng Blockchain, là yếu tố nền tảng cho phép công nghệ Blockchain hoạt động và ton tại.

Cac node được phan bồ trong một mạng lưới rộng và thực hiện nhiều tác vụ khác nhau. Một node có thể là bất kỳ thiết bị điện tử nao đang hoạt động, như máy tính, điện thoại hoặc thậm chí máy in, miễn là nó được kết nối với internet và có địa chỉ IP. Vai trò của một node là hỗ trợ mạng lưới bang cách duy trì một ban sao cua một Blockchain, trong một số trường hop, node đó dùng dé xử lý các giao dich. Các node thường được bồ trí theo cau trúc dang cây, được gọi là cây nhị phân.

Mỗi một đồng tiền điện tử có các node riêng, duy trì các bản ghi giao dịch của loại tiên đó.4 Mang lưới các node trong Blockchain Hình 2.4 thé hiện mô hình kết nối của các node theo cấu trúc mạng ngang hàng của mạng Blockchain. Có thể thấy, các node là các phần riêng lẻ của một blockchain, có cau trúc dữ liệu hớn hơn, và khi chủ sở hữu của các node này sẵn sàng đóng gop tai nguyên máy tính của họ để lưu trữ và xác thực các giao dịch, thì họ có cơ hội thu phí giao dịch và kiếm được phần thưởng bằng tiền điện tử. Quy trình này được gọi là “đào tiên ảo” (mining). Việc xử lý các giao dịch này có thê sẽ yêu câu công suât tính toán và 14 xử lý dữ liệu lớn, điều này có nghĩa là khả năng đáp ứng của một máy tính trung bình là không đủ.

Vì vậy, mà các thợ đào đầu tư vào các thiết bị máy tính có CPU (các đơn vị xử lý trung tâm) hoặc GPU (các đơn vị xử lý đồ họa) cực mạnh để theo kịp yêu cầu về công suất xử lý, và xác thực các giao dịch trong blockchain và nhận phần thưởng cho công việc. 2) Block Blockchain gồm các khối (Block) thông tin được liên kết với nhau bằng một chuỗi mã hóa và mở rộng theo thời gian. Mỗi khối (block) đề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. Dữ liệu khi đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được.

Blockchain được thiết kế để chống lại việc gian lận, thay đổi của dữ liệu. Merkle Root Block | Block 2 Block 3 Transactions Transactions Transactions Hình 2.5 Mô hình chuỗi khối trong Blockchain (nguồn: blockgeeks.5 cho ta thấy được sự liên kết giữa các khối với nhau, Block hash của khối này sẽ là Previous hash của khối liền kề tiếp theo. Mỗi hash sẽ được mã hóa bởi một giải thuật tùy thuộc vào mỗi công nghệ tiền ảo. Ví dụ đối với Bitcoin là double SHA256, đối với Litecoin là Scrypt, đối với Ethereum là Ethash.

Chỉ cần một sự thay đổi rất nhỏ cũng sẽ làm các mã hash này bị thay đôi. Do đó, việc bị xâm nhập rất là dễ bị phát hiện. Cấu trúc của một Block gồm 2 phần chính là Block header (tiêu đề khối) và transaction list (danh sách các giao dịch). 15 e_ Block header ghi lại các thông tin mã hóa liên kết với khối liền kề trước đó và thông tin về thời gian nhằm đảm bảo tính toàn vẹn cho hệ thống Blockchain.

Bên cạnh đó, Block header còn chứa các trường thông tin do hệ thống quy định là các điều kiện mà một khối phải thỏa mãn thì mới được thêm vào Blockchain. Qua trình tạo một Block mới được gọi là mining và được thực hiện bởi các miners. Tuy nhiên mỗi công nghệ tiền điện tử sẽ có các trường thông tin khác nhau và sẽ được trình chỉ tiết ở Bảng 2. e Transaction list là nơi lưu trữ các dữ liệu giao dich trong Blockchain.

Số lượng giao dịch được giới hạn bởi kích thước tối đa của khối được quy định trong mã nguồn của Blockchain.

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