Đồ án ôn tập công nghệ Blockchain - Tin ứng dụng | Trường Đại Học Duy Tân
Trên thực tế, Blockchain đã xuất hiện từ lâu trên thế giới, thậm chí, khảo sát của Diễnđàn Kinh tế Thế giới (WWF) còn đưa ra dự báo đến năm 2025, 10% GDP toàn cầu đượclưu giữ nhờ công nghệ blockchain. Cũng vào năm đó sẽ có những chính phủ thu thuếthông qua công nghệ này
Preview text:
Chương 3.Triển khai & Thực nghiệm
Trên thực tế, Blockchain đã xuất hiện từ lâu trên thế giới, thậm chí, khảo sát của Diễn
đàn Kinh tế Thế giới (WWF) còn đưa ra dự báo đến năm 2025, 10% GDP toàn cầu được
lưu giữ nhờ công nghệ blockchain. Cũng vào năm đó sẽ có những chính phủ thu thuế thông qua công nghệ này.
Tuy nhiên, đây vẫn là khái niệm mới tại Việt Nam và định nghĩa về Blockchain cũng rất
đa dạng. Theo ông Adam Vaziri - Tổng Giám đốc QRC Group: “Blockchain là một cuốn
sổ cái mở và phân tán thông tin”.
Ông Adam Vaziri lấy ví dụ, trước đây, con người có một đĩa mềm sử dụng excel để lưu
trữ thông tin, đây là đĩa mềm đã được dùng cách đây mấy chục năm để lưu trữ thông tin
cá thân, con số... và nhiều thông tin khác. Để có thể chia sẻ thông tin, cần phải gửi và
chuyển, vì thế, người khác phải có phần mềm để mở và đọc.
“Lúc đó, máy tính của họ có thể chỉnh sửa thông tin và họ hoàn toàn có thể tác động vào
file. Điều đó không tốt vì có thể sửa thông tin cá nhân, bảo mật. Rồi sau đó chúng ta sẽ
có file Google sheet, là một bước tiến so với file bình thường", Tổng Giám đốc QRC
Group mô tả lại những cách lưu trữ thông thường.
Tại Việt Nam, dù còn rất mới, nhưng công nghệ này đã được đưa vào chiến lược phát
triển kinh tế số thời gian tới. Cụ thể, blockchain đang được ứng dụng thử nghiệm trong
hai lĩnh vực chính là truy xuất nguồn gốc cho nông sản và logistics.
Theo các chuyên gia, cần phải phân rõ vị trí của từng doanh nghiệp trong chuỗi cung ứng,
từ đó, áp dụng công nghệ quản lý blockchain để đảm bảo thông tin cuối đến tay người
dùng là minh bạch, như vậy, mới tạo giá trị gia tăng cho hàng hóa.
Tuy nhiên, block chain chỉ là một công nghệ và không phải là chiếc máy kiểm tra nói dối.
Bởi vậy, cần có sự tham gia của các đơn vị kiểm soát, đơn vị cung cấp ứng dụng dựa trển
công nghệ này nhưng đến nay chưa có định hướng cụ thể nào dẫn dắt cho hoạt động blockchain
Dưới đây là một ví dụ đơn giản về cách tạo một blockchain trong Excel: - Tạo Sheet cho Blockchain
Mở một workbook Excel mới và tạo một sheet có tên là "Blockchain".
- Tạo Cột cho Thông tin Khối ( Block):
Trong sheet "Blockchain", tạo các cột sau:
Block Index: chỉ số của khối.
Previous Hash: mã hash của khối trước đó.
Data: dữ liệu bạn muốn lưu trữ.
Timestamp: thời gian tạo khối.
Current Hash: mã hash của khối hiện tại.
- Tạo Khối Genesis (Khối Đầu Tiên):
Điền thông tin cho khối đầu tiên (Genesis Block) vào các ô tương ứng. Thông thường,
khối đầu tiên không có khối trước để tham chiếu, vì vậy giá trị của Previous Hash có thể
được đặt là "0" hoặc một giá trị khác tùy thuộc vào cách bạn triển khai. 2. Tạo Công Thức Hash:
Tạo một ô để tính toán mã hash cho mỗi khối bằng cách sử dụng một hàm
hash như SHA-256. Excel không cung cấp sẵn hàm hash, nhưng bạn có thể
sử dụng các cách khác nhau để tạo mã hash, ví dụ như sử dụng các hàm có
sẵn như MD5 hoặc SHA-1 (lưu ý rằng các hàm này không được khuyến
cáo cho mục đích bảo mật cao). 3. Tính Toán Mã Hash:
Trong cột "Current Hash", sử dụng công thức để tính toán mã hash của mỗi
khối dựa trên thông tin khối, bao gồm Index, Previous Hash, Data, và Timestamp.
4. Tạo Các Khối Tiếp Theo:
Sao chép và dán các khối đầu tiên để tạo các khối tiếp theo. Điền thông tin
mới và cập nhật mã hash cho mỗi khối.
5. Kiểm Tra Tính Chất Immutability:
Kiểm tra tính chất không thể thay đổi của blockchain bằng cách sửa đổi
một giá trị trong một khối và xem xét sự thay đổi của mã hash và mã hash của khối kế tiếp.
Trong Excel, hàm CONCATENATE được sử dụng để kết hợp nhiều giá trị thành một
chuỗi. Dưới đây là một ví dụ cụ thể về cách sử dụng hàm CONCATENATE để tạo một
chuỗi đại diện cho thông tin của mỗi khối trong một đơn giản mô phỏng blockchain:
Giả sử bạn có một sheet có tên "Blockchain" với các cột sau: A: Block Index B: Previous Hash C: Data D: Timestamp E: Concatenated String
Và bạn muốn kết hợp thông tin từ cột A đến cột D thành một chuỗi trong cột E.
1. Tạo Cột Concatenated String:
Trong ô E2 (hoặc ô nơi bạn muốn hiển thị chuỗi kết hợp), sử dụng hàm CONCATENATE như sau: =CONCATENATE( A2,B2,C2,D2 ) =CONCATENATE(A2, B2, C2, D2)
Hoặc bạn có thể sử dụng cú pháp ngắn gọn hơn với dấu "&": =A2&B2&C2&D2 =A2&B2&C2&D2
2. Sao chép và dán công thức:
Kéo góc dưới cùng bên phải của ô E2 xuống để sao chép công thức cho tất
cả các dòng trong sheet "Blockchain". Các giá trị trong cột E sẽ tự động cập
nhật dựa trên giá trị tương ứng trong các cột khác.
Như vậy, cột E giờ đây sẽ chứa chuỗi kết hợp của Index, Previous Hash, Data, và
Timestamp cho mỗi khối, giúp tạo ra một dạng mô phỏng đơn giản của thông tin trong
một blockchain. Lưu ý rằng cách này chỉ là một mô phỏng đơn giản và không bao gồm
các tính năng bảo mật và quản lý phiên bản của một hệ thống blockchain thực tế.
Trong Excel, để sử dụng hàm SHA-256, bạn có thể cần sử dụng một Add-In hỗ trợ hàm
băm (hash function). Dưới đây là một ví dụ cụ thể với Add-In "Hash Functions":
Lưu ý: Trong trường hợp này, chúng ta sẽ giả định bạn đã cài đặt Add-In "Hash
Functions". Nếu bạn chưa cài đặt, bạn cần tìm và cài đặt Add-In này trước khi sử dụng.
1. Cài đặt Add-In "Hash Functions":
Trước hết, cài đặt Add-In "Hash Functions". Bạn có thể tìm và tải nó từ
Microsoft AppSource hoặc từ nguồn đáng tin cậy khác. 2. Kết nối Add-In:
Sau khi cài đặt, mở Excel và kết nối Add-In "Hash Functions". Điều này
thường được thực hiện trong mục "Insert" > "Get Add-ins" > "My Add-
ins". Khi Add-In đã được kết nối, bạn có thể sử dụng các hàm liên quan đến băm. 3. Sử dụng Hàm SHA-256:
Giả sử bạn có dữ liệu cần băm trong ô A2. Sử dụng hàm SHA-256 như sau: =HASH.HSA256(A2) =HASH.SHA256(A2)
Điền công thức trên vào một ô (ví dụ, ô B2), và sau đó sao chép nó xuống để áp dụng cho các dòng khác.
Lưu ý rằng cách này sử dụng Add-In "Hash Functions", và cách cài đặt và sử dụng có thể
thay đổi tùy thuộc vào Add-In cụ thể bạn chọn. Đối với môi trường thực tế và bảo mật
cao, việc sử dụng Add-In trong Excel để tạo mã hash có thể không phải là lựa chọn tốt
nhất, và trong trường hợp đó, bạn có thể cần sử dụng ngôn ngữ lập trình khác như Python hoặc JavaScript.
Để mô phỏng và kiểm tra tính hợp nhất (integrity) của một blockchain trong Excel, bạn
có thể sử dụng một số công cụ tính toán cơ bản như hàm SHA-256 và một số hàm so
sánh. Dưới đây là một hướng dẫn chi tiết: 1. Tạo Sheet cho Blockchain:
Mở một workbook Excel mới và tạo một sheet có tên là "Blockchain".
2. Tạo Cột cho Thông tin Khối (Block):
Trong sheet "Blockchain", tạo các cột sau: Block Index (A) Previous Hash (B) Data (C) Timestamp (D) Current Hash (E)
3. Tạo Các Khối Đầu Tiên:
Điền thông tin cho khối đầu tiên (Genesis Block) vào các ô tương ứng.
Previous Hash có thể được đặt là "0" hoặc một giá trị tùy thuộc vào cách bạn triển khai. 4. Tính Toán Mã Hash:
Trong ô E2, sử dụng hàm SHA-256 để tính toán mã hash của mỗi khối dựa
trên thông tin khối, bao gồm Index, Previous Hash, Data, và Timestamp. Sử
dụng Add-In "Hash Functions" nếu cần.
=HASH.SHA256(CONCATENATE(A2,B2,C2,D2))
=HASH.SHA256(CONCATENATE(A2, B2, C2, D2))
5. Kiểm Tra Tính Hợp Nhất (Consistency):
Trong ô E3 và các ô dưới đó, sử dụng hàm IF để kiểm tra tính hợp nhất của mã hash. Ví dụ: =IF(E3=B2, "Valid","Invalid")
=IF(E3 = B2, "Valid", "Invalid")
Công thức này so sánh mã hash của khối hiện tại với Previous Hash của khối trước
đó để kiểm tra tính hợp nhất.
6. Sao Chép Công Thức và Kiểm Tra:
Sao chép công thức từ ô E3 xuống để áp dụng cho tất cả các khối trong
sheet. Các giá trị "Valid" và "Invalid" sẽ xuất hiện tương ứng với tính hợp nhất của mỗi khối.
7. Thay Đổi Dữ Liệu và Kiểm Tra Lại:
Thay đổi một giá trị trong một khối và xem xét sự thay đổi của các giá trị
"Valid" và "Invalid". Blockchain sẽ chỉ được coi là hợp lệ nếu tất cả các giá trị "Valid".
Lưu ý rằng đây chỉ là một mô phỏng đơn giản trong Excel và không cung cấp các tính
năng bảo mật cao như một hệ thống blockchain thực tế. Để hiểu rõ hơn về blockchain và
cách triển khai nó, bạn nên tìm hiểu về các nền tảng và ngôn ngữ lập trình blockchain như Ethereum và Solidity.
Trong mô phỏng blockchain trong Excel, bạn có thể sử dụng hàm VLOOKUP để kiểm
tra tính hợp nhất của dữ liệu giữa các khối. Dưới đây là một ví dụ về cách bạn có thể sử
dụng VLOOKUP để kiểm tra mã hash của khối hiện tại với mã hash của khối trước đó: 1. Tạo Sheet cho Blockchain:
Mở một workbook Excel mới và tạo một sheet có tên là "Blockchain".
2. Tạo Cột cho Thông tin Khối (Block):
Trong sheet "Blockchain", tạo các cột sau: Block Index (A) Previous Hash (B) Data (C) Timestamp (D) Current Hash (E) Validation Result (F)
3. Tạo Các Khối Đầu Tiên:
Điền thông tin cho khối đầu tiên (Genesis Block) vào các ô tương ứng.
Previous Hash có thể được đặt là "0" hoặc một giá trị tùy thuộc vào cách bạn triển khai. 4. Tính Toán Mã Hash:
Trong ô E2, sử dụng hàm SHA-256 để tính toán mã hash của mỗi khối dựa trên thông tin khối.
=HASH.SHA256(CONCATENATE(A2,B2,C2,D2))
=HASH.SHA256(CONCATENATE(A2, B2, C2, D2))
5. Kiểm Tra Tính Hợp Nhất (Consistency) bằng VLOOKUP:
Trong ô F3 và các ô dưới đó, sử dụng hàm VLOOKUP để kiểm tra mã hash
của khối hiện tại với Previous Hash của khối trước đó. Ví dụ:
=IF(ISERROR(VLOOKUP(b3,$E$2:$E$100,1,FALSE)), "Invalid","Valid")
=IF(ISERROR(VLOOKUP(B3, $E$2:$E$100, 1, FALSE)), "Invalid", "Valid")
Công thức này kiểm tra nếu mã hash của khối hiện tại (trong ô B3) có tồn tại trong
cột mã hash của khối trước đó (cột E).
6. Sao Chép Công Thức và Kiểm Tra:
Sao chép công thức từ ô F3 xuống để áp dụng cho tất cả các khối trong
sheet. Các giá trị "Valid" và "Invalid" sẽ xuất hiện tương ứng với tính hợp nhất của mỗi khối.
7. Thay Đổi Dữ Liệu và Kiểm Tra Lại:
Thay đổi một giá trị trong một khối và xem xét sự thay đổi của các giá trị
"Valid" và "Invalid". Blockchain sẽ chỉ được coi là hợp lệ nếu tất cả các giá trị "Valid".
Dưới đây là một số dự án thực tế của blockchain đã được ứng dụng trong Excel
Quản lý dữ liệu tài chính: Công ty có thể sử dụng blockchain để lưu trữ và
xác thực các giao dịch tài chính trong một mạng lưới phân tán. Dữ liệu từ
blockchain có thể được nhập vào Excel để tạo báo cáo tài chính và phân tích tài chính.
Dự Án: Quản lý Liên Kết Tài Chính Trên Blockchain Mục Tiêu:
Xây dựng một hệ thống blockchain để quản lý và theo dõi các giao dịch tài chính giữa
các bên liên quan trong một doanh nghiệp, như nhà cung cấp, khách hàng và ngân hàng.
Các Chức Năng Chính: 1. Quản lý Giao Dịch:
Sử dụng smart contracts để định nghĩa các điều khoản và điều kiện cho các
giao dịch tài chính, như thanh toán hóa đơn, chuyển khoản ngân hàng, và các giao dịch khác. 2. An Toàn và Bảo Mật:
Mã hóa dữ liệu tài chính và sử dụng tính năng bảo mật của blockchain để
đảm bảo tính toàn vẹn và không thể thay đổi của dữ liệu.
3. Quản lý Quyền Truy Cập:
Sử dụng các quy tắc thông minh để quản lý quyền truy cập đối với dữ liệu
tài chính. Ví dụ, chỉ cho phép người dùng được phép xem hoặc chỉnh sửa
những dữ liệu cụ thể.
4. Theo Dõi Liên Kết Tài Chính:
Tích hợp cơ chế theo dõi liên kết giữa các giao dịch tài chính và các sự kiện
liên quan, nhưng không giới hạn trong Excel. Tích Hợp với Excel:
Mặc dù hệ thống chủ yếu là dựa trên các nền tảng blockchain chuyên biệt, nhưng có thể
có tính năng xuất nhập dữ liệu hoặc báo cáo tài chính được tích hợp với Microsoft Excel.
Điều này có thể giúp người dùng thuận tiện hơn trong việc xem và phân tích dữ liệu.
Theo dõi chuỗi cung ứng: Doanh nghiệp có thể sử dụng blockchain để theo dõi chuỗi
cung ứng từ nguồn gốc đến điểm bán hàng cuối cùng. Dữ liệu về chuỗi cung ứng có thể
được nhập vào Excel để tạo bảng thông tin về nguồn gốc và quá trình vận chuyển của các sản phẩm.
1. Tạo một Smart Contract trên Blockchain:
1. Chọn Nền Tảng Blockchain:
Lựa chọn một nền tảng blockchain phù hợp như Ethereum, Binance Smart
Chain, hoặc một nền tảng khác. 2. Tạo Smart Contract:
Sử dụng ngôn ngữ lập trình thông dụng trên blockchain như Solidity (đối
với Ethereum) để tạo smart contract. Smart contract sẽ quản lý thông tin trong chuỗi cung ứng.
3. Kết nối Excel với Smart Contract: 1. Sử dụng API:
Nếu nền tảng blockchain hỗ trợ API, bạn có thể sử dụng Power Query trong
Excel để kết nối với smart contract thông qua API.
2. Web3.js (Đối với Ethereum):
Sử dụng thư viện Web3.js để tương tác với smart contract từ Excel. Cần có
kiến thức về lập trình và Ethereum để thực hiện điều này.
3. Thiết lập Giao Diện Trong Excel: 1 Tạo Trang Tính:
Tạo trang tính Excel để hiển thị thông tin từ smart contract. Sử dụng các
công cụ như công thức Excel hoặc các ô dữ liệu liên kết để hiển thị dữ liệu từ blockchain. 2. Cập Nhật Tự Động:
Sử dụng kịch bản hoặc các công cụ tự động trong Excel để cập nhật thông
tin từ smart contract theo thời gian thực.
4. Bảo mật và Quản lý Quyền Truy Cập: 1. Xác Thực Người Dùng:
Đảm bảo rằng chỉ những người dùng có quyền truy cập được phép sửa đổi
thông tin trên smart contract. 2. Bảo mật Dữ Liệu:
Sử dụng các biện pháp bảo mật như mã hóa để bảo vệ dữ liệu trong chuỗi cung ứng.
Quản lý hợp đồng thông minh: Blockchain có thể được sử dụng để tạo và quản lý các hợp
đồng thông minh tự động. Dữ liệu về các điều khoản hợp đồng và các giao dịch liên quan
có thể được nhập vào Excel để theo dõi và phân tích. Xác thực dữ liệu: Blockchain có thể
được sử dụng để xác thực dữ liệu từ các nguồn khác nhau. Dữ liệu xác thực từ blockchain
có thể được nhập vào Excel để tạo báo cáo hoặc phân tích dữ liệu.
Quản lý danh mục tài sản: Blockchain có thể được sử dụng để quản lý danh mục tài sản
của các quỹ đầu tư hoặc cá nhân. Dữ liệu về các tài sản và giao dịch tài sản có thể được
nhập vào Excel để theo dõi và quản lý danh mục tài sản.
Dự án "ExcelCoin": Đây là một dự án sử dụng công nghệ blockchain để tạo ra một loại
tiền điện tử trong Excel. Người dùng có thể sử dụng ExcelCoin để thực hiện các giao
dịch và thanh toán trong bảng tính Excel.
Dự án "ExcelChain": Dự án này tạo ra một mạng lưới blockchain riêng cho Excel, cho
phép người dùng chia sẻ và quản lý dữ liệu trong các bảng tính Excel một cách an toàn và bảo mật.
Dự án "ExcelToken": Dự án này tạo ra một loại token dựa trên blockchain để thực hiện
các giao dịch và chia sẻ dữ liệu trong Excel. Người dùng có thể sử dụng ExcelToken để
trao đổi dữ liệu và tài sản trong các bảng tính Excel. Link tham khảo: