1. Trang chủ
  2. » Cao đẳng - Đại học

Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)

60 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Mạng Blockchain Dựa Trên Ethereum Virtual Machine Và Solidity
Tác giả Trương Gia Thạch, Nguyễn Tấn Tiến
Người hướng dẫn ThS. Nguyễn Thị Thanh Trúc
Trường học Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Đồ Án
Năm xuất bản 2022
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 60
Dung lượng 1,77 MB

Cấu trúc

  • A. GIỚI THIỆU CHUNG (7)
    • 1. Tổng quan tình hình nghiên cứu (7)
    • 2. Lý do lựa chọn đề tài (8)
    • 3. Mục tiêu nghiên cứu (8)
  • B. BLOCKCHAIN (9)
    • 1. Giới thiệu (9)
    • 2. Tại sao cần blockchain (9)
      • 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 (9)
      • 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 (10)
    • 3. Lịch sử Blockchain (10)
    • 4. Kiến trúc blockchain (11)
    • 5. Nguyên lý hoạt động của Blockchain (12)
      • 5.1. Nguyên lý mã hoá (12)
      • 5.2. Quy tắc của sổ cái (19)
      • 5.3. Nguyên lý tạo khối (19)
      • 5.4. Thuật toán bảo mật Blockchain (20)
    • 6. Đặc điểm (20)
      • 6.1. Ưu điểm (20)
      • 6.2. Nhược điểm (21)
    • 7. Phân loại (21)
    • 8. Các phiên bản (0)
    • 9. Cơ chế đồng thuận (23)
    • 10. Ứng dụng Blockchain trong đời sống (24)
      • 10.1. Ứng dụng trong ngành công nghiệp và dịch vụ (24)
      • 10.2. Ứng dụng trong ngành nông nghiệp, thủy hải sản (25)
      • 10.3. Ứng dụng Blockchain trong xây dựng (25)
      • 10.4. Ứng dụng blockchain trong vận tải kho bãi (26)
      • 10.5. Ứng dụng trong hoạt động tài chính, ngân hàng và bảo hiểm (26)
      • 10.6. Ứng dụng blockchain trong khai khoáng (27)
  • C. ETHEREUM (29)
    • 1. Giới thiệu chung (29)
      • 1.1. Ethereum là gì ? (29)
      • 1.2. Lịch sử (29)
      • 1.3. Ethereum Blockchain (30)
      • 1.4. Ethereum và Bitcoin (31)
    • 2. Các khái niệm trong Ethereum (31)
      • 2.1. Ether (ETH) (31)
      • 2.2. Web3 (32)
      • 2.3. Ether.js (33)
      • 2.4. Accounts (34)
      • 2.5. Transactions (36)
      • 2.6. Nodes (37)
      • 2.7. GAS (39)
      • 2.8. Máy ảo Ethereum (EVM) (40)
      • 2.9. Geth (Go ethereum ) & Mist (42)
      • 2.10. Parity (43)
    • 3. Hợp đồng thông minh (Smart Contract) (43)
      • 3.1. Smart contract là gì? (43)
      • 3.2. Smart contract hoạt động như thế nào? (44)
      • 3.3. Lợi ích của smart contract (45)
      • 3.4. Ưu nhược điểm (45)
    • 4. Ứng dụng phi tập trung (Dapps) (46)
      • 4.1. Dapps là gì? (46)
      • 4.2. Phân loại Dapps (48)
      • 4.3. Dapps hoạt động như thế nào? (48)
  • D. LẬP TRÌNH SOLIDITY (49)
    • 1. Solidity là gì? (49)
    • 2. Kiểu dữ liệu (49)
    • 3. Contract (51)
    • 4. Phương thức (51)
    • 5. Thuộc tính (53)
    • 6. Các công cụ mà Solidity cung cấp (53)
    • 7. Các trường hợp sử dụng Solidity (54)
    • 8. Ưu điểm và nhược điểm của Solidity (54)
      • 8.1. Ưu điểm của Solidity (54)
      • 8.2. Nhược điểm của Solidity (55)
  • E. ỨNG DỤNG MINH HOẠ (56)
    • 1. Giới thiệu bài toán (56)
    • 2. Kiến trúc hệ thống (56)
    • 3. Công nghệ sử dụng (57)
  • F. KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN (58)
    • 1. Kết quả đạt được (58)
    • 2. Hướng phát triển (58)
  • G. TÀI LIỆU THAM KHẢO (59)

Nội dung

GIỚI THIỆU CHUNG

Tổng quan tình hình nghiên cứu

Sự phát triển của hệ thống web trên Internet đã tạo điều kiện thuận lợi cho việc trao đổi thông tin toàn cầu, trong khi hệ thống blockchain lại hỗ trợ các giao dịch trao đổi giá trị trên nền tảng này Mặc dù hai hệ thống tồn tại song song, nhưng chúng có bản chất khác nhau Kể từ khi Satoshi Nakamoto công bố luận văn về bitcoin vào năm 2009, công nghệ blockchain đã thu hút sự chú ý đáng kể.

Khởi đầu từ giá trị tiền tệ, blockchain đã thu hút sự chú ý chủ yếu về chức năng trao đổi và tích lũy giá trị Tuy nhiên, từ năm 2012-2013, công nghệ blockchain không chỉ dừng lại ở tiền kỹ thuật số mà còn được kỳ vọng mang lại những thay đổi lớn trong cách vận hành kinh doanh và ứng dụng trong lĩnh vực hành chính công.

Trong bối cảnh hiện nay, số lượng ứng dụng sử dụng công nghệ blockchain ngày càng gia tăng Những ứng dụng này không chỉ hoạt động trên hệ thống blockchain mà còn có khả năng tích hợp với các ứng dụng web hiện có Điều này cho thấy blockchain không chỉ là một công nghệ mới mà còn có tiềm năng hỗ trợ hoặc thay thế các công nghệ truyền thống.

Blockchain là công nghệ cho phép thực hiện thanh toán mà không cần ngân hàng hay trung gian, được ứng dụng rộng rãi trong các dịch vụ tài chính như tài sản kỹ thuật số, chuyển tiền và thanh toán Ngoài ra, blockchain còn có tiềm năng ứng dụng trong nhiều lĩnh vực khác, bao gồm 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.

Sự phát triển của Internet đã kéo theo nhiều tổn thất nghiêm trọng từ các cuộc tấn công mạng, ảnh hưởng lớn đến kinh tế và xã hội Theo khảo sát của Grant Thornton, doanh nghiệp ở khu vực Châu Á-Thái Bình Dương đã mất tới 81,3 tỉ đô la do tin tặc trong vòng 12 tháng, cao hơn 20 tỉ USD so với Bắc Mỹ và EU, chiếm hơn 25% tổng tổn thất toàn cầu (315 tỉ USD) Tại Việt Nam, tình trạng mất an toàn thông tin cũng diễn ra, với vụ tấn công vào Vietcombank là một ví dụ điển hình Vụ việc Ngân hàng Trung ương Bangladesh bị đánh cắp 101 triệu USD vào tháng 2/2016 đã gây chấn động toàn cầu, cho thấy tầm quan trọng của việc bảo mật, khi ngân hàng này sử dụng bộ định tuyến cũ và không có hệ thống tường lửa Nếu không có lỗi chính tả từ tin tặc, số tiền tổn thất có thể lên tới hơn 1 tỷ USD.

Trước những rủi ro từ an ninh mạng, các tổ chức tài chính cần áp dụng công nghệ mới như Blockchain, nền tảng của đồng tiền số Bitcoin Công nghệ này không chỉ giúp cắt giảm chi phí ngân hàng mà còn đảm bảo tính an toàn, đồng thời cách mạng hóa các giải pháp bảo mật.

Lý do lựa chọn đề tài

Trong những năm gần đây, công nghệ chuỗi khối (Blockchain) đang trở thành xu hướng

Công nghệ blockchain đang trở thành xu hướng toàn cầu, đặc biệt tại Việt Nam, với tiềm năng ứng dụng lớn trong nhiều lĩnh vực như dịch vụ tài chính, sản xuất, khu vực công, chuỗi cung ứng, giáo dục và năng lượng Ethereum, nền tảng điện toán phân tán mã nguồn mở, nổi bật với khả năng lập trình linh hoạt, cho phép các nhà phát triển tạo ra nhiều loại ứng dụng mới.

Trong suốt quá trình học tập, nhóm chúng em mong muốn khám phá nhiều đề tài khác nhau và tham gia vào các hoạt động trên nhiều nền tảng Chúng em cảm thấy hứng thú và khao khát tìm hiểu về 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.

Mục tiêu nghiên cứu

Mục tiêu của đồ án này là cung cấp cái nhìn tổng quan về công nghệ Blockchain, bao gồm các nền tảng lý thuyết và kỹ thuật chính Đặc biệt, chúng tôi sẽ tập trung vào ứng dụng của hợp đồng thông minh trong công nghệ này Ngoài ra, bài viết cũng sẽ làm rõ vai trò của Ethereum như một nền tảng Blockchain phổ biến và cung cấp ứng dụng minh họa cho công nghệ này.

BLOCKCHAIN

Giới thiệu

Theo cuốn sách "Mastering Bitcoin" của Antonopoulos, Blockchain là công nghệ lưu trữ và truyền tải thông tin qua các khối (block) liên kết với nhau, tạo thành một chuỗi khối (blockchain) theo thời gian Mỗi block chứa thông tin về thời gian khởi tạo và các giao dịch, đồng thời liên kết với các block trước đó thông qua hàm băm (hash) Ngoài ra, block còn được xem là một cấu trúc dữ liệu dạng danh sách liên kết, sử dụng hàm băm con trỏ để chỉ tới block trước đó thay vì sử dụng các con trỏ thông thường.

Blockchain là một chuỗi tuyến tính gồm nhiều khối được kết nối và bảo đảm bằng các bằng chứng mật mã Nó hoạt động như một hệ thống phân tán, với nhiều bản sổ cái phi tập trung, không thuộc quyền kiểm soát của bất kỳ tổ chức nào Mỗi người dùng trong mạng blockchain giữ một bản sao điện tử của dữ liệu, và khi dữ liệu đã được chấp nhận, nó không thể thay đổi Dữ liệu blockchain được cập nhật thường xuyên với các giao dịch mới nhất và đồng bộ hóa với bản sao của người dùng.

Hệ thống phân tán được duy trì bởi sự hợp tác của nhiều người dùng toàn cầu, được gọi là các node mạng, tham gia vào việc xác minh và xác thực giao dịch theo quy tắc của hệ thống, dẫn đến quyền lực phi tập trung Công nghệ Blockchain không chỉ giới hạn trong lĩnh vực tài chính mà còn có thể ứng dụng trong nhiều lĩnh vực khác Trong bối cảnh tiền điện tử, blockchain giữ vai trò quan trọng trong việc lưu trữ hồ sơ vĩnh viễn của tất cả các giao dịch đã được xác nhận.

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ó bị giả mạo do tính phức tạp của con dấu và dấu ấn xuất bản, điều này tạo ra sự khác biệt rõ ràng Giống như việc khắc lên đá, các tài liệu giấy có thời gian tồn tại nhất định, đảm bảo tính xác thực và độ bền của chúng.

Nếu dữ liệu cần được lưu trữ liên tục và giao dịch diễn ra thường xuyên, việc sử dụng tài liệu giấy sẽ gây khó khăn cho hệ thống lưu trữ dữ liệu Điều này là do công việc nhập liệu thủ công bị giới hạn bởi nguồn nhân lực.

Blockchain cung cấp khả năng lưu trữ linh hoạt hơn cho dữ liệu và thông tin, cho phép nhiều bên cùng nhập liệu vào hệ thống Điều này giúp cải thiện sự bảo quản và quản lý dữ liệu trong các mối quan hệ số, tạo ra một nền tảng đáng tin cậy và an toàn cho việc chia sẻ thông tin.

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 để xác thực và ủy quyền giao dịch vì nhiều lý do hợp lý Trong nhiều tình huống, việc giao quyền kiểm soát cho bên thứ ba là quyết định đúng đắn và phù hợp Đặc biệt, khi dữ liệu yêu cầu mức độ bảo mật cao, có thể thực hiện mà không cần kết nối với mạng lưới.

Nếu hạ tầng IT có quá nhiều tài khoản và đăng nhập không đủ để đảm bảo nhận dạng số, công nghệ blockchain có thể là giải pháp hiệu quả cho vấ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 cần lưu ý rằng khách hàng của họ có thể cẩn thận hơn, vì đã gửi đi nhiều thông tin không cần thiết Điều này dẫn đến việc chấp nhận một tỷ lệ phần trăm gian lận trong quá trình giao dịch.

Khóa riêng được mã hóa cho phép thực hiện các giao dịch mà không cần đến hệ thống trung tâm và tài khoản phức tạp, tạo ra mối quan hệ số hiệu quả Trong khi một cơ sở dữ liệu truyền thống có thể tốn hàng triệu đô la để bảo mật các giao dịch tài chính, thì blockchain mang đến cơ hội tiết kiệm chi phí và nâng cao tính bảo mật.

Lịch sử Blockchain

Ý tưởng về công nghệ blockchain đã được giới thiệu từ năm 1991 bởi các nhà nghiên cứu Stuart Haber và W Scott Stornetta, nhằm tạo ra giải pháp tính toán để đánh dấu thời gian cho các văn bản số, ngăn chặn việc thay đổi ngày tháng hoặc can thiệp Hệ thống này sử dụng chuỗi 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 Năm 1992, thiết kế được cải tiến với việc tích hợp cây Merkle, giúp tăng hiệu quả bằng cách cho phép một khối chứa nhiều văn bản Tuy nhiên, công nghệ này không được áp 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.

Vào năm 2004, Hal Finney, một nhà khoa học máy tính và người theo chủ nghĩa mật mã, đã phát triển hệ thống RPoW (Proof Of Work Tái sử dụng) Hệ thống này hoạt động bằng cách nhận một Hashcash không thể thay đổi dựa trên token proof of work, và đổi lại tạo ra một token đã được ký RSA, cho phép trao đổi trực tiếp giữa các cá nhân RPoW đã khắc phục vấn đề 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.

10 máy chủ này được phát triển nhằm giúp người dùng toàn cầu xác minh tính chính xác và liêm chính trong thời gian thực RPoW có thể coi là một thử nghiệm ban đầu, đánh dấu những bước tiến quan trọng trong lịch sử tiền điện tử.

Cuối năm 2008, Satoshi Nakamoto đã công bố cuốn sách trắng giới thiệu Bitcoin, một hệ thống tiền mặt điện tử phi tập trung dựa trên thuật toán proof of work Hashcash Bitcoin sử dụng một giao thức mạng ngang hàng để ngăn chặn việc chi tiêu hai lần, cho phép các thợ đào "đào" Bitcoin và nhận phần thưởng thông qua cơ chế proof-of-work, với sự xác minh từ các node phi tập trung Vào ngày 3 tháng 1 năm 2009, Satoshi Nakamoto đã đào khối Bitcoin đầu tiên và nhận phần thưởng 50 bitcoin Giao dịch Bitcoin đầu tiên diễn ra vào ngày 12 tháng 1 năm 2009, khi Hal Finney nhận 10 bitcoin từ Satoshi Nakamoto.

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].

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

Mã hóa (Hash) của khối hiện tại đóng vai trò như một đặc điểm nhận dạng độc nhất, tương tự như vân tay của con người, đảm bảo rằng mỗi hash đều không trùng lặp.

Các block trong hệ thống Blockchain được kết nối với nhau thông qua mã hash của khối trước đó, tạo thành một chuỗi liên kết chặt chẽ.

Hình 3 Nội dung trong mỗi khối

Nguyên lý hoạt động của Blockchain

Hệ thống Blockchain hoạt động mà không cần sự tin cậy từ bên ngoài, nhờ vào độ tin cậy được đảm bảo thông qua các hàm mã hóa toán học đặc biệt.

Mật mã là phương pháp phát triển kỹ thuật và giao thức nhằm ngăn chặn bên thứ ba truy cập và thu thập thông tin từ các thông điệp riêng tư trong giao tiếp Thuật ngữ mật mã xuất phát từ hai từ Hy Lạp cổ đại: "Kryptos" nghĩa là "ẩn" và "Graphein" nghĩa là "viết" Một số thuật ngữ liên quan đến mật mã bao gồm

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õ

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ã

Để hiểu rõ về cryptography trong blockchain, cần nắm vững các loại mật mã, bao gồm mật mã khóa đối xứng, mật mã khóa bất đối xứng và hàm băm.

Mã hóa khóa đối xứng là phương pháp sử dụng một khóa duy nhất cho cả người gửi và người nhận Tuy nhiên, việc chia sẻ khóa an toàn giữa hai bên có thể gặp khó khăn, dẫn đến rủi ro bảo mật Phương pháp này còn được biết đến với tên gọi là mật mã khóa bí mật.

Mã hóa bất đối xứng, hay còn gọi là mật mã khóa công khai, sử dụng một cặp khóa bao gồm khóa công khai và khóa riêng tư Cặp khóa này được tạo ra bởi một thuật toán duy nhất, trong đó khóa công khai dùng để mã hóa thông tin, còn khóa riêng tư được sử dụng để giải mã Phương pháp này đảm bảo tính bảo mật cao cho dữ liệu.

Hàm băm là một loại mã hóa không sử dụng khóa, mà thay vào đó, nó sử dụng một thuật toán mật mã để tạo ra giá trị băm có độ dài cố định từ dữ liệu gốc Điều này khiến cho việc khôi phục nội dung văn bản thuần túy từ giá trị băm gần như là không thể.

5.1.2 Hàm băm và tầm quan trọng

Băm là quá trình chuyển đổi các chữ cái và ký tự có kích thước không cố định thành đầu ra có kích thước cố định, thông qua các công thức toán học và thuật toán băm Quy trình này đóng vai trò quan trọng trong việc quản lý blockchain trong lĩnh vực tiền điện tử.

Hàm băm mật mã hóa là yếu tố cốt lõi trong tiền mã hóa, giúp blockchain và các hệ thống phân tán duy trì tính toàn vẹn và bảo mật dữ liệu Với sự phổ biến của bảng băm, hầu hết các ngôn ngữ lập trình hiện nay đều cung cấp thư viện ứng dụng bảng băm, thường được gọi là thư viện collection, bao gồm các cấu trúc như tập hợp, danh sách, bảng, ánh xạ và từ điển Các lập trình viên chỉ cần viết hàm băm cho các đối tượng để tích hợp với thư viện bảng băm đã có sẵn.

SHA 256 : kết quả đầu vào bất kỳ cho ra kết quả đầu ra là 256 bit gồm 64 ký tự Nó được sử dụng ở mạng Bitcoin

SHA 3 (Keccak-256): được sử dụng mạng Ethereum Điều kiện của 1 hàm băm tốt:

✔ Các khoá được phân bố đều trong bảng

✔ Ít xảy ra đụng độ

✔ Xử lý được các loại khóa có kiểu dữ liệu khác nhau

- Tầm quan trọng của hàm băm

Các hàm băm truyền thống được sử dụng trong nhiều lĩnh vực như tra cứu cơ sở dữ liệu, phân tích tệp lớn và quản lý dữ liệu Ngược lại, hàm băm mật mã đóng vai trò quan trọng trong bảo mật thông tin, với ứng dụng trong xác thực thông điệp và tạo dấu vân tay kỹ thuật số Trong Bitcoin, hàm băm mật mã không chỉ là phần thiết yếu trong quá trình đào mà còn giúp tạo ra các địa chỉ và khóa mới.

Băm là một công cụ mạnh mẽ để xử lý khối lượng thông tin lớn, cho phép chúng ta chạy tệp hoặc tập dữ liệu qua hàm băm nhằm xác minh tính chính xác và tính toàn vẹn của dữ liệu Tính chất xác định của các hàm băm đảm bảo rằng đầu vào luôn dẫn đến một đầu ra ngắn gọn, giúp đơn giản hóa quá trình lưu trữ và quản lý thông tin.

“ghi nhớ” một lượng thông tin lớn nữa

Băm là một quy trình quan trọng trong công nghệ blockchain, đặc biệt trong hệ thống Bitcoin, nơi nó chủ yếu được sử dụng trong quá trình đào Hầu hết các giao thức tiền mã hóa hiện nay đều dựa vào băm để kết nối và rút gọn các nhóm giao dịch thành các khối, đồng thời tạo ra các liên kết mật mã giữa các khối, từ đó hình thành một blockchain hiệu quả.

Chữ ký số là sự kết hợp giữa kỹ thuật hashing và mã hóa bất đối xứng Đầu vào của thông điệp sẽ được hash trước, sau đó được mã hóa bằng khóa riêng của người gửi Kết quả cuối cùng là chữ ký số, được gửi kèm theo thông điệp.

Bên nhận sử dụng public key của bên gửi để giải mã chữ ký và so sánh với mã hash của thông điệp đã được hash Nếu public key chính xác và việc giải mã thành công, chúng ta có thể xác nhận thông điệp nhận được là từ bên gửi Nếu mã hash khớp với mã hash của thông điệp, điều này đảm bảo tính toàn vẹn của thông điệp Để thực hiện giao dịch trên blockchain, bạn cần một ví tiền điện tử, phần mềm cho phép lưu trữ và trao đổi Bitcoin.

Mỗi chiếc ví tiền điện tử đều được bảo vệ bằng một phương pháp mã hóa đặc biệt, bao gồm một cặp khóa bảo mật duy nhất: khóa riêng tư (private key) và khóa công khai (public key), đảm bảo rằng chỉ bạn mới có quyền chi tiêu các đồng Bitcoin của mình.

Khi một thông điệp được mã hóa bằng khóa công khai, chỉ chủ sở hữu khóa riêng tương ứng mới có thể giải mã nội dung Để gửi Bitcoin, David cần mã hóa thông điệp bằng khóa riêng của ví điện tử, đảm bảo rằng chỉ anh mới có quyền truy cập vào Bitcoin mình sở hữu Mỗi nút trong mạng có khả năng xác minh tính chính xác của yêu cầu giao dịch bằng cách sử dụng khóa công khai của David để giải mã thông điệp.

Hình 5 Digital Signature transaction encryption simplified [22]

5.1.4 Merkle Tree and Merkle Root

Đặc điểm

Công nghệ Blockchain hoạt động như một sổ cái ghi chép tất cả các giao dịch trong hệ thống Những đặc điểm nổi bật của blockchain bao gồm tính minh bạch, bảo mật cao và khả năng phân tán, giúp đảm bảo rằng mọi giao dịch đều được xác thực và không thể bị thay đổi.

Các chuỗi blockchain gần như không thể bị giả mạo hoặc phá hủy Theo lý thuyết, chỉ có máy tính lượng tử mới có khả năng can thiệp và giải mã các chuỗi này Chúng chỉ bị phá hủy hoàn toàn khi không còn internet trên toàn cầu.

Dữ liệu trong blockchain có tính bất biến cao, gần như không thể sửa đổi trừ khi có sự đồng thuận từ các nút trên mạng và chính người tạo ra nó Mỗi node trong mạng đều sao chép và lưu trữ một bản sao của cơ sở dữ liệu, đảm bảo rằng dữ liệu không bị mất và luôn được bảo toàn.

Bảo mật dữ liệu trong chuỗi blockchain đảm bảo thông tin và dữ liệu được phân tán một cách an toàn Chỉ những người sở hữu private key mới có quyền truy cập vào dữ liệu này, tạo ra một hệ thống bảo vệ mạnh mẽ cho thông tin cá nhân và giao dịch.

Blockchain đảm bảo tính minh bạch, cho phép mọi người theo dõi hành trình của dữ liệu từ địa chỉ này sang địa chỉ khác Người dùng có thể dễ dàng thống kê toàn bộ lịch sử giao dịch liên quan đến từng địa chỉ, tạo ra sự tin cậy và minh bạch trong hệ thống.

Hợp đồng thông minh là các hợp đồng kỹ thuật số được lập trình với mã lệnh if-this-then-that (IFTTT), cho phép chúng tự động thực thi mà không cần sự can thiệp của bên thứ ba Công nghệ blockchain hỗ trợ việc này, loại bỏ nhu cầu về trung gian và đảm bảo tính minh bạch cũng như an toàn cho các giao dịch.

Tất cả các bên tham gia đều nắm rõ chi tiết hợp đồng và các điều khoản, với việc tự động thực hiện khi các điều kiện được đảm bảo.

Tấn công 51% là một mối đe dọa tiềm ẩn đối với blockchain, mặc dù công nghệ này được biết đến với tính an toàn cao Cuộc tấn công này xảy ra khi một thực thể kiểm soát hơn 50% sức mạnh của mạng lưới, cho phép họ can thiệp vào các giao dịch bằng cách ngăn chặn hoặc sửa đổi chúng, từ đó làm suy yếu tính toàn vẹn của mạng.

Việc sửa đổi dữ liệu trên Blockchain là rất khó khăn, vì khi dữ liệu đã được thêm vào, việc thay đổi nó trở nên phức tạp Thông thường, việc điều chỉnh dữ liệu hoặc mã Blockchain yêu cầu một hard fork, trong đó chuỗi cũ sẽ bị loại bỏ và một chuỗi mới sẽ được đưa vào sử dụng.

Người dùng cần sở hữu chìa khóa cá nhân để truy cập vào tài khoản blockchain của mình, tựa như việc tự quản lý tài chính cá nhân Nếu chìa khóa này bị mất, người dùng sẽ không thể lấy lại tiền của mình, dẫn đến việc mất mát không thể khôi phục.

Quy trình hoạt động của Blockchain tiêu tốn một lượng lớn điện năng do việc sao chép dữ liệu đến mọi nút trong mạng, dẫn đến sự dư thừa đáng kể.

Hiệu suất của blockchain thường chậm hơn so với các cơ sở dữ liệu tập trung, vì mỗi giao dịch trên blockchain phải được xử lý độc lập bởi tất cả các node trong mạng Điều này bao gồm việc xác nhận chữ ký và đạt được sự đồng thuận giữa các node, dẫn đến thời gian xử lý lâu hơn.

Phân loại

Trong hệ thống Blockchain chia thành 4 loại chính gồm: Public, Private, Permissioned và Hybrid Blockchain [13]

Public blockchain là hệ thống mà mọi người đều có quyền truy cập và ghi dữ liệu Quá trình xác thực giao dịch yêu cầu sự tham gia của hàng nghìn đến hàng vạn nút, khiến cho việc tấn công vào hệ thống trở nên bất khả thi do chi phí cao Ví dụ điển hình của public blockchain bao gồm Bitcoin và Ethereum.

Blockchain riêng tư là hệ thống cho phép người dùng chỉ đọc dữ liệu mà không có quyền ghi, với quyền kiểm soát hoàn toàn thuộc về một bên thứ ba đáng tin cậy Bên thứ ba này có thể quyết định việc cho phép người dùng truy cập dữ liệu và thực hiện mọi thay đổi trên Blockchain Do tính chất của Blockchain riêng tư, thời gian xác nhận giao dịch diễn ra nhanh chóng nhờ vào số lượng thiết bị tham gia xác thực ít Một ví dụ điển hình là Ripple, nơi mà 20% các nút có thể là gian dối, nhưng chỉ cần 80% còn lại hoạt động ổn định để đảm bảo hệ thống hoạt động hiệu quả.

Permissioned blockchains, also known as Consortium blockchains, are a type of Private Blockchain that incorporates additional features They blend the element of "trust" found in Public blockchains with the controlled access and privacy of Private blockchains.

“niềm tin tuyệt đối” khi tham gia vào Private Ví dụ: Các ngân hàng hay tổ chức tài chính liên doanh sẽ sử dụng Blockchain cho riêng mình

Hybrid là một loại blockchain kết hợp các đặc điểm của blockchain riêng tư và công khai, đảm bảo tính ẩn danh trong khi vẫn kết nối với mạng công cộng Nó hoạt động trong một hệ sinh thái khép kín, bảo vệ quyền riêng tư của người dùng nhưng vẫn cho phép giao tiếp với bên thứ ba.

Hiện tại thì công nghệ blockchain có 3 phiên bản chính gồm:

Blockchain 1.0 – Tiền tệ và Thanh toán: Là phiên bản sơ khai và đầu tiên của blockchain, ưng dụng chính của phiên bản này là các công việc liên quan đến tiền mã hoá: bao gồm việc chuyển đổi tiền tệ, kiều hối và tạo lập hệ thống thanh toán kỹ thuật số Đây cũng là lĩnh vực quen thuộc với rất nhiều ngườt nhất, đôi khi khá nhiều người lầm tưởng Bitcoin và Blockchain là một.

Blockchain 2.0 – Tài chính và Thị trường: Đây là phiên bản thứ 2 của blockchain Các vấn đề xảy ra với Bitcoin là khải thác quá lãng phí và thiếu khả năng mở rộng mạng lưới.Với ứng dụng của blockchain 2.0 là xử lý tài chính và ngân hàng: mở rộng quy mô của Blockchain, đưa blockchain tích hợp vào các ứng dụng tài chính và thị trường Các tài sản bao gồm cổ phiếu, chi phiếu, nợ, quyền sở hữu và bất kỳ điều gì có liên quan đến thỏa thuận hay hợp đồng Ethereum ra đời và tạo ra sự khác biệt hơn so với bitcoin đó là vẫn giữ đầy đủ tính chất của hệ thống trao đổi tài sản số nhưng thêm 1 tính năng mới đó là cho phép tự thực thi (smart contract)

Blockchain 3.0 – Thiết kế và Giám sát hoạt động: Hiện tại đây đang là phiên bản cao nhất của blockchain, với phiên bản này, công nghệ Blockchain sẽ vượt khỏi biên giới chỉ phục vụ cho lĩnh vực tài chính, và đi vào các lĩnh vực khác như giáo dục, chính phủ, y tế và nghệ thuật…Blockchain thế hệ thứ 3 kế thừa khái niệm của 2 thế hệ trước và đưa thêm một khả năng mới đó là ứng dụng phân tán (Dapp viết tắt của decentralized application)[28] Dapps được sử dụng lưu trữ phi tập trung và công khai, mã của nó chạy trên một mạng ngang hàng (Peer-to-Peer) Một Dapps có thể có giao diện người dùng được lưu trữ trên các kho lưu trữ phi tập trung và có thể được viết bằng bất kỳ ngôn ngữ nào.

Cơ chế đồng thuận trong Blockchain là phương thức mà các thành viên trong hệ thống đạt được sự đồng ý để thực hiện giao dịch Dưới đây là những loại cơ chế đồng thuận phổ biến trong blockchain.

Bằng chứng Công việc (Proof of Work) là cơ chế đồng thuận phổ biến nhất trong các loại tiền mã hoá như Bitcoin, Ethereum, Litecoin và Dogecoin Tuy nhiên, cơ chế này tiêu tốn một lượng điện năng đáng kể.

Bằng chứng Cổ phần (Proof of Stake) là cơ chế đồng thuận được ưa chuộng trong các loại tiền mã hoá như Decred, Peercoin, và dự kiến sẽ được áp dụng trong Ethereum cùng nhiều đồng tiền khác trong tương lai Cơ chế này mang lại tính phân cấp cao hơn, tiêu thụ ít năng lượng và có khả năng chống lại các mối đe dọa hiệu quả.

Uỷ quyền Cổ phần (Delegated Proof-of-Stake) là cơ chế đồng thuận phổ biến được sử dụng trong các nền tảng như Steemit, EOS và BitShares Cơ chế này nổi bật với chi phí giao dịch thấp, khả năng mở rộng tốt và hiệu suất năng lượng cao Tuy nhiên, nó vẫn có phần tập trung do việc lựa chọn những người đáng tin cậy để thực hiện quyền uỷ quyền.

Bằng chứng Uỷ nhiệm (Proof of Authority) là một cơ chế đồng thuận phổ biến, thường được áp dụng trong POA.Network và Ethereum Kovan testnet Cơ chế này nổi bật với hiệu suất cao và khả năng mở rộng tốt.

Bằng chứng Khối lượng (Proof-of-Weight) là cơ chế đồng thuận phổ biến được áp dụng trong các nền tảng như Algorand và Filecoin Cơ chế này nổi bật với khả năng tùy chỉnh và mở rộng tốt, nhưng việc thúc đẩy sự phát triển của nó vẫn là một thách thức lớn.

Byzantine Fault Tolerance (BFT) là cơ chế đồng thuận phổ biến được sử dụng trong các nền tảng như Hyperledger, Stellar, Dispatch và Ripple BFT mang lại năng suất cao, chi phí thấp và khả năng mở rộng tốt Tuy nhiên, vẫn còn những vấn đề về độ tin cậy cần được cải thiện.

10 Ứng dụng Blockchain trong đời sống

10.1 Ứng dụng trong ngành công nghiệp và dịch vụ

Microsoft và ConsenSys đã hợp tác để cung cấp Ethereum Blockchain dưới dạng Dịch vụ (EBaaS) trên nền tảng Microsoft Azure Sự hợp tác này cho phép khách hàng và nhà phát triển doanh nghiệp có được một môi trường phát triển blockchain thuận lợi và hiệu quả.

Cơ chế đồng thuận

Cơ chế đồng thuận trong Blockchain là phương thức mà các thành viên trong hệ thống đồng ý để thực hiện giao dịch Dưới đây là những loại cơ chế đồng thuận phổ biến trong blockchain.

Bằng chứng Công việc (Proof of Work) là cơ chế đồng thuận phổ biến nhất trong các loại tiền mã hoá như Bitcoin, Ethereum, Litecoin và Dogecoin Mặc dù hiệu quả trong việc bảo mật mạng lưới, cơ chế này tiêu tốn một lượng điện năng đáng kể.

Bằng chứng Cổ phần (Proof of Stake) là cơ chế đồng thuận được sử dụng rộng rãi trong các đồng tiền mã hóa như Decred, Peercoin, và dự kiến sẽ được áp dụng trong tương lai cho Ethereum cùng nhiều loại tiền mã hóa khác Cơ chế này mang lại sự phân cấp cao hơn, tiêu tốn ít năng lượng và có khả năng chống lại các mối đe dọa một cách hiệu quả.

Uỷ quyền Cổ phần (Delegated Proof-of-Stake) là cơ chế đồng thuận phổ biến được áp dụng trong các nền tảng như Steemit, EOS và BitShares Cơ chế này nổi bật với chi phí giao dịch thấp, khả năng mở rộng tốt và hiệu suất năng lượng cao Tuy nhiên, nó vẫn có phần tập trung do thuật toán lựa chọn những người đáng tin cậy để thực hiện quyền uỷ quyền.

Bằng chứng Uỷ nhiệm (Proof of Authority) là một cơ chế đồng thuận phổ biến, thường được áp dụng trong POA.Network và Ethereum Kovan testnet Cơ chế này nổi bật với hiệu suất cao và khả năng mở rộng tốt.

Bằng chứng Khối lượng (Proof-of-Weight) là cơ chế đồng thuận được sử dụng rộng rãi trong các nền tảng như Algorand và Filecoin Cơ chế này không chỉ cho phép tùy chỉnh mà còn mang lại khả năng mở rộng tốt Tuy nhiên, việc phát triển và cải tiến cơ chế này sẽ đối mặt với nhiều thách thức lớn.

Đồng thuận chống gian lận Byzantine là cơ chế đồng thuận được ứng dụng phổ biến trong các nền tảng như Hyperledger, Stellar, Dispatch và Ripple Cơ chế này nổi bật với năng suất cao, chi phí thấp và khả năng mở rộng tốt Tuy nhiên, vẫn còn những vấn đề về độ tin cậy cần được cải thiện.

Ứng dụng Blockchain trong đời sống

10.1 Ứng dụng trong ngành công nghiệp và dịch vụ

Microsoft và ConsenSys đã hợp tác để cung cấp Ethereum Blockchain dưới dạng Dịch vụ (EBaaS) trên nền tảng Microsoft Azure, giúp khách hàng và nhà phát triển doanh nghiệp dễ dàng tiếp cận một môi trường phát triển blockchain hiệu quả.

Google đang phát triển một blockchain độc quyền nhằm hỗ trợ doanh nghiệp, với công ty mẹ Alphabet đang xây dựng một sổ cái phân tán cho phép các bên thứ ba lưu trữ dữ liệu Điều này được cho là liên quan đến các dịch vụ đám mây của Google dành cho doanh nghiệp.

Một dự án tại Fremantle, Úc, đang triển khai công nghệ blockchain để quản lý các hệ thống năng lượng và nước phân tán Các tấm pin mặt trời được lắp đặt trong khu vực có ánh nắng mặt trời để thu điện, năng lượng này sau đó được sử dụng để làm nóng nước Tất cả dữ liệu liên quan đến quá trình này được ghi lại trên blockchain, đảm bảo tính minh bạch và hiệu quả trong việc sử dụng năng lượng.

Ban Năng lượng Quốc gia Chile đã áp dụng công nghệ blockchain để xác thực dữ liệu về việc sử dụng năng lượng trong nước Sáng kiến này nhằm lưu trữ dữ liệu nhạy cảm trên blockchain, góp phần hiện đại hóa và bảo mật cơ sở hạ tầng điện của Chile.

10.2 Ứng dụng trong ngành nông nghiệp, thủy hải sản

Blockchain đang được áp dụng để thúc đẩy đánh bắt cá bền vững, giải quyết vấn đề cá đánh bắt bất hợp pháp trong ngành Công nghệ sổ cái phân tán giúp chứng minh nguồn gốc của cá từ khi đánh bắt, chế biến đến khi bán Chuỗi “net-to-plate” cho phép các thanh tra xác định nguồn gốc cá, liệu chúng có xuất phát từ các khu vực vi phạm nhân quyền hoặc các quốc gia chịu lệnh trừng phạt kinh tế hay không.

Bạn có biết nguồn gốc thực phẩm và quần áo của mình không? Quản lý chuỗi cung ứng là một lĩnh vực phức tạp, thường liên quan đến nhiều bên trung gian từ giai đoạn sản xuất cho đến khi hàng hóa được mua.

Để đảm bảo chất lượng, tính minh bạch và sự tin cậy của sản phẩm từ nhà sản xuất đến tay người tiêu dùng, giải pháp hiệu quả chính là công nghệ blockchain.

Ngành thực phẩm: Ứng dụng Blockchain có khả năng nâng cao tính minh bạch và hiệu quả trong việc xác định nguồn gốc thực phẩm có thể bị ô nhiễm, đồng thời theo dõi vị trí của chúng trong toàn bộ chuỗi cung ứng.

• OriginTrail: Là một nền tảng blockchain cho phép người tiêu dùng biết hàng hóa thực phẩm mà họ mua đến từ đâu và cách chúng được sản xuất

10.3 Ứng dụng Blockchain trong xây dựng

Ukraine là quốc gia tiên phong trong việc áp dụng công nghệ blockchain để thực hiện thỏa thuận tài sản Thỏa thuận này liên quan đến một tài sản được bán bởi Michael Arrington, người sáng lập TechCrunch và là một trong những người ủng hộ tiền điện tử nổi tiếng.

Thỏa thuận này được thực hiện thông qua các hợp đồng thông minh trên blockchain Ethereum, đánh dấu hợp đồng đầu tiên trong chuỗi hợp đồng mà Propy, một công ty khởi nghiệp chuyên về giao dịch bất động sản dựa trên blockchain, dự kiến sẽ hoàn thành.

Nhà điều hành đường sắt Novotrans tại Nga đang áp dụng công nghệ blockchain nhằm nâng cao hiệu quả hoạt động Là một trong những nhà khai thác lớn nhất trong nước, Novotrans sẽ sử dụng blockchain để ghi lại dữ liệu về yêu cầu sửa chữa, hàng tồn kho và các vấn đề vận hành khác Mục tiêu là tạo ra các bản ghi blockchain có khả năng chống giả mạo và bảo vệ dữ liệu tốt hơn.

Chính phủ Georgia đã phát triển một hệ thống blockchain tùy chỉnh nhằm mục đích đăng ký quyền sở hữu đất đai, kết hợp nó với hệ thống hồ sơ kỹ thuật số hiện có.

Cơ quan đăng ký công cộng quốc gia (NAPR) tại Georgia đang khai thác công nghệ blockchain để nâng cao tính minh bạch và giảm thiểu gian lận.

10.4 Ứng dụng blockchain trong vận tải kho bãi

Blockchain là giải pháp lý tưởng để ghi lại dữ liệu vận chuyển, với nhiều dự án đã áp dụng công nghệ sổ cái trong lĩnh vực này Việc sử dụng blockchain trong ngành công nghiệp hậu cần hàng hải giúp tăng cường tính minh bạch, giảm thiểu sự phức tạp của bộ máy quan liêu trong thương mại quốc tế.

IBM và Maersk, hai gã khổng lồ trong ngành công nghiệp, đã hợp tác để phát triển TradeLens, nền tảng blockchain vận chuyển đầu tiên trên thế giới.

10.5 Ứng dụng trong hoạt động tài chính, ngân hàng và bảo hiểm

ETHEREUM

LẬP TRÌNH SOLIDITY

ỨNG DỤNG MINH HOẠ

KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN

Ngày đăng: 16/06/2022, 20:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[13]Available: https://searchcio.techtarget.com/feature/What-are-the-4-different-types-of-blockchain-technology?fbclid=IwAR3gwK9J20SVSeGlIWmfyXO39kujrKiOEFXN1qEOHhBKGX1TxWfar9fOYjA Sách, tạp chí
Tiêu đề: What are the 4 different types of blockchain technology
Tác giả: Christine Campbell
Nhà XB: TechTarget
Năm: 2024
[19] Mastering Bitcoin by Andreas M. Antonopoulos. Available: Mastering Bitcoin (unglueit-files.s3.amazonaws.com) Sách, tạp chí
Tiêu đề: Mastering Bitcoin
Tác giả: Andreas M. Antonopoulos
[9] Công nghệ Blockchain là gì? Ứng dụng thực tế của Blockchain trong cuộc sống – UEH ALumni Khác
[12] Available: Những ứng dụng Blockchain nổi bật đang triển khai trong thực tế (onetech.vn) Khác
[14] Công nghệ blockchain – lập trình solidity | Đồ án môn học UIT Khác
[17] How does a blockchain work - Simply Explained - YouTube Khác
[18] Công nghệ Blockchain là gì? Tại sao lại sử dụng công nghệ Blockchain? (tapchibitcoin.io) Khác
[20]Foundations of Blockchain : the Pathway to Cryptocurrencies and Decentralized Blockchain Applications Khác
[21] Lịch sử ra đời của Blockchain và Bitcoin (otis.report) Khác
[22] How Does the Blockchain Work? A Guide to Everything You Need to Know | OneZero (medium.com) Khác
[26] Blockchain Advantages and Disadvantages | Binance Academy Khác
[27] Tìm hiểu về Công nghệ Blockchain. Các ứng dụng của công nghệ chuỗi khối Khác
[28] Blockchain 1.0, 2.0, 3.0 và tương lai - VietNamCrypto Khác
[29] Paul Kohlhaas - uPort: Self Sovereign Identity in Zug - YouTube Khác

HÌNH ẢNH LIÊN QUAN

Hình 1 Blockchain - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
Hình 1 Blockchain (Trang 9)
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] - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
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] (Trang 11)
Hình 3 Nội dung trong mỗi khối - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
Hình 3 Nội dung trong mỗi khối (Trang 12)
Hình 2.7. Hashing - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
Hình 2.7. Hashing (Trang 14)
Hình 5 Digital Signature transaction encryption simplified [22] - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
Hình 5 Digital Signature transaction encryption simplified [22] (Trang 16)
Hình 6 Phân loại blockchain - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
Hình 6 Phân loại blockchain (Trang 22)
Hình 2.8. Geth (Go ethereum ) & Mist - Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity (báo cáo cuối kì đồ án 1)
Hình 2.8. Geth (Go ethereum ) & Mist (Trang 42)

TỪ KHÓA LIÊN QUAN

w