Luận văn Nghiên cứu ứng dụng Blockchain cho bài toán thanh toán phi tiền mặt trong lĩnh vực tài chính ngân hàng

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  
----------------------------------------  
Nguyễn Đức Duy  
NGHIÊN CỨU ỨNG DỤNG BLOCKCHAIN CHO BÀI TOÁN  
THANH TOÁN PHI TIỀN MẶT TRONG LĨNH VỰC TÀI  
CHÍNH NGÂN HÀNG  
LUẬN VĂN THẠC SỸ KỸ THUẬT  
(Theo định hướng ứng dụng)  
HÀ NỘI – 2020  
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  
----------------------------------------  
Nguyễn Đức Duy  
NGHIÊN CỨU ỨNG DỤNG BLOCKCHAIN CHO BÀI TOÁN  
THANH TOÁN PHI TIỀN MẶT TRONG LĨNH VỰC TÀI  
CHÍNH NGÂN HÀNG  
CHUYÊN NGHÀNH: KHOA HỌC MÁY TÍNH  
MÃ SỐ:  
8.48.01.01  
LUẬN VĂN THẠC SỸ KỸ THUẬT  
(Theo định hướng ứng dụng)  
NGƯỜI HƯỚNG DẪN KHOA HỌC  
TS. ĐẶNG MINH TUẤN  
HÀ NỘI – 2020  
i
LỜI CAM ĐOAN  
Tôi xin cam đoan: Khoá luận tốt nghiệp với đề tài “NGHIÊN CỨU ỨNG DỤNG  
BLOCKCHAIN CHO BÀI TOÁN THANH TOÁN PHI TIỀN MẶT TRONG  
LĨNH VỰC TÀI CHÍNH NGÂN HÀNG” là công trình nghiên cứu của cá nhân tôi,  
các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố  
trong bất kỳ công trình nào khác, không sao chép của bất cứ ai.  
Tôi xin chịu mọi trách nhiệm về công trình nghiên cứu của riêng mình!  
Hà Nội, ngày ………….  
Người cam đoan  
Nguyễn Đức Duy  
ii  
MỤC LỤC  
iii  
v
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT  
Viết tắt  
AMQP  
Nguyên nghĩa  
Advanced Message Queuing Protocol  
Application Programming Interface  
Boston Consulting Group  
Bitshares  
API  
BCG  
BTS  
CorDapps  
CPU  
Corda Distributed Applications  
Central Processing Unit  
Directed Acyclic Graph  
Tổ chức tự quản phân cấp thế giới  
Database Management System  
Delegated Proof-of-Stake  
Elliptic Curve Digital Signature Algorithm  
Integrated Development Environment  
Java Database Connectivity  
Java Development Kit  
DAG  
DAO  
DBMS  
DPoS  
ECDSA  
IDE  
JDBC  
JDK  
KYC  
OS  
Know your customer  
operating system  
POA  
POS  
Proof-of-Authority  
Proof-of-Stake  
POW  
RAM  
RPC  
Proof-of-work  
Random Access Memory  
Remote Procedure Call  
Secure Hash Algorithm  
Transaction  
SHA  
TX  
UTXO  
Unspent transaction output  
 
vii  
DANH SÁCH HÌNH VẼ  
 
1
MỞ ĐẦU  
Trong Cách mạng công nghiệp 4.0, “blockchain” (chuỗi khối) được xem là  
một trong những công nghệ "then chốt" cho chuyển đổi số và xây dựng nền tảng  
công nghệ thông tin trong tương lai.  
Với khả năng chia sẻ thông tin dữ liệu minh bạch theo thời gian thực tế, có  
tính bảo mật cao, công nghệ blockchain là một trong những xu hướng công nghệ  
đột phá, có khả năng ứng dụng rộng rãi ở nhiều ngành nghề, lĩnh vực khác nhau.  
Ứng dụng công nghệ Blockchain có thể giải quyết được một số vấn đề mà hệ  
thống tài chính ngân hàng hiện nay đang gặp phải. Blockchain cung cấp mức độ bảo  
mật cao, minh bạch trong các giao dịch cũng như chi phí thấp. Hơn nữa, người dùng  
có thể hoàn toàn tham gia vào giao dịch mà không cần xác thực bởi bên thứ 3.  
Công nghệ Blockchain thực sự mở ra tiềm năng vô cùng lớn trong lĩnh vực  
tài chính – ngân hàng, tác động không nho đến quy trình xác nhận giao dịch, quản  
lý tiền mặt, tối ưu hóa tài sản cũng như các quy trình kinh doanh khác. Công nghệ  
Blockchain sẽ giúp giảm thiểu thời gian từ lúc đăng ký tới lúc hoàn thành giao dịch  
hoặc giảm thời gian cho các giao dịch liên ngân hàng, chuyển khoản quốc tế hoặc  
xác nhận thông tin cá nhân.  
Nhận thấy những tiềm năng to lớn của Blockchain ở hiện tại và tương lai,  
em quyết định lựa chọn đề tài nghiên cứu các ứng dụng của Blockchain cho bài  
toán thanh toán phi tiền mặt trong các hệ thống tài chính ngân hàng cho báo cáo  
luận văn Thạc sĩ của mình.  
2
CHƯƠNG 1: GIỚI THIỆU CÔNG NGHỆ BLOCK CHAIN  
1.1. Tổng quan về công nghệ Blockchain  
1.1.1. Khái niệm  
Satoshi Nakamoto (một người chưa rõ danh tính) đã xuất bản một bài báo  
trình bày giải pháp cho vấn đề "chi tiêu gấp đôi" đối với tiền kỹ thuật số vào năm  
2008. Khi đó, ông đã tiết lộ công nghệ cơ bản được gọi là blockchain và một ví dụ  
về ứng dụng có thể có của blockchain dưới dạng triển khai đơn giản được gọi là  
"Bitcoin".  
"Bitcoin" đã nhận được sự chú ý rộng rãi kể từ thời điểm đó. Cơ chế cơ bản,  
blockchain, cũng đã được công nhận và đã tìm thấy các ứng dụng trong các bối cảnh  
đa dạng. Thật vậy, thế giới đã phát hiện ra rằng các nguyên tắc của blockchain hữu  
ích trong nhiều bối cảnh và có thể có nhiều biến thể của việc triển khai ban đầu.  
Blockchain là một công nghệ phức tạp và phát triển nhanh chóng. Phải mất  
nhiều trí tuệ sáng suốt trong nhiều năm phát triển, cộng với sự kết hợp của những  
tiến bộ trong mật mã, điện toán phân tán và kinh tế học để tạo ra công nghệ hiện tại.  
Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã  
được cập nhật trong mạng thì sẽ khó có thể thay đổi được nó. Thông tin đã lưu  
trong Blockchain thì không thể bị thay đổi và chỉ được bổ sung thêm khi có sự đồng  
thuận của tất cả các nút trong hệ thống. Ngay cả khi 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. Đặc biệt, Blockchain có khả năng truyền tải dữ liệu mà không đòi hỏi  
trung gian để xác nhận thông tin. Hệ thống Blockchain bao gồm nhiều nút độc lập  
có khả năng xác thực thông tin.  
Công nghệ Blockchain là sự kết hợp của 3 yếu tố dưới đây:  
•
Mật mã học: public key và hàm hash function được sử dụng để đảm bảo tính  
minh bạch, toàn vẹn và riêng tư.  
Mạng ngang hàng: Mỗi một nút trong mạng được xem như một client và  
cũng là server để lưu trữ của bản sao ứng dụng.  
Lý thuyết trò chơi: Tất cả các nút trong hệ thống đều phải tuần thủ theo luật  
•
•
     
3
chơi đồng thuận (PoW, PoS, …) nhất định và được thúc đẩy bởi động lực kinh tế.  
Lý tưởng cơ bản của Blockchain là phi tập trung (dencentralized), nơi cộng đồng  
có quyền quyết định mọi vấn đề mà không cần một trung gian (như nhà nước, ngân  
hàng, tổ chức hành chính…). Blockchain được ví như cuốn sổ cái phân tán  
(distributed ledger) mã nguồn mở (open source) nơi mọi thông tin được lưu trữ  
minh bạch và không bị sửa đổi.  
Công nghệ Blockchain là một loại chương trình để lưu, xác nhận, vận chuyển và  
truyền thông dữ liệu trong mạng thông qua các nút phân phối của riêng nó mà  
không phụ thuộc vào bên thứ ba.  
Theo một cách nào đó, blockchain, với tư cách là một hệ thống phân tán, tự  
phụ trách chính nó. Việc tham gia vào hệ thống giao dịch vẫn bị chi phối bởi các  
quy tắc được xác định trong giao thức và được thực thi bởi tất cả những người tham  
gia. Tuy nhiên, một người tham gia trung thực sẽ đóng góp vào việc thực thi các  
quy tắc giao thức.  
Thử nghiệm trong quản trị chuỗi cho thấy các phương pháp tiếp cận để quản lý sự  
phát triển của cấu trúc phần thưởng và thậm chí cả các quy tắc quản trị, đồng thời  
hạn chế sự phát triển của hệ thống và tránh những thay đổi lớn trừ khi hầu hết người  
dùng đồng ý.  
1.1.2. Mạng ngang hàng (Peer to Peer Network)  
Mạng ngang hàng là một kiến trúc mạng phân phối, trong đó mỗi nút tham gia  
(máy tính) chia sẻ tài nguyên phần cứng của nó như máy tính, dung lượng lưu trữ,  
liên kết mạng với nhau.  
Về bản chất, hệ thống ngang hàng được duy trì bởi một mạng lưới người dùng  
phân tán. Mạng này thường không có quản trị viên trung tâm hoặc máy chủ vì mỗi  
nút lưu trữ một bản sao của các tệp và mỗi nút đóng vai trò như một máy khách và  
máy chủ cho các nút khác. Do đó, mỗi nút có thể tải tệp về từ các nút khác hoặc tải  
lên tệp cho các nút khác. Đây là điểm khác biệt giữa các mạng ngang hàng với các hệ  
thống máy chủ-máy khách truyền thống hơn, trong đó các thiết bị máy khách tải  
xuống các tệp từ một máy chủ tập trung.  
 
4
Trên mạng ngang hàng, các thiết bị được kết nối chia sẻ các tệp được lưu trữ  
trên ổ cứng của chúng. Sử dụng các ứng dụng phần mềm được thiết kế để làm trung  
gian cho việc chia sẻ dữ liệu, người dùng có thể truy vấn các thiết bị khác trên mạng  
để tìm và tải xuống các tệp. Khi người dùng đã tải xuống một tệp, họ có thể đóng vai  
trò là nguồn của tệp đó.  
Nói cách khác, khi một nút hoạt động như một máy khách, họ tải xuống dữ  
liệu từ các nút khác trên mạng. Nhưng khi họ hoạt động như một máy chủ, họ là  
nguồn mà các nút khác có thể tải xuống dữ liệu. Tuy nhiên, trên thực tế, các nút có  
thể thực hiện hai chức năng cùng một lúc (ví dụ: tải xuống dữ liệu A và tải lên dữ liệu  
B).Vì mỗi nút đều có chức năng lưu trữ, truyền và nhận tệp, mạng ngang hàng có xu  
hướng hoạt động nhanh và hiệu quả hơn khi cộng đồng người dùng của họ phát triển  
lớn hơn. Ngoài ra, kiến trúc phân tán của họ làm cho các hệ thống P2P có khả năng  
chống lại các cuộc tấn công mạng rất cao. Không giống như các mô hình truyền thống,  
mạng P2P không có sự hư hỏng tại một điểm. Các tài nguyên này được sử dụng để  
cung cấp các dịch vụ như chia sẻ nội dung và chia sẻ tập tin và có sẵn cho tất cả các  
nút trực tiếp mà không cần bất kỳ máy chủ trung tâm nào.  
Một mạng ngang hàng đúng nghĩa thì không có khái niệm máy chủ và máy  
khách, hay nói cách khác, tất cả các máy tham gia đều bình đẳng như nhau và được  
gọi là 1 peer, là một nút mạng đóng vai trò đồng thời là máy khách và máy chủ đối  
với các máy khác trong mạng.  
Mang ngang hàng cũng được sủ dụng để ẩn danh định tuyến lưu lượng mạng, máy  
tính song song, lưu trữ tập tin phân tán, chia sẻ phương tiện truyền thông. Blockchain  
sử dụng kiến trúc mạng P2P để đảm bảo phân tán, phân quyền mạng và không tồn tại  
một đơn vị kiểm soát trung tâm.  
Kiến trúc ngang hàng là yếu tố cốt lõi của công nghệ blockchain - nền tảng của tiền  
mã hóa. Có nhiều cách để phát triển và sử dụng kiến trúc ngang hàng. Bằng cách phân  
tán các sổ cái giao dịch trên một mạng lớn gồm nhiều nút, kiến trúc P2P cung cấp khả  
năng bảo mật, phi tập trung và chống kiểm duyệt.  
5
1.1.3. Block  
Block là một đơn vị trong Blockchain, là khối xây dựng nên Blockchain bao gồm các  
giao dịch với dữ liệu. Một thợ đào thu thập các giao dịch của một khoảng thời gian  
nhất định để tạo thành một khối và tính toán hàm băm mật mã. Mã băm này phải có  
định dạng cụ thể như phải có 4 số 0 như trong Hình 1.1. Để có được loại mã băm này,  
người thợ đào phải đoán một cách ngẫu nhiên một số tùy ý đưa ra bảng băm với bốn  
số không hàng đầu. Số độc đoán này được gọi là số được sử dụng một lần hoặc số  
một lần (nonce). Ngoài ra, quá trình xác định nonce được gọi là khai thác mỏ. Một  
khối mẫu được thể hiện trong Hình 1.1 trong đó mỗi khối có một số block, nonce,  
data và hash.  
Hình 1.1: Ví dụ về Block  
Các giao dịch sau khi được gửi lên trên mạng lưới blockchain sẽ được nhóm  
vào các khối và các giao dịch trong cùng 1 khối (block) được coi là đã xảy ra cùng  
thời điểm. Các giao dịch chưa được thực hiện trong 1 khối được coi là chưa được xác  
nhận.  
Mỗi nút có thể nhóm các giao dịch với nhau thành một khối và gửi nó vào  
mạng lưới như một hàm ý cho các khối tiếp theo được gắn vào sau đó.  
Bất kỳ nút nào cũng có thể tạo ra một khối mới. Vậy, câu hỏi đặt ra là: hệ  
thống sẽ đồng thuận với khối nào? khối nào sẽ là khối tiếp theo?  
   
6
Hình 1.2: Một chuỗi của các Blocks  
Để được thêm vào blockchain, mỗi khối phải chứa một đoạn mã đóng vai trò  
như một đáp án cho một vấn đề toán học phức tạp được tạo ra bằng hàm mã hóa băm  
không thể đảo ngược.  
Cách duy nhất để giải quyết vấn đề toán học như vậy là đoán các số ngẫu  
nhiên, những số khi mà kết hợp với nội dung khối trước tạo ra một kết quả đã được  
hệ thống định nghĩa. Điều này nhiều khi có thể mất khoảng một năm cho một máy  
tính điển hình với một cấu hình cơ bản có thể đoán đúng các con số đáp án của vấn  
đề toán học này.  
Mạng lưới quy định mỗi khối được tạo ra sau một quãng thời gian là n phút một lần,  
bởi vì trong mạng lưới luôn có một số lượng lớn các máy tính đều tập trung vào việc  
đoán ra dãy số này. Nút nào giải quyết được vấn đề toán học như vậy sẽ được quyền  
gắn khối tiếp theo lên trên chuỗi và gửi nó tới toàn bộ mạng lưới.  
Vậy điều gì sẽ xảy ra nếu hai nút giải quyết cùng một vấn đề cùng một lúc và truyền  
các khối kết quả của chúng đồng thời lên mạng lưới? Trong trường hợp này, cả hai  
khối được gửi lên mạng lưới và mỗi nút sẽ xây dựng các khối kế tiếp trên khối mà nó  
nhận được trước tiên.  
Tuy nhiên, hệ thống blockchain luôn yêu cầu mỗi nút phải xây dựng trên chuỗi khối  
dài nhất mà nó nhận được. Vì vậy, nếu có sự không rõ ràng về việc block nào là khối  
cuối cùng thì ngay sau khi khối tiếp theo được giải quyết thì mỗi nút sẽ áp dụng vào  
chuỗi dài nhất.  
 
7
1.1.4. Giao dịch  
Giao dịch là một bản ghi chuyển giao tài sản (tiền tệ kỹ thuật số, đơn vị hàng tồn  
kho, v.v…) giữa các bên. Tương tự như vậy sẽ là một bản ghi trong một tài khoản  
kiểm tra cho mỗi lần tiền đã được gửi hoặc thu hồi. Bảng 1.1 cho thấy một ví dụ tiêu  
biểu của một giao dịch. Mỗi khối trong một Blockchain chứa nhiều giao dịch. Một  
giao dịch đơn lẻ yêu cầu ít nhất các trường thông tin sau, nhưng có thể chứa nhiều  
hơn:  
Amount: Tổng số tiền của tài sản kỹ thuật số để chuyển.  
Input: Một danh sách các tài sản kỹ thuật số sẽ được chuyển giao (tổng giá  
trị bằng số tiền). Lưu ý rằng mỗi tài sản kỹ thuật số được xác định duy nhất  
và có thể có các giá trị khác nhau từ các tài sản khác. Tuy nhiên, không thể  
thêm hoặc xóa tài sản khỏi các tài sản kỹ thuật số hiện có. Thay vào đó, tài  
sản kỹ thuật số có thể được chia thành nhiều tài sản kỹ thuật số mới (mỗi giá  
trị nhỏ hơn) hoặc được kết hợp để tạo ít tài sản kỹ thuật số mới hơn (mỗi giá  
trị có giá trị tương ứng cao hơn).  
Output - Các tài khoản sẽ là những người nhận tài sản kỹ thuật số. Mỗi đầu  
ra chỉ định giá trị được chuyển giao cho (các) chủ sở hữu mới, danh tính của  
chủ sở hữu mới và một tập hợp các điều kiện mà chủ sở hữu mới phải đáp  
ứng để nhận giá trị đó. Nếu tài sản kỹ thuật số được cung cấp nhiều hơn yêu  
cầu, các khoản tiền bổ sung được trả lại cho người gửi (đây là một cơ chế để  
"thay đổi").  
ID giao dịch/Hash - Mã nhận dạng duy nhất cho mỗi giao dịch. Một số  
Blockchains sử dụng một ID, và một số khác sử dụng một hash của giao dịch  
cụ thể như là một định danh duy nhất.  
 
8
Bảng 1.1: Ví dụ về 1 giao dịch  
Input  
Account A  
Output  
Account B  
Account C  
Amount  
0.0321  
2.5000  
Total  
2.531  
Transaction  
ID: 0xa1b2c3  
1.1.5. Sổ cái  
Sổ cái được coi là một cuốn sổ hoặc tệp tin ghi chép và tổng hợp các giao dịch.  
Trong suốt lịch sử, sổ ghi chép đã được sử dụng để theo dõi trao đổi hàng hoá và  
dịch vụ.  
Hình 1.2: Sổ cái phân tán  
Để có được bức tranh về trạng thái của các tài khoản tại bất kỳ thời điểm nào, người  
ta phải kiểm đếm tất cả các giao dịch cho đến thời điểm đó. Từng cái một, mọi bản  
ghi giao dịch đều thay đổi trạng thái.  
Mọi giao dịch trong sổ cái đều chứa một bộ dữ liệu tùy ý, tùy thuộc vào mục đích của  
chúng. Trong sổ cái ghi lại các giao dịch tiền tệ, sổ cái có thể chứa các dữ liệu sau:  
Người gửi  
Người nhận  
Số tiền  
Tín dụng / Ghi nợ  
Tài liệu tham khảo  
     
9
Cuối cùng, dữ liệu được ghi lại phụ thuộc vào cấu trúc và mục đích của sổ cái.  
Điều này sẽ quan trọng sau này, vì vậy hãy nhớ rằng các giao dịch cuối cùng là các  
phần dữ liệu được sắp xếp theo thứ tự thời gian.  
Xem qua và xử lý từng giao dịch trong sổ cái cho phép chúng ta lấy được tất cả  
các loại thông tin meta. Điều này có thể bao gồm số lượng giao dịch, hoạt động trên  
mỗi tài khoản và tất nhiên, số dư tài khoản cá nhân. Số dư tài khoản, giống như số dư  
tài khoản ngân hàng của bạn, là một bản trình bày và tóm tắt trừu tượng của một danh  
sách các giao dịch.  
Một sổ cái được thực hiện bằng cách sử dụng một Blockchain có thể giảm thiểu  
những vấn đề này thông qua việc sử dụng cơ chế đồng thuận phân tán. Các sổ cái  
Blockchain sẽ được sao chép và phân phối giữa các nút trong hệ thống.  
1.1.6. Blockchain phân phối phi tập trung  
Mức độ phi tập trung có ý nghĩa rất lớn đối với hoạt động của mạng. Vào năm  
1964, trước những khám phá và phát triển lớn như hệ thống mã hóa khóa công khai  
và mạng P2P, Paul Baron đã xuất bản một bài báo về Truyền thông phân tán. Trong  
đó, ông đã cố gắng phân biệt giữa các mức độ phân quyền đa dạng. Mạng có thể là  
tập trung, phi tập trung hoặc phân tán.  
Hình 1.3: Mô hình phân phối của Blockchain  
Trong khái niệm của Baran về mức độ tập trung, ông đã xác định một loạt  
các cấu trúc liên kết mạng - tập trung và phân quyền là những thuộc tính được giới  
thiệu từ lâu để mô tả các hệ thống và cấu trúc phân quyền.  
   
10  
Blockchain là sự phân tán các nút trong mạng ngang hàng, nơi tất cả các nút  
có một bản sao chính xác của Blockchain. Do đó, nếu một mục trong Blockchain  
được sửa đổi và tái sử dụng, kết quả của mã băm sẽ trở nên khác so với các nút khác.  
Giao dịch này sẽ bị vô hiệu vì các nút khác sẽ làm mất hiệu lực bản sao này. Tuy  
nhiên, một thợ đào có thể sửa đổi một mục nhập Blockchain và tái khai thác tất cả  
các mục nhập băm trên các nút phân phối nếu nó có nhiều quyền lực tính toán hơn  
các thợ đào khác kết hợp.  
1.1.7. Smart Contract  
Smart Contract là một thuật ngữ mô tả khả năng tự đưa ra các điều khoản và thực thi  
thoả thuận của hệ thống máy tính bằng cách sử dụng công nghệ Blockchain. Các điều  
khoản của Smart Contract có thể coi là tương đương với một hợp đồng pháp lý và  
được ghi lại dưới ngôn ngữ của máy tính. Toàn bộ quá trình của Smart Contract được  
lập trình để thực hiện tự động và không thể có sự can thiệp từ bên ngoài.  
Smart Contract được viết ra để cho phép hai bên có thể không cần xác định  
danh tính rõ ràng có thể giao dịch hay làm việc với nhau trên Internet mà không cần  
thông qua các bên trung gian. Smart Contract có tính an ninh cao, bởi vì được mã  
hóa và phân phối về cho các nút. Cách thức này đảm bảo không bị thất lạc hay sửa  
đổi mà không được cho phép.  
Về cơ bản Bitcoin là nền tảng đầu tiên hỗ trợ các Smart Contract, Bitcoin là hệ thống  
có thể chuyển giá trị từ người này sang người khác thông qua công nghệ Blockchain.  
Các máy tính trong hệ thống chỉ xác nhận giao dịch hợp lệ khi đáp ứng các điều  
kiện trong Smart Contract. Tuy nhiên Bitcoin chỉ giới hạn ở các trường hợp sử dụng  
giao dịch tiền tệ mà thôi. Ngược lại, Ethereum đã cải tiến và khắc phục các hạn chế  
của Bitcoin và thay thế ngôn ngữ hạn chế của Bitcoin thành những ngôn ngữ cho  
phép các nhà phát triển viết các ứng dụng riêng của họ dựa trên việc lập trình ra các  
Smart Contract.  
Smart Contract chỉ tự động thực hiện những điều khoản đã được lập trình sẵn từ  
trước khi được điều khoản đó đã đáp ứng đủ những yêu cầu cần thiết.  
 
11  
Đầu tiên, các điều khoản trong hợp đồng sẽ được viết bằng ngôn ngữ lập trình, sau  
đó được mã hóa và chuyển vào một block thuộc Blockchain. Sau khi chuyển vào  
block, Smart Contract này sẽ được phân phối và sao chép lại bởi các node đang hoạt  
động trên nền tảng đó.  
Sau khi có nhận lệnh triển khai thì hợp đồng sẽ được triển khai theo đúng như điều  
khoản định sẵn. Đồng thời, Smart Contract cũng sẽ tự động kiểm tra quá trình thực  
hiện những cam kết, điều khoản được nêu trong hợp đồng.  
1.2. Mật mã trong Blockchain  
1.2.1. Hàm băm  
Một thành phần quan trọng của công nghệ Blockchain là sử dụng hàm băm mật mã  
cho nhiều thao tác, chẳng hạn như băm nội dung của một khối. Hashing là phương  
pháp tính một đầu ra có kích thước cố định cho một đầu vào có kích thước gần như  
bất kỳ (ví dụ: tệp, văn bản hoặc hình ảnh). Ngay cả sự thay đổi nhỏ nhất của đầu  
vào sẽ dẫn đến kết quả khác biệt hoàn toàn. Bảng 1.2 cho thấy các ví dụ đơn giản  
về điều này. Các thuật toán băm được thiết kế theo một chiều, không thể tìm ra bất  
kỳ đầu vào nào có thể cho bất kỳ đầu ra được xác định trước. Các thuật toán băm  
cũng được thiết kế để không tìm ra hai hoặc nhiều đầu vào sản xuất cùng một đầu  
ra.  
Một thuật toán băm được sử dụng nhiều trong công nghệ Blockchain là Thuật toán  
băm an toàn (SHA) với kích thước đầu ra là 256 bit (SHA-256).  
Bảng 1.2: Ví dụ về đầu vào và giá trị tiêu biểu SHA-256  
Input  
Text  
1
SHA-256 Digest Value  
0x6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7  
875b4b  
2
0x4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec  
13ab35  
Hello,  
World  
0xdffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362  
182986f  
     
Tải về để xem bản đầy đủ
pdf 71 trang yennguyen 20700 Free
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Nghiên cứu ứng dụng Blockchain cho bài toán thanh toán phi tiền mặt trong lĩnh vực tài chính ngân hàng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfluan_van_nghien_cuu_ung_dung_blockchain_cho_bai_toan_thanh_t.pdf