intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Kỹ thuật: Nghiên cứu Blockchain và ứng dụng vào bài toán phòng chống gian lận trong thi cử

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:71

46
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục đích của Luận văn này là nghiên cứu tổng quan về công nghệ blockchain, nghiên cứu về nguyên tắc hoạt động, ứng dụng của blockchain đối với các hoạt động kinh tế và khoa học của xã hội. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Kỹ thuật: Nghiên cứu Blockchain và ứng dụng vào bài toán phòng chống gian lận trong thi cử

  1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- Lưu Quang Đạt NGHIÊN CỨU BLOCKCHAIN VÀ ỨNG DỤNG VÀO BÀI TOÁN PHÒNG CHỐNG GIAN LẬN THI CỬ LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI – NĂM 2020
  2. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- Lưu Quang Đạt NGHIÊN CỨU BLOCKCHAIN VÀ ỨNG DỤNG VÀO BÀI TOÁN PHÒNG CHỐNG GIAN LẬN THI CỬ Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Đặng Minh Tuấn HÀ NỘI – NĂM 2020
  3. i LỜI CẢM ƠN Lời đầu tiên, em xin được gửi lời cảm ơn sâu sắc tới TS. Đăng Minh Tuấn - người thầy đã luôn tận tình giúp đỡ em định hướng nghiên cứu trong suốt quá trình làm luận văn. Đồng thời, thầy cũng là người truyền đạt cho em rất nhiều những kiến thức bổ ích về các lĩnh vực chuyên môn cũng như các kỹ năng, phương pháp nghiên cứu khoa học. Em xin được cảm ơn các thầy, cô đang công tác giảng dạy tại Khoa Sau đại học – Học viện công nghệ bưu chính viễn thông. Trong suốt quá trình học cao học, em đã được các thầy, cô truyền đạt rất nhiều tri thức quí báu. Em cũng xin được cảm ơn gia đình, người thân và bạn bè của em đã giúp đỡ và hỗ trợ cho em rất nhiều trong suốt thời gian qua.
  4. ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ với đề tài: “NGHIÊN CỨU BLOCKCHAIN VÀ ỨNG DỤNG VÀO BÀI TOÁN PHÒNG CHỐNG GIAN LẬN THI CỬ ” là công trình nghiên cứu của riêng tôi. Các kết quả nghiên cứu trong luận văn là trung thực và chưa từng đuợc công bố trong bất kỳ một công trình nào khác. Hà nội, ngày 25 tháng 06 năm 2020 Học viên Lưu Quang Đạt
  5. iii MỤC LỤC LỜI CẢM ƠN ............................................................................................................ i LỜI CAM ĐOAN ..................................................................................................... ii MỤC LỤC ................................................................................................................ iii DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT ..................... vi DANH MỤC CÁC BẢNG BIỂU .......................................................................... vii DANH MỤC CÁC HÌNH VẼ............................................................................... viii LỜI MỞ ĐẦU ............................................................................................................1 CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN .......................4 1.1. Giới thiệu tổng quan về công nghệ Bockchain ..........................................4 1.2. Nguyên lý cấu tạo của Blockchain ............................................................6 1.2.1. Cấu trúc giao dịch .................................................................................6 1.2.2. Cấu trúc của Block ................................................................................8 1.2.3. Cấu trúc mạng blockchain và mô hình mạng ngang hàng P2P ..........10 1.2.4. Các cơ chế đồng bộ đồng thuận trên blockchain ................................11 1.2.5. Sổ cái và quá trình hình thành block ...................................................12 1.2.6. Hợp đồng thông minh ..........................................................................14 1.3. Phân loại Blockchain ...............................................................................14 1.4. Nền tảng Hyperledger Fabric ...................................................................17 1.4.1. Giới thiệu về Hyperledger ...................................................................17 1.4.2. Hyperledger Fabric .............................................................................18 1.4.3. Kiến trúc của một mạng Hyperleger Fabric .......................................21 1.4.4. Ưu điểm của Hyperledger ...................................................................23 1.5. Ứng dụng của blockchain ........................................................................25 Kết luận chương ....................................................................................................29
  6. iv CHƯƠNG 2: ỨNG DỤNG HYPERLEDER FABRIC TRONG BÀI TOÁN PHÒNG CHỐNG GIAN LẬN THI CỬ................................................................30 2.1. Bài toán phòng chống gian lận trong thi cử .............................................30 2.1.1. Quy trình tổ chức thi ............................................................................30 2.1.2. Đánh giá các nguy cơ gian lận có thể xảy ra trong thi cử ..................33 2.1.3. Đề xuất giải pháp nhằm hạn chế gian lận trong thi cử .......................33 2.1.4. Phạm vi bài toán ..................................................................................35 2.2. Đề xuất mô hình ứng dụng Blockchain vào bài toán phòng chống gian lận thi cử ...............................................................................................................35 2.2.1. Mô hình tổng thể ..................................................................................35 2.2.2. Mạng blockchain .................................................................................37 2.2.3. Ứng dụng web ......................................................................................38 2.2.4. Lớp trung gian .....................................................................................39 2.3. Đề xuất một số công nghệ khác sử dụng để tăng tính khả dụng của ứng dụng 39 2.3.1. Docker .................................................................................................39 2.3.2. Kubernetes ...........................................................................................40 2.3.3. MongoDB.............................................................................................42 Kết luận chương ....................................................................................................42 CHƯƠNG 3: TRIỂN KHAI THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ .......44 3.1. Mô hình triển khai thử nghiệm ................................................................44 3.1.1. Môi trường thử nghiệm ........................................................................44 3.1.2. Xây dựng mạng blockchain dựa trên nền tảng Hyperledger Fabric...44 3.1.3. Xây dựng Lớp trung gian .....................................................................48 3.1.4. Xây dựng ứng dụng web ......................................................................50 3.2. Cài đặt và triển khai thử nghiệm ..............................................................50 3.2.1. Mạng Blockchain .................................................................................50 3.2.2. Lớp trung gian .....................................................................................51
  7. v 3.2.3. Ứng dụng web ......................................................................................53 3.3. Phân tích và đánh giá kết quả ..................................................................55 3.3.1. Kết quả thực nghiệm ............................................................................55 3.3.2. Đánh giá ..............................................................................................57 Kết luận chương ....................................................................................................58 KẾT LUẬN ..............................................................................................................59 TÀI LIỆU THAM KHẢO ......................................................................................60
  8. vi DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT Từ Thuật ngữ tiếng viết tắt/Thuật Thuật ngữ tiếng Việt/Giải thích Anh/Giải thích ngữ Block/Khối Block Chỉ các khối trong blockchain BlockHeader Chỉ tiêu đề của Block Cascading Style Các kỹ thuật phục vụ cho việc thêm CSS Sheets style cho các thành phần của trang web CSDL Database Cơ sở dữ liệu Hash Mã băm Phiên bản mới nhất của HTML, có hỗ HTML5 HTML version 5 trợ một số công nghệ đặc biệt Nền tảng cung cấp môi trường thực thi NodeJS ngôn ngữ Javascript phía server Peer/Node Peer/Node Chỉ các nốt mạng trong blockchain Smart contract Smart contract Hợp đồng thông minh Transaction/Giao Transaction Chỉ giao dịch trong blockchain dịch Đây là 1 khung làm việc Javascript (ngôn ngữ kịch bản phía người dùng) VueJS Javascript framework giúp cho việc phát triển các ứng dụng web một cách nhanh chóng, thuận tiện Là loại ứng dụng chạy trên nền các trình duyệt, được viết bằng ngôn ngữ Web/Website Web/Website HTML, ngôn ngữ kịch bản Javascript, …
  9. vii DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 So sánh các loại blockchain ....................................................................15 Bảng 1.2 So sánh giữa mô hình Bitcoin, Ethereum và Hyperledger Fabric[5] .17
  10. viii DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mô hình Blockchain .....................................................................................4 Hình 1.2 Các block trong Blockchain .........................................................................5 Hình 1.3 Cấu trúc giao dịch trong Blockchain............................................................7 Hình 1.4 Liên kết các block ........................................................................................8 Hình 1.5 Cấu trúc block ..............................................................................................9 Hình 1.6 Block header.................................................................................................9 Hình 1.7 Mô hình tính toán P2P................................................................................10 Hình 1.8 Xử lý đồng thuận ........................................................................................11 Hình 1.9 Quá trình khai thác (mining) [3] ................................................................13 Hình 1.10 Ví dụ hợp đồng thông minh trong mạng blockchain fabcar [10].............14 Hình 1. 11 Identity trong Hyperledger Fabric...........................................................19 Hình 1. 12 Peers trong Hyperledger Fabric ..............................................................20 Hình 1. 13 Prototype đơn giản của một chaincode ...................................................20 Hình 1. 14 Ledger trong Hyperledger Fabric ............................................................21 Hình 1.15 Kiến trúc đơn giản của một mạng Hyperledger Fabric ............................22 Hình 1. 16 Mô hình truy vấn thông tin trong Fabric [7] ...........................................24 Hình 1. 17 Mô hình triển khai Fabric [7] ..................................................................25 Hình 2. 1 Quy trình tổ chức thi .................................................................................30 Hình 2. 2 Luồng dữ liệu thông tin thí sinh ................................................................31 Hình 2.3 Luồng dữ liệu đề thi ...................................................................................32 Hình 2.4 Luồng dữ liệu bài thi ..................................................................................32 Hình 2.5 Mô hình tổng thể ứng dụng ........................................................................36 Hình 2. 6 Luồng dữ liệu trao đổi giữa ứng dụng và mạng blockchain .....................37 Hình 2. 7 Chức năng chính của Ứng dụng web ........................................................38 Hình 2. 8 Kiến trúc lớp trung gian ............................................................................39 Hình 2.9 Mô hình node trong kubernetes .................................................................41
  11. ix Hình 2.10 Kết hợp các node trong kubernetes ..........................................................41 Hình 3. 1 Mô hình mạng blockchain sử dụng Hyperledger Fabric 45 Hình 3. 2 API tương tác với mạng blockchain 46 Hình 3. 3 Kiến trúc lớp trung gian 48 Hình 3. 4 Kiến trúc ứng dụng web 50 Hình 3. 5 Triển khai chaincode lên các node 51 Hình 3.6 Khởi tạo sổ cái 51 Hình 3. 7 Kết quả tạo service lớp trung gian 52 Hình 3. 8 Kết quả replication mongodb 53 Hình 3. 9 Các pods của ứng dụng web sau khi tạo 54 Hình 3. 10 Service sau khi tạo bằng kubernetes 55 Hình 3.11 Giao diện chức năng đăng nhập 55 Hình 3.12 Giao diện chức năng xác thực thông tin 56 Hình 3.13 Giao diện hướng dẫn làm bài thi 56 Hình 3.14 Giao diện chọn môn thi 56 Hình 3.15 Giao diện làm bài thi 57 Hình 3.16 Giao diện nộp bài thi 57
  12. 1 LỜI MỞ ĐẦU Tính cấp thiết của đề tài: Trong những năm gần đây cùng với sự bùng nổ của Internet, cuộc cách mạng công nghiệp lần thứ 4 đang lan tỏa tới mọi lĩnh vực của đời sống, ứng dụng công nghệ thông tin dần thay thế và hỗ trợ con người trong một số công việc mang lại hiệu suất cao hơn, tỉ lệ chính xác cao hơn. Nhiều nên tảng công nghệ mới được công bố và ứng dụng vào thực tế như trí tuệ nhân tạo (Artificial Intelligence - AI), chuỗi khối (Blockchain), … Với mục tiêu đảm bảo tính an toàn, giảm thiểu chi phí, đảm bảo tính minh bạch và xa hơn nữa là cách mạng hóa về các giải pháp bảo mật, nền tảng Blockchain đã được ra đời. Blockchain được định nghĩa là công nghệ xử lý và lưu trữ dữ liệu một cách phi tập trung và an toàn dựa vào hệ thống mã hoá vô cùng phức tạp. Blockchain đang được ứng dụng ngày càng mở rộng trong các lĩnh vực tài chính ngân hàng, logistics, điện tử viễn thông, kế toán kiểm toán ... với những ưu điểm nổi bật. Công nghệ Blockchain có các đặc điểm như không thể làm giả, bất biến, bảo mật, minh bạch, phù hợp để áp dụng vào trong lĩnh vực giáo dục như cấp văn bằng chứng chỉ, tổ chức các kỳ thi quan trọng. Tại Việt Nam, trước thực trạng tình hình gian lận trong thi cử diễn ra vô cùng phức tạp, đặc biệt là trong các kỳ thi quan trọng mang tính chất quyết định như kỳ thi Trung học phổ thông quốc gia. Việc gian lận xảy ra từ chính những người làm công tác tổ chức thi và chấm thi với những thủ đoạn hết sức tinh vi. Điều này đòi hỏi phải có các giải pháp nhằm hạn chế tối đa những sai sót cũng như việc can thiệp trái phép vào kết quả của bài thi, trong đó bao gồm cả những giải pháp nghiệp vụ cũng như cần có các giải pháp công nghệ mang tính đột phát nhằm hạn chế tối đa những gian lận này. Việc đảm bảo tính minh bạch và tin cậy trong kỳ thi là vấn đề vô cùng quan trọng, đây cũng chính là giá trị cốt lõi mà blockchain mang lại. Dựa trên những đặt tính nổi bật của mình, công nghệ Blockchain có thể được áp dụng từ khâu xây dựng ngân hàng câu hỏi, tạo đề thi, thi, nhận kết quả, chấm và công bố
  13. 2 điểm thông qua các hợp đồng thông minh (smart contract). Để làm rõ hơn những điểm mà Blockchain có thể áp dụng được, tôi đã chọn đề tài “Nghiên cứu Blockchain và ứng dụng vào bài toán phòng chống gian lận trong thi cử ” cho luận văn của mình. Mục đích nghiên cứu: Mục đích nghiên cứu của đề tài là nghiên cứu tổng quan về công nghệ blockchain, nghiên cứu về nguyên tắc hoạt động, ứng dụng của blockchain đối với các hoạt động kinh tế và khoa học của xã hội. Nghiên cứu một mô hình, hệ thống Blockchain có khả năng hạn chế tiêu cực trong các kỳ thi. Từ đó xây dựng kịch bản mô phỏng của hệ thống đề xuất nhằm hạn chế tiêu cực trong các kỳ thi. Nội dung nghiên cứu: - Nghiên cứu tổng quan về công nghệ blockchain, các ứng dụng cơ bản trong công nghệ blockchain. - Nghiên cứu vể sổ cái, block, giao dịch trong blockchain. - Nghiên cứu nền tảng Blockchain Hyperledger Fabric và smart contract. - Nghiên cứu và xây dựng mô hình kỳ thi có khả năng hạn chế tiêu cực dựa trên công nghệ Blockchain. Phương pháp nghiên cứu: Tham khảo các công trình nghiên cứu, bài báo, tài liệu chuyên ngành, từ đó đưa ra các kiến thức cơ bản về blockchain. Sử dụng các kiến thức nghiên cứu được để đề xuất mô hình hình ứng dụng. Cài đặt và thử nghiệm thông qua các thực nghiệm để làm rõ các vấn đề cần đạt được trong luận văn. Ý nghĩa khoa học và thực tiễn: Về mặt khoa học, luận văn đã cung cấp các kiến thức cơ bản về blockchain: cấu trúc mạng, block, giao dịch, sổ cái, phân loại các hệ thống blockchain, đi sâu vào phân tích nền tảng Hyperledger Fabric Về mặt thực tiễn, đề tài có đưa ra các hướng ứng dụng blockchain trong đời sống thực tiễn, đặc biệt là khả năng ứng dụng trong lĩnh vực giáo dục. Việc áp dụng blockchain vào lĩnh vực giáo dục sẽ góp phần tạo ra một một kỳ thi minh bạch, an toàn và tin cậy luận văn, mang lại niềm tin cho mọi người vào kết quả của kỳ thi.
  14. 3 Nội dung chính của luận văn Chương 1 Trong chương này sẽ trình bày các kiến thức cơ bản về Blockchain như cấu trúc giao dịch, cấu trúc block và mô hình tính toán đồng thuận trên mạng P2P. Nghiên cứu cơ chế đồng bộ và xử lý đồ thuận, quá trình hình thành block và vào sổ, phân loại các mô hình blockchain. Giới thiệu mô hình private blockchain Hyperleger Fabric và mô hình ứng dụng. Trong chương này cũng nêu ra các ứng dụng của Blockchain trong thực tiễn, khả năng áp dụng trong bài toán phòng chống gian lận thi cử. Chương 2 Chương này, luận văn tập trung phân tích quy trình tổ chức thi và phân tích các gian lận, tiêu cực có thể xảy ra trong một kỳ thi, từ đó xác định các vấn đề cần giải quyết, đồng thời đề xuất mô hình ứng dụng để giải quyết các vấn đề đặt ra. Chương 3 Cuối cùng, chương 3 sẽ tập trung vào vào phân tích và trình bày việc triển khai mô hình ứng dụng blockchain đề xuất vào một kỳ thi cụ thể, đưa ra đánh giá kết quả thực nghiệm.
  15. 4 CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN 1.1. Giới thiệu tổng quan về công nghệ Bockchain Blockchain ban đầu được phát minh và thiết kế bởi Satoshi Nakamoto vào năm 2008 và được thực hiện hóa vào năm sau đó với Bitcoin [3] Blockchain là mô hình tính toán mạng lưới, tổ chức theo mô hình phi tập trung, các nút mạng nối nhau từng nhóm. Blockchain có dữ liệu ghi dưới dạng sổ cái phân tán, đồng bộ nhờ cơ chế đồng thuận. Blockchain được đảm bảo an ninh bằng hàm băm mật mã, chữ ký số và cấu trúc lưu trữ móc xích các khối dữ liệu. Mỗi block chứa đựng các thông tin về thời gian khởi tạo, các thông tin giao dịch và được liên kết với các khối trước đó thông qua con trỏ hash. Blockchain được thiết kế để chống lại sự thay đổi dữ liệu do được thiết kế trên nền tảng dữ liệu phi tập trung. Thông tin các block trong blockchain được đảm bảo toàn vẹn bằng hàm hash và lưu trữ trên tất cả các nút, mỗi nút sẽ chứa thông tin không thể bị thay đổi và chỉ được bổ sung thêm khi có sự đồng thuận của tất cả các nút trong hệ thống. Ngay cả khi nếu một phần của hệ thống blockchain sụp đổ, những máy tính và nút khác sẽ tiếp tục hoạt động để bảo vệ thông tin. Hình 1.1 Mô hình Blockchain
  16. 5 Đặc biệt blockchain có khả năng truyền tải dữ liệu mà không đòi hỏi trung gian để xác nhận thông tin. Hệ thống blockchain bao gồm nhiều nút độc lập có khả năng xác thực thông tin mà không đòi hỏi "dấu hiệu của niềm tin". Về cơ bản blockchain là một chuỗi các máy tính (mỗi máy tính là một node) mà tất cả các nút này phải chấp thuận một giao dịch (nếu giao dịch đó là hợp lệ) trước khi nó có thể được xác nhận và ghi lại. Với blockchain, ngoài việc có thể trỏ tới block trước đó, mỗi block còn có thể lưu giá trị digest (giá trị hash) của khối được trỏ tới. Thông qua việc kiểm tra giá trị hash, chúng ta có thể nhận dạng khối được trỏ tới có bị thay đổi hay không. Cấu trúc blockchain như vậy cho phép chúng ta chỉ cần lưu giá trị của con trỏ chỉ tới khối cuối cùng, đồng thời vẫn kiểm soát được nội dung của các khối còn lại không bị thay đổi. Hình 1.2 Các block trong Blockchain (Nguồn internet) Trong hình trên, hash là mã băm của block hiện tại, previous hash là mã băm của block trước. Ví dụ điển hình cho Blockchain đó là Bitcoin. Bitcoin là một tập hợp các khái niệm và công nghệ tạo nên nền tảng của một mạng lưới tiền mật mã. Tính chất của blockchain Về cơ bản, blockchain có các tính chất dưới đây [6]: Không lặp: Cơ chế đồng thuận phi tập trung của bitcoin đảm bảo rằng không có giao dịch nào bị trùng lặp.
  17. 6 Tính bất biến: Một khi giao dịch được ghi lại trong blockchain và gắn vào các block tiếp theo thì giao dịch trở nên bất biến. Tính bất biến được đảm bảo bởi sức mạnh của năng lực tính toán vì việc viết lại dữ liệu blockchain đòi hỏi chi phí rất lớn cho việc tính toán để tạo ra “Bằng chứng công việc”. Tính trung lập: Mạng bitcoin phi tập trung lan truyền các giao dịch hợp lệ bất kể nguồn gốc hay nội dung của các giao dịch đó. Điều này có nghĩa là bất cứ ai cũng có thể tạo ra một giao dịch hợp lệ với mức chi phí và độ tin cậy phù hợp, giao dịch có thể lan truyền và đưa vào blockchain bất cứ lúc nào. Ngưỡng thời gian an toàn: Các cơ chế đồng thuận từ chối bất kỳ block nào có nhãn thời gian quá xa trong quá khứ hoặc tương lai. Điều này đảm bảo rằng nhãn thời gian trên các block có thể tin cậy được. Nhãn thời gian của một block có ý nghĩa đảm bảo các giao dịch trong block đó. Tính toàn vẹn: Một giao dịch sẽ được ký bởi SIGHASH_ALL hoặc các phần của giao dịch được ký không thể bị sửa đổi mà không có chữ ký, chính vì vậy đảm bảo giao dịch không bị thay đổi trong quá trình truyền đi 1.2. Nguyên lý cấu tạo của Blockchain 1.2.1. Cấu trúc giao dịch Giao dịch (Transaction) là một thành phần quan trọng trong Blockchain – Bitcoin. Mọi thành phần khác đều được thiết kế nhằm đảm bảo rằng các giao dịch có thể được tạo ra, lan truyền trên mạng, xác thực và ghi vào sổ cái (blockchain). Giao dịch là cấu trúc dữ liệu mã hóa hóa sự chuyển giao giá trị giữa các đối tượng trong Blockchain. Mỗi giao dịch là một mục ghi chép công khai trong Blockchain – còn được gọi là sổ cái [4]
  18. 7 Hình 1.3 Cấu trúc giao dịch trong Blockchain (Nguồn dựa trên hình ảnh tại website readthedocs.io) Khi một node hình thành một giao dịch, node đó sẽ gửi giao dịch này tới các node lân cận, từng node trong đó sẽ kiểm tra tính hợp lệ (validate) giao dịch nhận được nếu hợp lệ nó sẽ lưu vào bộ nhớ cục bộ (mempool) và chuyển tiếp giao dịch đó cho những node lân cận của mình, các node lân cận đó lại tiếp tục kiểm tra hợp lệ- lưu vào mempool và chuyển tiếp, cứ như vậy giao dịch được lan truyền đi toàn mạng. Cuối cùng giao dịch sẽ được đóng trong một block nào đó và được đào bởi thợ đào (miner) lúc đó giao dịch mới được xác thực và lưu lại trong sổ cái blockchain. Giao dịch có kích thước khoảng 300-400 bytes (với hệ thống bitcoin). Mỗi một nút trong Blockchain đều phải kiểm tra tính hợp lệ của giao dịch, việc kiểm tra này nhằm nâng cao tính xác thực của chủ sở hữu, tăng tính an toàn cho giao
  19. 8 dịch. Thường trong blockchain sẽ có 2 loại giao dịch đó là Coinbase Transaction và Regular Transaction. 1.2.2. Cấu trúc của Block Mỗi block trong blockchain được xác định bằng một mã băm do thuật toán băm mật mã SHA256 tạo ra trong tiêu đề block (block header). Mỗi block đều chứa mã băm của block trước đó trong tiêu đề của chính nó. Chuỗi các mã băm liên kết từng block tới block trước tạo thành một chuỗi mắt xích đi ngược trở về cho tới block được tạo ra đầu tiên, gọi là block gốc (genesis block). Mỗi block chỉ có một block trỏ đến, có thể có trường hợp rẽ nhánh, 2 block cùng trỏ đến 1 block trước nhưng đến một thời điểm có 1 nhánh dài hơn và khi đó nhánh ngắn hơn sẽ phải xóa bỏ và dữ liệu trên nhánh này phải rollback trở lại. Hình 1.4 Liên kết các block Block bao gồm một tiêu đề để chứa dữ liệu, theo sau là một danh sách giao dịch. Tiêu đề block có kích thước cố định 80 byte, trong khi một giao dịch trung bình chứa
  20. 9 tối thiểu 250 byte và block trung bình chứa hơn 500 giao dịch. Hình 1.5 Cấu trúc block a. Tiêu đề của Block Hình 1.6 Block header Tiêu đề của block bao gồm 3 bộ dữ liệu mô tả. Đầu tiên là một tham chiếu tới một mã băm của block kế trước, liên kết block này với block kế trước trong một mạng blockchain. Bộ siêu dữ liệu thứ hai, được đặt tên là độ khó (difficulty), nhãn thời gian (timestamp), và số nonce (số dùng một lần), số này chính là thông số quan trọng của quá trình miner (đào). Phần dữ liệu thứ 3 là gốc cây merkle, một cấu trúc dữ liệu được sử dụng để ánh xạ toàn bộ giao dịch trong một block. b. Định danh block:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2