1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập lớn cơ sơ an toàn thông tin Blockchain PTIT học viện công nghệ bưu chính viễn thông

20 13 1

Đ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

Định dạng
Số trang 20
Dung lượng 66,18 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khảo sát các nền tảng chạy công nghệ chuỗi khối và cài đặt thử nghiệm 1 nền tảng công nghệ chuỗi khối LỜI NÓI ĐẦU Khi thế giới hiện đại đang hướng tới số hóa ở mọi khía cạnh với việc tạ

Trang 1

Tìm hiểu về công nghệ chuỗi khối (Blockchain) và các ứng dụng Khảo sát các nền tảng chạy công nghệ chuỗi khối và cài đặt thử nghiệm 1 nền tảng công nghệ chuỗi khối

LỜI NÓI ĐẦU

Khi thế giới hiện đại đang hướng tới số hóa ở mọi khía cạnh với việc tạo

ra một số lượng lớn các hồ sơ, chứng chỉ kỹ thuật số như chứng chỉ giáo dục, giấy khai sinh, giấy khai tử, giấy phép lái xe, hồ sơ sức khỏe, hồ sơ đăng ký tài sản, quyền sử dụng đất, các thỏa thuận, giao dịch, … yếu tố bảo mật và tính xác thực của thông tin, quản lý thông tin được đặt lên hàng đầu Với khả năng chia

sẻ thông tin, dữ liệu minh bạch, tiết kiệm không gian lưu trữ và bảo mật cao, Blockchain có lẽ là một trong những công nghệ đột phá để quản lý và lưu trữ tài liệu và các hồ sơ khác Nó có thể cung cấp một nền tảng mang tính cách mạng cho lĩnh vực tài chính, sản xuất kinh doanh, giáo dục và các cơ quan chính phủ

để giữ cho dữ liệu nhạy cảm được an toàn và bảo mật

I GIỚI THIỆU VỀ CÔNG NGHỆ BLOCKCHAIN

1.1 Giới thiệu chung

Blockchain (chuỗi khối) là một cơ sở dữ liệu phân cấp lưu trữ

thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và

mở rộng theo thời gian Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm theo thông tin về dữ liệu giao dịch, được thiết kế để chống lại việc thay đổi của dữ liệu

Blockchain được triển khai theo mô hình phân tán (tức là không có kho lưu trữ trung tâm), hệ thống ngang hàng Peer to Peer loại bỏ tất cả mọi khâu trung gian, làm tăng cường an ninh, sự minh bạch và ổn định cũng như giảm thiểu chi phí và lỗi do con người gây ra

Trang 2

Chúng được quản lý bởi những người tham gia vào hệ thống

thường không cần một đơn vị đáng tin cậy chứng thực (như ngân hàng, công ty, chính phủ) Một khối thông tin được thêm vào hệ thống lưu trữ Blockchain thì không có cách nào thay đổi được Chỉ có thể bổ sung thêm khi đạt được sự đồng thuận của tất cả mọi người tham gia mạng 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

1.2 Lịch sử hình thành

Năm 1991, Stuart Haber và W Scott Stornetta tiến hành nghiên cứu về chuỗi khối và giới thiệu một giải pháp được bảo mật bằng mật mã Theo đó các tài liệu có chữ ký kỹ thuật số sẽ được đánh dấu thời gian và không ai có thể thay đổi hoặc can thiệp vào được Đây chính là tiền thân của công nghệ Blockchain Qua thời gian, nhiều nhà khoa học đã dựa vào

ý tưởng này để đưa ra những nghiên cứu khác liên quan đến tiền điện tử

Đến năm 2008, công nghệ chuỗi khối (Blockchain) được phát minh

và thiết kế đầu tiên bởi Satoshi Nakamoto khi mà đồng tiền Bitcoin được giới thiệu ra thế giới Tại thời điểm đó, người ta chỉ biết đến Bitcoin, và công nghệ đứng sau nó thì chưa có tiếng vang như thời điểm hiện giờ

Nhưng từ 2008 đến nay, Blockchain đã được phát triển và cải tiến trở thành một trong những công nghệ đột phá lớn nhất với tiềm năng ảnh hưởng rộng lớn tới mọi ngành nghề, mọi lĩnh vực từ tài chính đến sản xuất kinh doanh, y tế, chính phủ và thậm chí là cả ngành giáo dục

1.3 Các giai đoạn phát triển của Blockchain

Blockchain 1.0 – Tiền tệ và Thanh toán

Ứng dụng chính của phiên bản này là 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 chúng ta nhất mà đôi khi khá nhiều người lầm tưởng Bitcoin và Blockchain là một

Trang 3

Blockchain 2.0 – Tài chính và Thị trường

Ứng dụng xử lý tài chính và ngân hàng: mở rộng quy mô của Blockchain, đưa 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 thông minh

Blockchain 3.0 – Thiết kế và Giám sát hoạt động

Đưa Blockchain vượt khỏi biên giới tài chính, và đi vào các lĩnh vực như giáo dục, chính phủ, y tế và nghệ thuật Ở những lĩnh vực này sẽ

là lại có nhiều loại như physical, digital hay human in nature

Blockchain 4.0 – Tài chính phi tập trung DeFi

Tài chính phi tập trung, thường nói đến các tài sản kỹ thuật số, các hợp đồng thông minh tài chính, các giao thức và các ứng dụng ( DApp ) trên một mạng lưới Blockchain nào đó Hay nói một cách đơn giản hơn

đó là các phần mềm tài chính được xây dựng trên cùng một nền tảng Blockchain và có liên kết lại với nhau

1.4 Đặc điểm của công nghệ Blockchain

Tính bền vững:

Dữ liệu blockchain được lưu trữ trên hàng ngàn thiết bị trên một mạng lưới gồm nhiều node phân tán, hệ thống và dữ liệu có khả năng chống lại lỗi kỹ thuật và các cuộc tấn công

Mỗi node trong mạng có khả năng sao chép và lưu trữ một bản sao của cơ sở dữ liệu nên dữ liệu sẽ không bị mất mà vẫn được bảo toàn Do vậy, không tồn tại điểm yếu cốt tử (SPOF)

Tính bất biến:

Các khối có liên kết với nhau, không thể bị đảo ngược, được đảm bảo bởi các thuật toán mã hóa phức tạp và các cơ chế đồng thuận Có nghĩa là dữ liệu đã được ghi vào blockchain, thì đồng nghĩa với việc thông tin được lưu trữ mãi mãi và không thể xóa và rất khó có thể sửa

Trang 4

được

Tính minh bạch:

Tất cả các dữ liệu lưu trữ trên blockchain có thể được xem xét công khai bởi các bên, tạo sự minh bạch Ai cũng có thể theo dõi được đường

đi của dữ liệu trong blockchain từ địa chỉ này tới địa chỉ khác và có thể thống kê toàn bộ lịch sử trên địa chỉ đó

Tính truy vết cao:

Toàn bộ dữ liệu hệ thống đều được ghi lại và được sắp xếp theo thứ

tự thời gian cung cấp khả năng truy vết một cách dễ dàng vào thời điểm bất kỳ trong lịch sử

Khả năng loại bỏ trung gian:

Dữ liệu được sao lưu, đồng bộ trên nhiều nút và các bản ghi đã đưa lên hệ thống không thể bị thay đổi, do đó có thể loại bỏ được các bên trung gian chứng minh tính toàn vẹn của dữ liệu Từ đó cũng loại bỏ tối

đa được rủi ro từ việc tin tưởng vào một tổ chức duy nhất và giảm chi phí chung và chi phí giao dịch

Hợp đồng thông minh:

Hợp đồng thông minh là các kỹ thuật số được nhúng bởi một đoạn code if-this-then-that (IFTTT) trong hệ thống Cho phép chúng tự thực thi

mà không cần bên thứ ba Nó bảo đảm rằng tất cả các bên tham gia đều biết được chi tiết hợp đồng và các điều khoản sẽ được tự động thực hiện một khi các điều kiện được bảo đảm Điều này giảm sự can thiệp và sai sót của con người

1.5 Phân loại các hệ thống blockchain

Phân chia theo tính công khai, các hệ thống Blockchain hiện tại được chia làm 3 loại:

Trang 5

Public Blockchain (Blockchain công khai)

Public Blockchain là phần mềm mã nguồn mở Cho phép tất

cả mọi người tham gia với tư cách người dùng, thợ đào, nhà phát triển hay đơn giản là thành viên trong cộng đồng ủng hộ

Blockchain công khai được thiết kế với mục đích phi tập trung hoàn toàn Không có sự kiểm soát của bất kỳ cá nhân hay tổ chức nào với các giao dịch được lưu trữ hoặc xử lý trên chuỗi khối

Mọi giao dịch diễn ra trên chuỗi công khai là hoàn toàn minh bạch Bất kỳ ai cũng sẽ có quyền đọc và ghi dữ liệu trên

Blockchain Quá trình xác thực giao dịch trên Blockchain này sẽ đòi hỏi hàng ngàn hàng vạn nút tham gia Do đó nó rất khó để hacker có thể tấn công do chi phí quá cao

Điển hình cho loại Blockchain này là các đồng tiền điện tử như Bitcoin, Ethereum…

Private Blockchain (Blockchain riêng tư)

Private Blockchain là nền tảng sổ cái, nó đặt ra các quy tắc

về việc ai có thể tham gia và ghi dữ liệu vào chuỗi (chúng là những môi trường cần được cấp quyền) Các đơn vị tham gia cần được chấp thuận để gia nhập mạng lưới Giao dịch mang tính riêng tư, tức chỉ có các bên đã tham gia trong hệ sinh thống có quyền xem Người ngoài, đại chúng không thể biết các thông tin giao dịch Thời gian giao dịch nhanh và chỉ cần một lượng nhỏ thiết bị tham gia xác nhận

Chuỗi khối riêng tư đem lại lợi ích lớn cho các doanh

nghiệp Họ là những tổ chức cần hợp tác và chia sẻ dữ liệu trong nội bộ Nhưng không muốn các thông tin nhạy cảm hiện diện trên các chuỗi công khai Loại chuỗi khối này về bản chất là tập trung hơn

Consortium Blockchain hay Permissioned Blockchain

Trang 6

(Blockchain liên kết)

Consortium blockchain là sự kết hợp giữa các chuỗi công khai và riêng tư Thay vì một hệ thống mở trong đó bất kỳ ai cũng

có thể xác nhận các khối hoặc một hệ thống đóng trong đó chỉ một

tổ chức duy nhất chỉ định những người tạo ra các khối, thì chuỗi consortium được quản lý bởi một số các bên có quyền lực ngang nhau hoạt động như các trình xác nhận

Từ đó, các quy tắc của hệ thống rất linh hoạt: khả năng hiển thị của chuỗi có thể giới hạn ở các trình xác nhận, có thể được xem bởi những cá nhân được ủy quyền hoặc bởi tất cả Với điều kiện các trình xác nhận có thể đạt được sự đồng thuận, các thay đổi có thể dễ dàng được đưa ra

Mô hình hợp tác này cung cấp những ứng dụng tốt nhất trong các lợi ích của blockchain Những đơn vị tham gia consortium blockchain có thể bao gồm rất nhiều loại tổ chức Từ các ngân hàng trung ương, các chính phủ, đến các chuỗi cung ứng

II NỘI DUNG

1 Kiến trúc Blockchain (Blockchain Architecture)

Blockchain gồm 1 chuỗi các khối được liên kết chặt chẽ với nhau Mỗi khối Block bao gồm:

- Index: chỉ số, là thứ tự của block, từ 1 đến n

- PrevHash: mã hash của block trước đó

- Timestamp: tem(dấu) thời gian, thời điểm tạo ra của block đó

- Data: dữ liệu, do người dùng nhập vào để lưu trữ

- Hash: là một chuỗi mã đã được mã hóa bằng thuật toán SHA256

- Dữ liệu dùng để mã hoá bao gồm những thông tin của block: index, prevHash, timestamp, data

Trang 7

Hình 2.1: Minh họa blockchain

Mối quan hệ giữa các Block:

- Mỗi khối mới được tạo ra luôn chứa mã hash của khối trước đó, khi thay đổi 1 khối bất kỳ mã hash của nó thay đổi, thuộc tính preHash của khối sau đó không hợp lệ Điều này giúp cho việc phát hiện gian lận trở nên dễ dàng hơn và từ chối các khối thay thế

- Khối đã được tạo không thể sửa đổi -> đảm bảo tính toàn vẹn của thông tin Nếu muốn thay đổi thông tin của khối nào đó phải tạo 1 khối mới liên kết với chuỗi

Có thể tóm tắt quá trình diễn ra bên trong Blockchain như sau: ·

- Mỗi một hoạt động sẽ tương ứng với một giao dịch được tạo thành,

có đầu vào và đầu ra Ngoài ra còn phải có chữ ký kỹ thuật số (khóa riêng của người gửi) ký vào bên trong giao dịch để khẳng định chủ quyền sở hữu ·

- Giao dịch được gửi đến mạng Blockchain và nằm trong hàng đợi để chờ được xuất bản Có thể xác minh tính hợp lệ bằng cách sử dụng khóa chung của người gửi để kiểm tra Nút xuất bản sẽ đảm nhiệm xuất bản giao dịch đó thành khối ·

- Khối phải nắm được giá trị băm của header khối liền trước nó và

Trang 8

của header mà nó đang nắm giữ Giờ đây, khối có thể được thêm vào Blockchain

- Sau khi khối thêm vào trong Blockchain (nói cách khác, nó được ghi vào sổ cái mà nút đó đang giữ), thì nút đó gửi bản sao của sổ cái đến toàn bộ mạng

Hàm băm mật mã

Một thành phần quan trọng của công nghệ Blockchain là sử dụng các hàm băm mật mã cho các hoạt động Băm là một phương pháp áp dụng hàm băm mật mã vào dữ liệu nhằm tạo ra một đầu ra tương ứng duy nhất từ một đầu vào của bất kỳ kích thước (chẳng hạn một tập tin, văn bản hoặc hình ảnh) Nó cho phép các cá nhân chứng minh không có sự thay đổi dữ liệu, kể cả khi chỉ là một sự thay đổi nhỏ của đầu vào (chẳng hạn thay đổi một bit) sẽ dẫn đến kết quả hoàn toàn khác

Hàm băm mật mã (h) có các thuộc tính bảo mật quan trọng sau

a, Với thông điệp đầu vào (bản tin gốc) x, chỉ thu được giá trị duy nhất z =

h(x)

b, Nếu dữ liệu trong bản tin x bị thay đổi hay bị xóa để thành bản tin x’, thì giá trị băm h(x’) ≠ h(x)

Điều này có nghĩa là: hai thông điệp khác nhau, thì giá trị băm của

chúng cũng khác nhau Việc tìm hai thông điệp sao cho x1 ≠ x2 sao cho

hash(x1) = hash(x2) là rất khó.

● Các giá trị từ hàm băm là một chiều, nội dung của bản tin gốc “khó” thể suy ra từ giá trị hàm băm của nó

→ Nghĩa là: với thông điệp x thì “dễ” tính được z = h(x), nhưng lại “khó”

tính ngược lại được x nếu chỉ biết giá trị băm h(x) (Kể cả khi biết hàm băm h).

Một hàm băm mật mã cụ thể được dùng trong triển khai

Trang 9

Blockchain là Secure Hash Algorithm (SHA) với một đầu ra có kích thước 256 bits (SHA-256) SHA-256 có một đầu ra 32 bytes (32 bytes =

256 bits), được thể hiện bởi một chuỗi 64 ký tự cơ số 16 Điều đó có nghĩa là có 2 ❑256❑❑❑ ≈ 10❑77, hoặc 115 792 089 237 316 195 423 570

985 008 687 907 853 269 984 665 640 564 039 457 584 007 913 129 639

936 các giá trị đầu ra có thể có Có thể nhận thấy rằng có vô hạn các giá trị đầu vào và hữu hạn các giá trị đầu ra, có thể nhưng cũng khó xảy ra

xung đột hash(x) = hash(y).

2 Các giải thuật đồng thuận

Thuật toán đồng thuận blockchain có thể được định nghĩa là một cơ chế mà qua đó các nút phân tán trong hệ thống đều đạt được sự đồng thuận Trong cấu trúc truyền thống, sự đồng thuận hiếm khi là vấn đề nhờ vào sự tồn tại của cơ quan trung ương Trái lại, trong một hệ thống phân tán như blockchain, mỗi giao điểm vừa là máy chủ vừa là không gian lưu trữ dữ liệu Vì vậy, mỗi giao điểm phải trao đổi thông tin với giao điểm khác để đạt được sự đồng thuận

Dưới đây là các loại cơ chế đồng thuận phổ biến trong blockchain:

a Proof of Work (Bằng chứng Công việc): Đây là cơ chế đồng

thuận phổ biến nhất, được dùng trong Bitcoin, Ethereum, Litecoin, Dogecoin và hầu hết các loại tiền mã hoá Đây là cơ chế đồng thuận tiêu tốn khá nhiều điện năng

- PoW sẽ lựa chọn một giao điểm để tạo ra khối mới trong mỗi vòng đồng thuận thông qua sự cạnh tranh nỗ lực băm Trong mỗi cuộc cạnh tranh, mỗi giao điểm phải tham gia giải đáp thuật toán Giao điểm nào thành công đầu tiên giành được quyền tạo ra khối mới

- Rất khó để giải thành công một thuật toán PoW Các giao điểm cần không ngừng điều chỉnh giá trị nonce để tìm ra đáp án đúng Quá trình này đòi hỏi rất nhiều nỗ lực băm

- Thuật toán đồng thuận PoW đảm bảo rằng các thợ đào chỉ có thể

Trang 10

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 Sự đồng thuận

ở đây mang ý nghĩa rằng hàm băm khối được đưa ra bởi thợ đào là một bằng chứng công việc hợp lệ

b Proof of Stake (Bằng chứng Cổ phần):Đây là cơ chế đồng thuận

phổ biến trong Decred, Peercoin và trong tương lai là Ethereum và nhiều loại tiền mã hoá khác Cơ chế đồng thuận này phân cấp hơn, tiêu hao ít năng lượng và không dễ gì bị đe doạ

○ Trong PoS, việc lựa chọn giao điểm để tạo ra khối phụ thuộc vào tỷ lệ cổ phần của những người tham gia Chứ không bằng lượng công suất tính toán Điều khác biệt từ PoW là những giao điểm này không cần điều chỉnh nonce nhiều lần Chìa khoá để giải thuật toán nằm ở tỷ lệ cổ phần

○ Thợ đào sẽ đặt cọc tiền vào các giao dịch bằng cách khóa khoản tiền mã hóa đó lại Thợ đào được chọn để hoàn thành block dựa trên nhiều tiêu chí Cụ thể như giá trị mà họ đặt vào mạng lưới so với tổng giá trị của mạng lưới hoặc thời gian mà khoản tiền mã hóa sẽ bị khóa Những tiêu chí này nhằm đảm bảo người thợ đào phù hợp với lợi ích lâu dài của

cả mạng lưới

c Delegated Proof-of-Stake (Uỷ quyền Cổ phần): Đây là cơ chế

đồng thuận phổ biến trong Steemit, EOS, BitShares Cơ chế đồng thuận này có chi phí giao dịch rẻ; có khả năng mở rộng; hiệu suất năng lượng cao Tuy nhiên vẫn một phần hơi hướng tập trung vì thuật toán này lựa chọn người đáng tin cậy để uỷ quyền

d Proof of Authority (Bằng chứng Uỷ nhiệm): Đây là cơ chế đồng

thuận phổ biến thường thấy trong POA.Network, Ethereum Kovan testnet Cơ chế đồng thuận này có hiệu suất cao, có khả năng mở rộng tốt

Ngày đăng: 08/03/2022, 16:02

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w