1.2 Giới thiệu đôi nét về công nghệ blockchain và các thuật ngữ hay gặp Mặc dù có rất nhiều kiểu mạng blockchain nhưng ta có thể hiểu blockchain là nôm na như một cuốn số cái điện tử ghi
Trang 1HOC VIEN CONG NGHỆ BƯU CHINH VIEN THONG
KHOA CONG NGHE THONG TIN
BAO CAO
THUC TAP CO SO
Tìm hiệu công nghé blockchain và ứng
dung trong nganh logistic
Giảng viên hướng din: Nguyén Manh Hung Sinh vién thuc hién: Pham Quang Huy
Trang 2Lich su cap nhat
blockchain là hàm băm và giao dịch
Hoàn thành cơ bản phan giới thiệu công nghệ blockchain ( đã sử
lại nội dung, bỏ sung hình ản minh họa, thiếu phản tiềm năng) Hoàn thành phan gidi thigu vé logistic
Trang 3
LOI CAM ON
Đề hoàn thành được báo cáo thực tap co so nay thi em xin cam on tới phía
thầy Nguyễn Mạnh Hùng đã luôn nhiệt tinh chi dẫn, giảng dạy cho em những
kiến thức đề em có thể hoàn thiện hơn
Em xin gửi lời cảm ơn sâu sắc và chân thành tới giảng viên hướng dẫn
Nhờ thây luôn đìu dắt, giúp đỡ và chỉ bảo tận tình cho em để hoàn thành tốt thực
tập
Em xin chan thanh cam on!
Hà Nội, ngày tháng năm 2024
Trang 4Loim o dau
Trang 5NHAN XET KET QUA THUC TAP CO SO
Trang 6MUC LUC
trang
Chuong 1: Cong nghé blockchain va nganh logistic
Phân 1: Giới thiệu công nghệ blockchain
1.2 Giới thiệu đôi nét về công nghệ bloekchain và các thuật ngữ hay gặp
._ Phân loại blockchain
2.1 Mạng blockchain không yêu câu quyên truy cập ( Permissionless) 2.2 Mang blockchain yéu cau quyên truy cập ( Permissioned) _ Các thành phần của blockchain
3.1 Hàm mã hóa băm( Crypto Hash Functions)
3.2 Giao dich( Transactions)
3.3 Ma hoa chia khoa bat déi ximg( Asymmetric-key Cryptography)
3.4 Dia chi va truy xuat dia chi ( Address and Address Derivation)
3.5 Số cái( Ledger) 3.6 Khoi( Blocks) 3.7 Khéi chudi( Chaining Blocks)
Mô hình đồng thuận
4.1 Mô hình proof of work 4.2 Mô hình proof of stake 4.3 Mô hình round robin 4.4 Mô hình proof of authority/ proof of identity 4.5 Mô hình proof of elapsed
4.6 Những mâu thuẫn xảy ra với số cái và giải pháp
._ Các nhánh của blockchain
5.1 Nhanh mém( Soft Forks) 5.2 Nhanh cimg( Hard Forks) 5.3 Thay đôi mã hóa và các nhánh Hợp đồng thông minh
Tiềm năng của công nghệ blockchain
Phân 2: Logistic và các vần đề của nó
Trang 7DANH MUC CAC TU VIET TAT
Từ viết tắt | Viết đây đủ Giải thích nghĩa
Trang 8
DANH MUC HINH ANH
Trang 9Lời mớ đầu
10
Trang 10CHUONG I: Công nghệ blockchain và ngành logistic
Phần 1: Giới thiệu công nghệ blockchain
1 Tông quan về công nghệ blockchain
1.1 Đôi nét về lịch sử phát triển
Ý tưởng nòng cốt của công nghệ blockchain xuất hiện vào cuối những nam 80 va dau 90 của thê kỷ XX Năm 1989, Leslie Lamport phát triên giao thức Paxos và đến năm 1998 tài liệu nghiên cứu được xuất bản Tài liệu này mô tả một mô hình đồng thuận đề đạt được sự đồng thuận dựa trên hệ thống mạng máy tính Tuy nhiên, công chúng chỉ thực sự chú ý
tới công nghệ này Vào năm 2008 khi Satoshi Nakamoto-một nhân vật bí
ân xuất bản tài liệu với tựa đề “Bitcoin: A peer to peer electronic cash system” va dén nam 2009 mạng tiền mã hóa Bitcoin được giới thiệu gây
ra một cơn sốt tiền mã hóa( thường được gọi là tiền ảo ở Việt Nam) kéO dài từ đó đến tận hiện tại Tuy nhiên trong báo cáo lần nay, chung ta không nói về tiền mã hóa hay tiền điện tử, tiên ảo Bởi tiền mã hóa chỉ là ứng dụng của công nghệ blockchain — cấu trúc bên đưới Trong báo cáo này, chúng ta sẽ tìm hiểu về bản chất công nghệ blockchain và những ứng dụng của nó, cụ thể trong trường hợp này là lĩnh vực logistic 1.2 Giới thiệu đôi nét về công nghệ blockchain và các thuật ngữ hay gặp Mặc dù có rất nhiều kiểu mạng blockchain nhưng ta có thể hiểu blockchain là nôm na như một cuốn số cái điện tử ghi lại lịch sử giao dịch được cải đặt phân tán trong mạng thông qua máy tính và mạng
internet Blockchain nghĩa đen là một chuỗi ( chain) các khối( block) Số
cái này sẽ bao gồm các khối dữ liệu được nối với nhau Mỗi khối sẽ chứa
dữ liệu giao dịch được mã hóa Ở đầu mỗi khối( block header) sẽ bao gồm kiêu đữ ligu(meta data) được chứa trong khối và một chuỗi ký tự
mã hóa đề liên kết với các khối tiếp theo( trừ khối đầu tiên) Mỗi giao dịch tham gia bởi một hay nhiều người dùng trong mạng Và được ghi lại Người dùng sử dụng khóa công khai( public key) và khóa riêng tư( private key) để ký và đảm bảo giao dịch trong hệ thông.Ở cấp bậc cơ ban, nó cho phép cộng đồng người sử dụng ghi lại lịch sử các giao dich trong một sô cái được chia sẻ - nghĩa là mỗi người trong cộng đồng đều
có một bản sao số cái chứa toàn bộ các giao dịch trong cộng đồng Mỗi giao dịch được ghi lại trong số cái sẽ không thê bị sửa đôi một ghi chúng được ghi lại Khi một khối mới được thêm vào trong chuỗi, các khối trước đó cảng trở nên khó bị thay đôi và các xung đột trong hệ thống sẽ được giải quyết bằng những luật đã định trước.Băng các kỹ thuật mã hóa
và tính phân tán của mình, blockchain trở nên vững chắc trước những nỗ lực của các tác nhân bên ngoài muốn thay đối lịch sử giao dịch của số
Trang 11sỐ cái sẽ không bị giả mạo Mọi dữ liệu được ghi vào số đều được chứng thực
một bản sao của sô cái Điều đó đảm bảo tính minh bạch giữa
Các nút(node) trong mạng
- _ Phân tán( distributed): blockchain có thể được phân tán Điều nay cho phép gia tăng các node trong mạng đảm bảo khi có cuộc tân công từ các tác nhân bên ngoài vào hệ thống thì hệ thống vẫn sẽ tiếp tục hoạt động
Một số khái niệm sẽ được sử dụng thường xuyên trong báo cáo này:
- _ Blockchain: một số cái
- _ Công nghệ blockchain: khái niệm mô tả chung nhất của công nghệ
+ Nốt đầy đủ: một điểm chứa toàn bộ blockchain, đảm bảo mội giao dịch là hợp lệ
+ Nốt xuất bản: một nốt đầy đủ tạo ra một block mới + Nốt nhẹ: nột nốt không chứa blockchain mà đóng vai trò chuyên giao dịch tới các nốt đầy đủ
2 Phan loai mang blockchain
2.1 Mang blockchain không yêu cau quyén truy cap ( Permissionless) Mạng blockchain không yêu cầu quyền truy cập là một nên tảng ở đó chứa một sô cái phi tập trung mở cho phép mọi người dùng trong hệ thống truy cập mà không cân sự cho phép của các bên có thâm quyên Nền tảng này thường được sử dụng trong các phần mềm mở, có san với bất kỳ ai có mong muốn tải xuống Bởi vì bất kỳ ai cũng có quyền công
bố một khối, điều này dẫn tới việc bất kỳ ai cũng có thê đọc và viết vào
số cái Do mạng blockchain kiêu này mở với bất kỳ người tham gia, người dùng độc hại có thê cô gắng tạo ra những khối dữ liệu lật đồ toàn
hệ thông Đề ngăn chặn điều này, mạng blockchain thường triển khai cơ chế đồng thuận yêu cầu người dùng cung cấp chỉ phí hoặc duy trì nguồn khi cố găng tạo ra các khối mới Điều này ngăn ngừa những người dùng độc hại khỏi việc lật đồ hệ thông một cách dễ dàng Cơ chế đồng thuận trong mạng blockchain không yêu cầu quyền truy cập thường thúc đây người dùng có hành vĩ đúng dan bang việc trao thưởng thông quan một đơn vị tiền tệ nội địa trong hệ thống
2.2 Mạng blockchain yêu câu quyên truy cập ( Permissioned) Trái với mạng blockchain không yêu cầu quyền truy cập, mạng blockchain này yêu cầu người tạo ra khối đữ liệu phải có sự cho phép của một số bên có thầm quyên Bởi chỉ có những người dùng được ủy quyên tham gia duy trì chuỗi blockchain Nó hạn chế việc truy cập va đọc dữ liệu từ sô cái Mạng blockchain yêu cầu quyền truy cập có thé cho phép bắt kỳ ai có thê đọc dữ liệu hoặc cũng có thể hạn chế truy cập đối với một số đối tượng được chỉ định Nó cũng có thể cho phép bat ky
ai có thể nộp đữ liệu giao dịch trong blockchain và lần nữa, có thé han chế truy cập đối với một số đối tượng chỉ định Mạng blockehain có
12
Trang 12phép có thê được khởi tạo va duy trì thông qua ứng dụng mã nguồn mở hoặc mã nguôn kín
3 Các thành phân của blockchain
>
„w Time
Ảnh 1.1 Mô hình của chuỗi khối
3.1 Hàm mã hóa băm( Crypto Hash Functions) Một thành phần quan trọng của công nghệ blockchain đó là sử dụng hàm băm trong việc mã hóa Băm (hashing) là phương thức áp dụng mã hóa đối với dữ liệu tính toán output tương đối độc nhất ( thường được gọi là
xử lí hay tiêu hóa thông điệp-message digest) cho một input của bất kỳ
kích thước (file, text, image) Diéu này cho phép các cá nhân có thể độc
minh không có sự thay đôi trong dữ liệu Thậm chí thay đôi nhỏ nhất trong đữ liệu vào ( thay đôi một số bit) sẽ gây ra kết quả khác biệt hoàn toàn
Hàm mã hóa băm mang những đặc diém bảo mật:
chiều Với một output cho trước, không thê tính được input của nó là gì ( không thể tìm x thỏa mã hash( x) = y với y cho trước)
- _ Chống tiền ảnh cấp 2: không thể tìm ra một input sẽ băm ra một oufput cụ thể cho trước Cụ thê hơn, hàm băm được thiết
kế đề một input cụ thể cho trước sẽ không thể tạo ra cùng một output khi đưa một input khác vào (không thể tìm x và y để hash(x)=hash(y) với y cho trước)
- _ Chống xung đột: không thể tìm ra 2 input cùng băm ra củng một output (Không thể tìm ra x và y thỏa mãn
hash(x)=hash(y))
Một hàm băm được sử dụng trong nhiều ứng dụng blockchain là Secure Hash Algorithm (SHA) voi oufput có kích thước 256 bits (SHA-256) Rất nhiều máy tính hỗ trợ thuật toán này trong phần cứng làm cho việc tinh toan tro nén nhanh chong SHA-256 co output cd 32 bytes (1 byte =
8 bits, 32 bytes = 256 bits), thuong hién thi chuoi hé tam voi 64 kí tự Điều này có nghĩa sẽ có 2 mũ 256 gia tri sau xu li input
Bởi có một lượng input vô hạn và có một lượng giới hạn output có thé được tạo ra sau khi xử lí qua hàm băm, có thê nhưng khả năng không cao xảy ra trường hợp hash(x)=hash(y) SHA-26 được cho là chống xung đột bởi tìm ra một xung đột trong SHA-26, sẽ cần chạy thuật toán trung bình
2^128 lần
13
Trang 13Trong mạng blockchain, hàm băm được sử dung trong nhiều nhiệm vụ như:
mạng sẽ băm khôi đữ liệu, tạo ra một chuỗi được xử lý sẽ được gắn vào đầu khối sau này
- _ Đảm bảo sự vững chắc của đầu khói dữ liệu - một điểm trong mạng sẽ băm phân đầu của khối Nếu mạng blockchain sử dụng mô hình đồng thuận proof of work, điểm xuất ra khối dữ liệu sẽ cần băm phân đầu của khối với những giá trị ngẫu nhiên khác nhau đến khi đạt yêu cầu Phần đầu của khối duex liệu hiện tại sẽ được băm và năm trong phân đầu của khối tiếp
theo
Bởi vì phần đầu khối bao gồm một khối dữ liệu được băm, bản thân dữ liệu của khối đó cũng được đảm bảo khi phần đầu của khối sau băm được lưu ở khối tiếp theo Ngoài SHA-256, có rất nhiều thuật toán khác được sử dụng trong công nghệ blockchain như là Keccak, RIPEMD- 160,
Sử dụng số mã hóa một làn: số mã hóa sử dụng một lần là một số bất kỳ được sử dụng một lần Số mã hóa sử dụng một lần có thể được kết hợp với dữ liệu đề tạo ra sản phẩm sau của hàm băm
hash( data +once) = digest
Chỉ cần thay đôi gia tri cua số trong hàm băm để tạo ra một kết quả khác của hàm băm với cùng một dữ liệu đầu vào Kỹ thuật này được triển khai trong mô hình đồng thuận proof of work
3.2 Giao dịch( Transactions) Một giao dịch đại diện cho một tương tác g1ữa các bên Với tiền mã hóa,
1 giao dich dai dién cho I lần chuyên giao tiền mã hóa giữa người dùng trong mạng blockchain Trong ngữ cảnh kinh doanh, một giao dịch có thé thê một cách lưu lại hành động diễn ra đối với tài sản kỹ thuật số hay vật lý Mỗi khối trong blockchain có thê bao gồm 0 hoặc nhiều giao dịch Với một số cách cài đặt blockchain một lượng cố định các khối mới (thậm chí với 0 giao dịch) là cần thiết để duy trì an ninh cho toàn bộ mạng lưới Bằng cách cung cập một lượng khối được xuất bản, nó ngăn chặn người dùng độc hại bắt kịp với dữ liệu trong blockchain và thay đôi
no
Dữ liệu giao dịch có thể khác nhau tùy vào cách cài đặt blockchain Tuy nhiên, kỹ thuật cho việc giao dich lại giống nhau rất lớn Một người dùng trong mạng gửi ổi thông tin tới mạng blockchain Thông tin được gửi sẽ bao gồm địa chỉ người gửi ( hoặc các cách định danh khác), khóa công khai của người gửi, chữ ký điện tử, dữ liệu nhập vào giao dịch và
dữ liệu ra của g1ao dịch
Ở trường hợp đơn giản, một số người có thê chỉ muốn gửi đi một lượng
dữ liệu mà người đó muốn nó tồn tại vĩnh viễn trong hệ thống Trong hệ thông hợp đồng thông minh( smart contract) giao dịch có thê được sử dụng dé gửi dữ liệu, xử ly dữ liệu và lưu trữ dữ liệu trong blockchain Một ví dụ đơn giản trong hệ thông logistic dựa trên công nghệ
14
Trang 14blockchain đó là giao dịch có thể được sử dụng đề thay đổi những thuộc tính của của tài sản ví dụ như địa điểm giao hang
Bắt kê việc đữ liệu được định dang va giao dịch như nào, xác định tính hợp lệ và tính xác thực của giao dịch là vô cùng quan trọng Tính hợp lệ của giao dịch đảm bảo giao dịch đó đáp ứng những yêu cầu của giao thức và bất kì dạng dữ liệu nào đều yêu cầu một cách cài đặt blockchain Tính xác thực của giao dịch xác định người gửi có thực sự sở hữu tài sản này hay không Tính xác thực được xác định thông qua khóa riêng tư và
có thê được xác nhận bắt kì lúc nào thông quan khóa công khai Hai loại
3.3 Ma hoa chia khoa bat đối xứng( Asymmetric-key Cryptography)
Công nghệ blockchain sử dụng mã hóa chỉa khóa bất đối xứng( thường được gọi là mã hóa khóa công khai) Mã hóa khóa bất đối xứng sử dụng một cặp khóa: khóa riêng tư và khóa công khai có quan hệ toán với nhau Việc sử dụng khóa công khai không giảm đi tính an toàn của quá trình, trong khi khóa riêng tư phải được giữ bí mật nêu muốn dữ liệu được bảo
vệ an toàn Mặc dù hai khóa có liên hệ với nhau, ta không thê xác định được khóa riêng tư của ai đó dù biết khóa công khai của họ
Mã hóa khóa bat đối xứng giữ sự tin tưởng trong mối quan hệ giữa người dung mà ở đó mỗi người không biết hoặc không tin tưởng lẫn nhau bằng cách cung cấp một kỹ thuật nhăm xác định tính toàn vẹn và xác thực của giao dịch đồng thời cho phép công khai giao dịch Đề đạt được mục tiêu này, giao dịch được ký bằng chữ ký số Điều đó có nghĩa là khóa riêng
tư được sử dụng để mã hóa giao dịch theo đó bất kì ai có khóa công khai đều có thê giải mã nó Bởi khóa công khai luôn có sẵn và mở đối với bất
kỳ ai, mã hóa giao dịch với khóa riêng tư chứng minh rằng người ký vào giao dịch có quyền truy cập vào khóa riêng tư đó Hay nói cách khác, chỉ
có người mã hóa dữ liệu với khóa công khai mới có quyền giải mã nó thông qua khóa riêng tư của họ Một hạn chế của việc sử dụng mã hóa khóa bất đối xứng là việc nó gia tăng khối lượng và thời gian đề tính
toán
Sau đây là một số ứng dụng của mã hóa khóa bất đối xứng trong nhiều mang blockchain:
- _ Khóa công khai dé lay địa chỉ
riêng tư
- _ Mã hóa khóa bất đối xứng cung cấp khả năng xác minh rằng người gửi một giá trị nào đó tới người dùng khác chính là người có khả năng truy cập khóa riêng tư và ký giao dịch đó 3.4Địa chỉ va truy xuất địa chỉ ( Address and Address Derivation) Một số mạng blockchain sử dụng một địa chỉ dưới dạng một chuỗi ký tự bao gồm chữ cái và chữ SỐ được truy xuất từ khóa công khai của người dùng đó cộng với một số dữ liệu khác thông qua hàm băm Phần lớn cách cai dat blockchain sử dung dia chi theo dang “to” and “from” (ttr -> đến) trong giao dich Cac dia chỉ có thể ngắn hơn khóa công khai và không cần bí mật Một cách đề tạo ra địa chỉ đó là kết hợp khóa công khai cùng với một số dữ liệu khác rồi dùng hàm băm mã hóa thành một
15
Trang 15doan text:
Public key + additional data -> hash function -> address Mỗi cách cài đặt blockchain có thê có một cách khác nhau để truy xuất địa chỉ Ví dụ trong mạng blockchain không yêu cầu quyên truy cập( permissionless blockchain networks) cho phép tạo tài khoản ân danh, người dùng có thê tạo nhiều cặp khóa bất đối xứng, do đó cho phép đa dạng mức độ ấn danh Địa chỉ có thể đóng vai trò như một công cụ định danh trong hệ thông cho người dùng Các địa chỉ này thường sẽ được chuyên thành QR code phục vụ các ứng dụng mobile
Với một số mạng blockchain( đặc biệt với những mang blockchain không yêu cầu cấp phép), người dùng phải quản lí và giữ bí mật các khóa riêng tư của họ Thay vì lưu trữ thủ công, họ thường sử dụng phần mềm đề lưu trữ chúng Phần mềm này thường được gọi là ví Ví có thể lưu trữ khóa riêng tư, khóa công khai và địa chỉ liên quan Nó đồng thời thực hiện tính toán tong giá tri tai san cua người dùng có thể có Nếu một người dùng làm mất khóa riêng tư, toàn bộ tài sản liên quan tới khóa đó
sẽ bị mất Nếu khóa riêng tư bị đánh cắp, kẻ trộm có thê có quyên truy cập tới toàn bộ tải sản kỹ thuật số được quản lí bởi khóa riêng tư đó Đảm bảo an toàn cho khóa riêng tư là điều vô cùng quan trọng nên một
36 người dùng sử dụng phần cứng đề lưu trữ chúng
3.5 Số cái( Ledger)
Số cái là bộ tông hợp các giao dịch Trong suốt lịch sử, sô cái bằng giấy
và bút được sử dụng để theo dõi quá trình trao đôi hàng hóa và dịch vụ Trong thời kì hiện đại, số cái đã và đang được số hóa thành các cơ sử dữ liệu được điều hành bởi một bên thứ ba đáng tin cậy Mối quan tâm dành cho các số cái phân tán ngày nay càng được chú trọng Công nghệ
quyên sở hữu và phân tán về cấu trúc vật lý Cầu trúc vật lý phân tán của mang blockchain thường có sự tham g1a của một nhóm lớn máy tinh hon
là một cầu trúc vật lý phân tán được quản lý tập trung Mỗi quan tâm dành cho quyền sở hữu số cái gia tăng bởi niềm tin, an ninh, và độ tin cậy của quyên sở hữu SỐ cái tập trung:
phá hủy, người dùng phải tin rằng bên sở hữu đã có những biện pháp phòng ngừa đối với hệ thông Trong khi đó mạng blockchian được thiết kế phí tập trung Mỗi bản sao của số cái được lưu trữ và đồng bộ tại tất cả các điểm người dùng Điểm lợi của công nghệ blockchain đó là mỗi người dùng đều có thê duy trì một bản sao số cái của riêng họ
một hệ thống thống nhất, với phần cứng mà cơ sở mạng ø1ông nhau Bởi đặc điểm này, tính bền bỉ của hệ thông trước những cuộc tấn công bị giảm bởi một một cuộc tấn công ở một bộ phận của hệ thống sẽ ảnh hưởng đến toàn bộ Trong khi đó mạng blockchain là một mạng không đồng nhất với phần mêm, phân cứng và cơ sở mạng hoản toàn khác nhau Bởi mỗi nốt trong mạng được xây dựng riêng biệt và có nhiều điểm khác nhau, một cuộc tấn công tại một nốt sẽ không ảnh
16