Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity...

Tài liệu Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity

.PDF
80
1
94

Mô tả:

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa trên Ethereum Virtual Machine và Solidity Môn học: Đồ án 1 Giảng viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc Sinh viên thực hiện: 19522183 – Trương Gia Thạch 19522339 – Nguyễn Tấn Tiến Thành phố Hồ Chí Minh, tháng 03 năm 2022 ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa trên Ethereum Virtual Machine và Solidity Môn học: Đồ án 1 Giảng viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc Sinh viên thực hiện: 19522183 – Trương Gia Thạch 19522339 – Nguyễn Tấn Tiến Thành phố Hồ Chí Minh, tháng 03 năm 2022 1 NHẬN XÉT CỦA GIÁO VIÊN …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………… 2 LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thị Thanh Trúc, giảng viên hướng dẫn môn đồ án 1, đã trang bị giúp em những kỹ năng cơ bản và kiến thức cần thiết để hoàn thành được đồ án này. Tuy nhiên, dù đã cố gắng rất nhiều để hoàn thành đồ án được kết quả tốt nhất thì trong quá trình làm đồ án do kiến thức chuyên ngành của em còn hạn chế, cũng như sự thiếu sót về kinh nghiệm, nên không thể tránh khỏi một vài thiếu sót khi trình bày và đánh giá vấn đề. Rất mong nhận được sự góp ý, đánh giá của cô để đề tài của chúng em thêm hoàn thiện hơn. Chúng em xin chân thành cảm ơn! 3 DANH MỤC HÌNH ẢNH Hình 1 Blockchain .................................................................................................................. 13 Hình 2 Trong "Khối Nguyên Thủy", Satoshi Nakamoto để lại một thông điệp: "Tờ Times, ngày 03/01/2009, Thủ tướng đứng bên bờ vực phải viện trợ ngân hàng lần thứ hai"[21]. 16 Hình 3 Nội dung trong mỗi khối ............................................................................................ 17 Hình 4 Cryptography ............................................................................................................. 19 Hình 5 Hashing ...................................................................................................................... 20 Hình 6 Digital Signature transaction encryption simplified [22] .......................................... 22 Hình 7 Merkle Tree ví dụ ....................................................................................................... 23 Hình 8 Xác minh giao dịch với Merkle Tree .......................................................................... 25 Hình 9 Phân loại blockchain .................................................................................................. 29 Hình 10 Ứng dụng blockchain trong công nghiệp dịch vụ .................................................... 32 Hình 11 Transforming Food Supply chain with Blockchain and IoT - DreamzIoT ................. 34 Hình 12 TradeLens ................................................................................................................. 36 Hình 13 Ethereum chain........................................................................................................ 41 Hình 14 Tài khoản trên Ethereum ......................................................................................... 48 Hình 15 Transaction trên Ethereum...................................................................................... 49 Hình 16 Node Ethereum ....................................................................................................... 52 Hình 17 Phí gas ...................................................................................................................... 54 Hình 18 Ethereum virtual machine ....................................................................................... 56 Hình 19 Geth (Go ethereum ) & Mist.................................................................................... 57 4 Hình 20 Smart contract ......................................................................................................... 59 Hình 21 Phân loại kiến trúc ................................................................................................... 61 Hình 22 Solidity ..................................................................................................................... 65 Hình 23 Kiểu dữ liệu trong solidity........................................................................................ 67 Hình 24 Kiến trúc hệ thống demo ......................................................................................... 75 5 DANH MỤC BẢNG BIỂU Bảng 1 Ethereum và Bitcoin .................................................................................................. 43 Bảng 2 Web2 và Web3 .......................................................................................................... 45 6 MỤC LỤC Mục lục .............................................................................................................................. 7 GIỚI THIỆU CHUNG .............................................................................................................. 11 1. Tổng quan tình hình nghiên cứu ............................................................................ 11 2. Lý do lựa chọn đề tài .............................................................................................. 12 3. Mục tiêu nghiên cứu .............................................................................................. 12 BLOCKCHAIN ........................................................................................................................ 13 1. Giới thiệu ................................................................................................................ 13 2. Tại sao cần blockchain ........................................................................................... 14 2.1. Dữ liệu động, cần cập nhật liên tục, cần lưu trữ tất cả lịch sử trước đây .................................................... 14 2.2. Thông tin, dữ liệu cần bảo mật cực cao và bạn lo sợ mô hình mạng có trung gian thứ ba không thể đảm bảo an toàn ............................................................................................................................................................. 14 3. Lịch sử Blockchain .................................................................................................. 15 4. Kiến trúc blockchain ............................................................................................... 16 5. Nguyên lý hoạt động của Blockchain ..................................................................... 17 5.1. Nguyên lý mã hoá......................................................................................................................................... 17 5.2. Quy tắc của sổ cái......................................................................................................................................... 25 5.3. Nguyên lý tạo khối ....................................................................................................................................... 25 5.4. Thuật toán bảo mật Blockchain ................................................................................................................... 26 6. Đặc điểm ................................................................................................................ 27 6.1. Ưu điểm ....................................................................................................................................................... 27 6.2. Nhược điểm ................................................................................................................................................. 27 7. Phân loại ................................................................................................................. 28 8. Các phiên bản ......................................................................................................... 30 9. Cơ chế đồng thuận ................................................................................................. 30 7 10. Hệ sinh thái ............................................................................................................ 32 11. Ứng dụng Blockchain trong đời sống..................................................................... 32 11.1. Ứng dụng trong ngành công nghiệp và dịch vụ ......................................................................................... 32 11.2. Ứng dụng trong ngành nông nghiệp, thủy hải sản .................................................................................... 33 11.3. Ứng dụng Blockchain trong xây dựng ........................................................................................................ 34 11.4. Ứng dụng blockchain trong vận tải kho bãi ............................................................................................... 35 11.5. Ứng dụng trong hoạt động tài chính, ngân hàng và bảo hiểm. ................................................................. 36 11.6. Ứng dụng blockchain trong khai khoáng ................................................................................................... 38 ETHEREUM ........................................................................................................................... 40 1. Giới thiệu chung ..................................................................................................... 40 1.1. Ethereum là gì ? ........................................................................................................................................... 40 1.2. Lịch sử .......................................................................................................................................................... 40 1.3. Ethereum Blockchain ................................................................................................................................... 41 1.4. Ethereum và Bitcoin ..................................................................................................................................... 42 2. Các khái niỆm trong Ethereum .............................................................................. 43 2.1. Ether (ETH) ................................................................................................................................................... 43 2.2. Web3 ............................................................................................................................................................ 44 2.3. Ether.js ......................................................................................................................................................... 46 2.4. Accounts ....................................................................................................................................................... 47 2.5. Transactions ................................................................................................................................................. 48 2.6. Nodes ........................................................................................................................................................... 50 2.7. GAS ............................................................................................................................................................... 52 2.8. Máy ảo Ethereum (EVM) .............................................................................................................................. 54 2.9. Geth (Go ethereum ) & Mist ........................................................................................................................ 56 2.10. Parity .......................................................................................................................................................... 57 3. Hợp đồng thông minh (Smart Contract) ................................................................ 57 3.1. Smart contract là gì? .................................................................................................................................... 57 3.2. Smart contract hoạt động như thế nào?...................................................................................................... 58 3.3. Lợi ích của smart contract ............................................................................................................................ 59 3.4. Ưu nhược điểm ............................................................................................................................................ 60 8 4. Ứng dụng phi tập trung (Dapps) ............................................................................ 60 4.1. Dapps là gì? .................................................................................................................................................. 60 4.2. Phân loại Dapps ............................................................................................................................................ 63 4.3. Dapps hoạt động như thế nào? ................................................................................................................... 64 LẬP TRÌNH SOLIDITY ............................................................................................................. 65 1. Solidity là gì? .......................................................................................................... 65 2. Kiểu dữ liệu ............................................................................................................ 66 3. Contract .................................................................................................................. 67 4. Phương thức .......................................................................................................... 68 5. Thuộc tính .............................................................................................................. 70 6. Các công cụ mà Solidity cung cấp .......................................................................... 71 7. Các trường hợp sử dụng Solidity ........................................................................... 71 8. Ưu điểm và nhược điểm của Solidity .................................................................... 72 8.1. Ưu điểm của Solidity .................................................................................................................................... 72 8.2. Nhược điểm của Solidity .............................................................................................................................. 72 ỨNG DỤNG MINH HOẠ ....................................................................................................... 74 1. Giới thiệu bài toán ................................................................................................. 74 2. Kiến trúc hệ thống .................................................................................................. 74 3. Công nghệ sử dụng ................................................................................................ 75 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN .................................................................... 76 1. Kết quả đạt được ................................................................................................... 76 2. Hướng phát triển ................................................................................................... 76 TÀI LIỆU THAM KHẢO .......................................................................................................... 77 9 10 GIỚI THIỆU CHUNG 1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU Sự xuất hiện của hệ thống web dùng trên Internet đã hiện thực hóa việc trao đổi thông tin trên toàn thế giới. Trong khi đó, hệ thống blockchain lại giúp thực hiện các giao dịch trao đổi giá trị toàn cầu trên Internet. Bởi vậy, hai hệ thống này tuy song song tồn tại nhưng lại khác nhau về bản chất. Sau khi Satoshi Nakamoto công bố luận văn về đồng tiền ảo bitcoin vào năm 2009, nền tảng công nghệ của bitcoin – blockchain – đã trở thành tâm điểm chú ý. Với khởi đầu như vậy nên hiển nhiên giá trị tiền tệ của blockchain, tức là chức năng trao đổi và tích lũy giá trị, sẽ được chú ý nhiều nhất. Nhưng từ khoảng năm 2012-2013, không chỉ tiền kỹ thuật số, công nghệ blockchain bắt đầu được kỳ vọng có thể mạng lại thay đổi lớn trong cách vận hành kinh doanh (không chỉ trong ngành tài chính) cũng như ứng dụng trong lĩnh vực hành chính công. Trong xu thế đó, các ứng dụng sử dụng công nghệ blockchain được phát triển ngày càng nhiều. Các ứng dụng này không được sử dụng trên hệ thống blockchain mà còn có khả năng tích hợp vào các ứng dụng hiện có trên web. Điều này có nghĩa là blockchain không chỉ đơn thuần là một công nghệ mới mà nó còn có thể bổ trợ hoặc thay thế các công nghệ hiện hữu. Vì khả năng cho phép hoàn thành thanh toán mà không cần bất kỳ ngân hàng hay trung gian nào, Blockchain được dùng trong các dịch vụ tài chính khác nhau như tài sản kỹ thuật số, chuyển tiền hay thanh toán. Thêm vào đó, nó còn có thể áp dụng cho các lĩnh vực khác như hợp đồng thông minh, dịch vụ công cộng, Internet vạn vật, hệ thống danh tiếng và dịch vụ bảo mật [8]. Sự phát triển của Internet cũng đồng hành với những tổn thất sau các cuộc tấn công mạng, gây ảnh hưởng lớn đến nền kinh tế cũng như xã hội. Theo cuộc khảo sát của hãng phân tích Grant Thornton, khoản tiền mà doanh nghiệp mất vào tay tin tặc ở Châu Á-Thái Bình Dương lên tới 81,3 tỉ đô la trong vòng 12 tháng (tính đến cuối tháng 9/2015). Mức tổn thất từ các đợt tấn công mạng ở châu Á nhiều hơn Bắc Mỹ tới 20 tỉ USD và EU với con số tương tự, và chiếm đến hơn 25% tổng mức tổn thất của thế giới (315 tỉ USD).... Tại Việt Nam cũng xảy ra tình trạng mất an toàn với các tài khoản gửi ngân hàng, điển hình như vụ tấn 11 công vào Vietcombank. Tháng 2/2016, thông tin về việc Ngân hàng Trung ương Bangladesh bị tin tặc đánh cắp 101 triệu USD gây chấn động thế giới là một bài học cho bất cứ tổ chức nào. Sự cố xảy ra được cho là do Ngân hàng nước này sử dụng bộ định tuyến cũ giá 10 USD mà không có bất cứ một hệ thống tường lửa nào. Số tiền tổn thất trong vụ này có thể lên đến hơn 1 tỷ USD nếu như tin tặc không viết sai lỗi chính tả. Từ những rủi ro từ an ninh mạng nên các tổ chức tài chính cần những công nghệ mới, ví dụ như nền tảng của đồng tiền số Bitcoin, chính là Blockchain, được kì vọng không chỉ nhằm cắt giảm chi phí ngân hàng mà còn đảm bảo tính an toàn và xa hơn nữa là cách mạng hóa các giải pháp bảo mật. 2. LÝ DO LỰA CHỌN ĐỀ TÀI Khách quan: Trong những năm gần đây, công nghệ chuỗi khối (Blockchain) đang trở thành xu hướng “hot” trên toàn cầu và tại Việt Nam. Công nghệ này có tiềm năng ứng dụng to lớn trong các ngành từ dịch vụ tài chính, sản xuất và khu vực công cho đến chuỗi cung ứng, giáo dục và năng lượng[9]. Trong đó, Ethereum là nền tảng điện toán phân tán, mã nguồn mở dựa trên công nghệ chuỗi khối (Blockchain) là chuỗi khối có thể lập trình hàng đầu thế giới. Các nhà phát triển có thể sử dụng nó để xây dựng các loại ứng dụng mới. Chủ quan: Trong suốt quá trình học tập, nhóm chúng em muốn được trải nghiệm các đề tài khác nhau và hoạt động trên nhiều nền tảng. Cảm thấy hứng thú và muốn tìm hiểu công nghệ Blockchain nên nhóm em đã lựa chọn tìm hiểu về blockchain và cụ thể là Ethereum và Solidity, nghiên cứu, ứng dụng công nghệ Blockchain trong việc thực hiện các giao dịch. 3. MỤC TIÊU NGHIÊN CỨU Mục tiêu của đồ án này là có một cái nhìn tổng quan về công nghệ BlockChain, biết được các nền tảng lý thuyết và các kỹ thuật chính sử dụng trong BlockChain, đặc biệt là ứng dụng của hợp đồng thông minh trong công nghệ này. Bên cạnh đó hiểu được Ethereum là nền tảng BlockChain đã và đang rất phổ biến và có được ứng dụng minh họa. 12 BLOCKCHAIN 1. GIỚI THIỆU Theo ấn bản “Mastering Bitcoin” của tác giả Antonopoulos, Blockchain được định nghĩa là công nghệ lưu trữ và truyền tải thông tin bằng các khối (block) được liên kết với nhau và mở rộng theo thời gian, do đó được gọi là chuỗi khối (blockchain). 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 thông tin hàm băm (hash) [19]. Block cũng được định nghĩa như một cấu trúc dữ liệu, là một danh sách liên kết sử dụng hàm băm con trỏ thay vì các con trỏ thông thường. Hàm băm con trỏ này được sử dụng để trỏ tới khối trước đó. Hình 1 Blockchain Cụ thể hơn, một blockchain là một chuỗi tuyến tính gồm nhiều khối được kết nối và được bảo đảm bằng các bằng chứng mật mã. Một blockchain thường được xây dựng như một hệ thống phân tán có chức năng như một sổ cái phi tập trung. Điều này có nghĩa là có nhiều bản sổ cái (phân tán) và không có tổ chức nào nắm quyền kiểm soát duy nhất (phi tập trung). Nói một cách đơn giản, mỗi người dùng tham gia vào mạng blockchain sẽ giữ một bản sao điện tử của dữ liệu blockchain. 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. Dữ liệu blockchain được cập nhật thường xuyên tất cả các giao dịch mới nhất và đồng bộ với bản sao của người dùng. Nói cách khác, một hệ thống phân tán được duy trì bởi công việc tập thể của nhiều người dùng trên khắp thế giới. Những người dùng này còn được gọi là các node mạng, và tất cả các node này đều tham gia vào quá trình xác minh và xác thực giao dịch theo các quy tắc của hệ thống. Do đó, quyền lực là phi tập trung. Công nghệ Blockchain cũng có thể được áp dụng trong các lĩnh vực khác không nhất thiết phải có các hoạt động tài chính. Trong bối cảnh tiền điện tử, blockchain có vai trò lưu giữ hồ sơ vĩnh viễn của tất cả các giao dịch đã được xác nhận. 13 2. TẠI SAO CẦN BLOCKCHAIN 2.1. DỮ LIỆU ĐỘNG, CẦN CẬP NHẬT LIÊN TỤC, CẦN LƯU TRỮ TẤT CẢ LỊCH SỬ TRƯỚC ĐÂY Tài liệu giấy khó có thể bị giả mạo bởi vì tính phức tạp của con dấu hoặc dấu ấn xuất bản không thể nhầm lẫn. Như khắc thứ gì đó lên đá, các tài liệu giấy có thời gian tồn tại nhất định. Nhưng nếu dữ liệu phải lưu thông liên tục, nếu giao dịch xảy ra thường xuyên và liên tục, thì việc dùng tài liệu bằng giấy khó có thể giúp hệ thống lưu trữ dữ liệu dễ dàng. Vì công việc nhập liệu thủ công vẫn bị hạn chế về nguồn nhân lực. Do đó, nếu dữ liệu và thông tin lưu trữ trước đây của nó cần thiết trong các mối quan hệ số mà dữ liệu tạo nên, thì blockchain sẽ giúp lưu trữ linh hoạt hơn nhiều bằng cách cho phép nhiều bên khác nhau cùng nhập liệu vào hệ thống lưu trữ và hệ thống này được nhiều phía cùng bảo quản. 2.2. THÔNG TIN, DỮ LIỆU CẦN BẢO MẬT CỰC CAO VÀ BẠN LO SỢ MÔ HÌNH MẠNG CÓ TRUNG GIAN THỨ BA KHÔNG THỂ ĐẢM BẢO AN TOÀN Chúng ta vẫn cần một bên thứ ba chịu trách nhiệm cho việc xác thực và ủy quyền giao dịch theo nhiều lý do. Trong rất nhiều hoàn cảnh, việc để cho bên thứ ba kiểm soát là quyết định đúng đắn và hoàn toàn phù hợp. Nếu dữ liệu phải được bảo mật cực kỳ cao, thì vẫn có cách là không cần kết nối vào mạng lưới. Nhưng nếu cơ sở hạ tầng IT có quá nhiều tài khoản và đăng nhập không đủ để đảm bảo cho việc nhận dạng số, thì khi đó công nghệ blockchain có thể giải quyết được vấn đền này. Khi Satoshi Nakamoto viết bản white paper thần thánh “Bitcoin: Một hệ thống tiền điện tử Peer – to – Peer”[16], có nói rằng: “Doanh nghiệp phải lưu ý khách hàng của mình cần cẩn thận, họ đã gửi đi nhiều thông tin hơn cần thiết. Chúng ta sẽ phải chấp nhận một tỷ lệ phần trăm gian lận.” Private key được mã hóa giúp các giao dịch chuyển đi không cần đến hệ thống tập trung và tài khoản phức tạp để tạo mối quan hệ số. Nếu cơ sở dữ liệu này yêu cầu hàng triệu đô la để bảo mật các giao dịch tài chính, thì đó là cơ hội cho blockchain. 14 3. LỊCH SỬ BLOCKCHAIN Ý tưởng đằng sau công nghệ blockchain được mô tả ngay từ năm 1991 khi các nhà nghiên cứu Stuart Haber và W. Scott Stornetta giới thiệu một giải pháp thực tế về mặt tính toán để đánh dấu thời gian các văn bản số để chúng không bị đề lùi ngày về trước hoặc can thiệp vào[20]. Hệ thống đã sử dụng một chuỗi gồm các khối được bảo mật bằng mật mã để lưu trữ các văn bản được đánh dấu thời gian, và năm 1992, các cây Merkle đã được tích hợp vào thiết kế, khiến nó trở nên hiệu quả hơn bằng cách cho phép một khối có thể tập hợp một vài văn bản. Tuy nhiên, công nghệ này đã không được sử dụng và bằng sáng chế đã hết hạn vào năm 2004, bốn năm trước khi Bitcoin ra đời. Năm 2004, nhà khoa học máy tính và người theo chủ nghĩa mật mã Hal Finney (Harold Thomas Finney II) đưa ra một hệ thống gọi là RPoW, Proof Of Work Tái sử dụng. Hệ thống hoạt động bằng cách nhận một Hashcash không thể thay đổi hoặc không thể thay thế dựa trên token proof of work, và đổi lại đã tạo ra một token đã được ký RSA mà sau đó có thể được trao đổi trực tiếp từ người này sang người khác. RPoW đã giải quyết vấn đề vì tiêu dùng hai lần bằng cách lưu giữ quyền sở hữu các token đã đăng ký trên một máy chủ đáng tin cậy; máy chủ này được thiết kế để cho phép người dùng trên toàn thế giới xác minh tính chính xác và liêm chính trong thời gian thực. RPoW có thể được xem là một thử nghiệm ban đầu và là những bước đầu tiên quan trọng trong lịch sử tiền điện tử. Vào cuối năm 2008, cuốn sách trắng giới thiệu về hệ thống tiền mặt điện tử mạng ngang hàng, phi tập trung – tên là Bitcoin – đã được đăng trên danh sách nhận thư về mật mã học bởi một người hoặc tổ chức lấy biệt danh là Satoshi Nakamoto [16]. Dựa trên thuật toán proof of work Hashcash, nhưng thay vì sử dụng một hàm tính toán dựa trên phần cứng như RPoW, tính năng chống chi tiêu hai lần trong Bitcoin được cung cấp bởi một giao thức mạng ngang hàng để theo dõi và xác thực các giao dịch. Nói ngắn gọn, các thợ đào “đào” Bitcoin để nhận phần thưởng bằng cách sử dụng cơ chế proof-of-work và sau đó xác minh bằng các node phi tập trung trong mạng. Vào ngày 3 tháng 1 năm 2009, Bitcoin ra đời khi Satoshi Nakamoto đào được khối bitcoin đầu tiên, đem lại phần thưởng 50 bitcoin. Người nhận Bitcoin đầu tiên là Hal Finney, ông ta nhận được 10 bitcoin từ Satoshi Nakamoto trong giao dịch bitcoin đầu tiên của thế giới vào ngày 12 tháng 1 năm 2009. 15 Hình 2 Trong "Khối Nguyên Thủy", Satoshi Nakamoto để lại một thông điệp: "Tờ Times, ngày 03/01/2009, Thủ tướng đứng bên bờ vực phải viện trợ ngân hàng lần thứ hai"[21]. 4. KIẾN TRÚC BLOCKCHAIN Một khối block sẽ được lưu trữ gồm 3 phần: • Thành phần dữ liệu (Data): dữ liệu sẽ tùy thuộc vào từng loại blockchain. Chẳng hạn như Blockchain của Bitcoin sẽ chứa giao dịch. • Thành phần mã hóa (Hash): Hash của khối hiện tại như một đặc điểm để nhận dạng. Nó là duy nhất và không trùng nhau giống như vân tay của chúng ta vậy. • Thành phần mã hóa của node trước (Hash of previous block): các block này kết nối với nhau thông qua mã hash của khối block trước tạo thành một chuỗi hệ thống được gọi là Blockchain 16 Hình 3 Nội dung trong mỗi khối 5. NGUYÊN LÝ HOẠT ĐỘNG CỦA BLOCKCHAIN 5.1. NGUYÊN LÝ MÃ HOÁ Hệ thống Blockchain được thiết kế theo cách không yêu cầu sự tin cậy và bảo đảm bởi độ tin cậy có được thông qua các hàm mã hóa toán học đặc biệt.. 5.1.1. CRYPTOGRAPHY - Cryptography Cryptography là một phương pháp phát triển các kỹ thuật và giao thức để ngăn chặn bên thứ ba truy cập và thu thập kiến thức về dữ liệu từ các thông điệp riêng tư trong quá trình giao tiếp. Mật mã cũng được tạo thành từ hai thuật ngữ Hy Lạp cổ đại, Kryptos và Graphein, thuật ngữ trước đây có nghĩa là "ẩn" và sau là "viết". Có một số thuật ngữ liên quan đến mật mã, được nêu như sau: Encryption: Nó là một quá trình chuyển từ bản rõ (văn bản bình thường) sang bản mã (chuỗi bit ngẫu nhiên). Decryption: Quá trình ngược mã hóa, chuyển đổi bản mã sang bản rõ. 17 Cipher: Hàm toán học, tức là một thuật toán mật mã được sử dụng để chuyển bản rõ sang bản mã. Key: Một lượng nhỏ thông tin được yêu cầu để tạo ra kết quả của thuật toán mật mã. - Các loại Cryptography Để hiểu cryptography trong blockchain , người ta phải hiểu các loại mật mã. Có ba cách khác nhau mà chúng ta có thể thực hiện các thuật toán mật mã, đó là mật mã khóa đối xứng, mật mã khóa bất đối xứng và hàm băm. - Symmetric-Key Cryptography: Trong phương pháp mã hóa này, ta đưa một khóa duy nhất, tuy nhiên một khóa đơn chung sẽ tạo ra vấn đề chuyển khóa an toàn giữa người gửi và người nhận. Nó còn được gọi là Mật mã khóa bí mật. - Asymmetric-Key Cryptography: Phương pháp mã hóa này sử dụng một cặp khóa, khóa mã hóa và khóa giải mã, được đặt tên lần lượt là khóa công khai và khóa riêng. Cặp khóa được tạo bởi thuật toán này bao gồm một khóa riêng tư và một khóa công khai duy nhất được tạo bằng cùng một thuật toán. Nó còn được gọi là Mật mã khóa công khai. - Hash Functions: Loại mã hóa này không sử dụng khóa. Nó sử dụng một mật mã để tạo ra một giá trị băm có độ dài cố định từ bản rõ. Gần như không thể khôi phục nội dung của văn bản thuần túy từ bản mã. 18
- Xem thêm -

Tài liệu liên quan