1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên Cứu Công Nghệ Blockchain Và Ứng Dụng Trong Thương Mại Điện Tử.pdf

68 10 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 đề Nghiên Cứu Công Nghệ Blockchain Và Ứng Dụng Trong Thương Mại Điện Tử
Tác giả Lê Phi Thường
Người hướng dẫn PGS.TS. Trịnh Viết Cường
Trường học Trường đại học Hồng Đức
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2022
Thành phố Thanh Hóa
Định dạng
Số trang 68
Dung lượng 2,15 MB

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

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA TRƯỜNG ĐẠI HỌC HỒNG ĐỨC LÊ PHI THƯỜNG NGHIÊN CỨU CÔNG NGHỆ BLOCKCHAIN VÀ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ LUẬN VĂN THẠC SĨ MÁY TÍNH THANH HÓA, NĂM 2022 BỘ G[.]

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA

TRƯỜNG ĐẠI HỌC HỒNG ĐỨC

LÊ PHI THƯỜNG

NGHIÊN CỨU CÔNG NGHỆ BLOCKCHAIN VÀ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ

LUẬN VĂN THẠC SĨ MÁY TÍNH

THANH HÓA, NĂM 2022

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA

TRƯỜNG ĐẠI HỌC HỒNG ĐỨC

LÊ PHI THƯỜNG

NGHIÊN CỨU CÔNG NGHỆ BLOCKCHAIN VÀ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ

LUẬN VĂN THẠC SĨ MÁY TÍNH

Chuyên ngành: Khoa học máy tính

Mã số: 8480101

Người hướng dẫn khoa học: PGS.TS Trịnh Viết Cường

THANH HÓA, NĂM 2022

Trang 4

Danh sách Hội đồng đánh giá luận văn Thạc sỹ khoa học

(Theo Quyết định số: /QĐ- ĐHHĐ ngày tháng năm 2022

của Hiệu trưởng Trường Đại học Hồng Đức)

Học hàm, học vị

Họ và tên

Cơ quan Công tác

Chức danh trong Hội đồng

Chủ tịch HĐ

UV, Phản biện 1

UV, Phản biện 2

Uỷ viên

Uỷ viên, Thư ký

Xác nhận của Người hướng dẫn

Học viên đã chỉnh sửa theo ý kiến của Hội đồng

Ngày tháng năm 2022

Trang 6

LỜI CAM ĐOAN Tôi xin cam đoan Luận văn “Nghiên cứu công nghệ Blockchain và ứng dụng trong thương mại điện tử” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của PGS.TS Trịnh Viết Cường Luận văn này không trùng lặp

với các khóa luận, luận văn, luận án và các công trình nghiên cứu đã công bố

Thanh Hoá, ngày 12 tháng9 năm 2022

Người cam đoan

Lê Phi Thường

LỜI CẢM ƠN

Đề tài “Nghiên cứu công nghệ Blockchain và ứng dụng trong thương

mại điện tử” là nội dung tôi chọn để nghiên cứu và làm luận văn tốt nghiệp sau

Trang 7

ii

hai năm theo học chương trình cao học chuyên ngành Khoa học máy tính tại trường Đại học Hồng Đức

Để hoàn thành quá trình nghiên cứu và hoàn thiện luận văn này, lời đầu tiên

tôi xin chân thành cảm ơn sâu sắc đến thầy giáo PGS.TS Trịnh Viết Cường

thuộc Khoa Công Nghệ thông tin và Truyền thông – Trường Đại học Hồng Đức, thầy đã trực tiếp chỉ bảo và hướng dẫn tôi trong suốt quá trình nghiên cứu

để tôi hoàn thiện luận văn này

Nhân dịp này, tôi cũng xin cảm ơn Khoa Công Nghệ thông tin và Truyền thông, Trường Đại học Hồng Đức, lãnh đạo và các anh chị đang công tác tại khoa đã tạo điều kiện và thời gian cho tôi trong suốt quá trình nghiên cứu Cuối cùng, tôi xin cảm ơn những người thân, bạn bè đã luôn bên tôi, động viên tôi hoàn thành khóa học và bài luận văn này

Trân trọng cảm ơn!

Thanh Hoá, ngày 12 tháng 9 năm 2022

Tác giả

Lê Phi Thường

MỤC LỤC

LỜI CAM ĐOAN……….i

LỜI CẢM ƠN……….ii

MỤC LỤC……… iii

DANH MỤC VIẾT TẮT……….v

DANH MỤC HÌNH………vi

MỞ ĐẦU 1

Trang 8

1 Lý do chọn đề tài 1

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

3 Nội dung nghiên cứu 2

4 Tổng quan luận văn 2

Chương 1 GIỚI THIỆU TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN VÀ THƯƠNG MẠI ĐIỆN TỬ……… ….3

1.1 Giới thiệu chung về công nghệ Blockchain 3

1.2 Thương mại điện tử 9

1.2.1 Thanh toán điện tử 11

1.2.2 Tiền điện tử 12

Kết luận chương 1 14

Chương 2 GIẢI PHÁP KỸ THUẬT XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ 15

2.1 Bài toán xây dựng hệ thống thương mại điện tử 15

2.2 Hyperledger Fabirc………17

2.2.1 Cấu trúc mạng của Hyperledger Fabric 17

2.2.2 Các thành phần cơ bản của Hyperledger Fabric 25

2.2.3 Cài đặt và lưu trữ dữ liệu trong sổ cái 33

Kết luận chương 2 37

Chương 3 XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ BLOCKCHAIN……….…….……… 38

3.1 Các chức năng cài đặt thử nghiệm của hệ thống 38

3.2 Cài đặt hệ thống 38

3.2.1 Cài đặt các công cụ cần thiết 38

3.2.2 Xây dựng hệ thống Blockchain 40

3.2.3 Xây dựng hệ thống tiền điện tử 44

3.3 Một số hình ảnh giao diện 50

Kết luận chương 3 54

Trang 9

iv

KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT Các từ

viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt

Trang 10

ECDSA Elliptic Curve Digital

Signature Algorithm Hệ chữ ký điện tử ECDSA

tiền ảo

thống SHA Secure Hash Algorithm Họ hàm băm SHA

DANH MỤC HÌNH

Trang 11

vi

Hình 2.13: Cấu trúc của một Ledger (nguồn hyperledger-fabric.readthedocs.io) 30 Hình 2.14: Lưu trữ dữ liệu trong Ledger

(nguồn hyperledger -fabric.readthedocs.io)

30

Hình 2.15: Các Block trong Blockchain

(nguồn hyperledger-fabric.readthedocs.io)

31

Hình 2.16: Cấu trúc của một Block (nguồn hyperledger-fabric.readthedocs.io) 31

Hình 3.2: Giao diện đăng ký và khởi tạo một địa chỉ ví mới của trang Transfer

52 Hình 3.3: Giao diện chuyển tiền đến một địa chỉ ví khác trong hệ thống 53 Hình 3.4: Giao diện kiểm tra số dư trong tài khoản và lịch sử giao dịch 53

Trang 12

hệ thống cơ sở dữ liệu tập trung và thanh toán online dựa trên sự hỗ trợ của bên thứ ba là ngân hàng Với phương pháp này các hệ thống hiện nay đang gặp phải hai vấn đề chính: thứ nhất là sự kém an toàn do cơ sở dữ liệu dễ bị tấn công như xóa, thay đổi dữ liệu từ cả các kẻ tấn công bên ngoài cũng như những người

có quyền hạn bên trong; do dựa vào bên thứ ba trong thanh toán do đó chi phí giao dịch sẽ là đáng kể do cả doanh nghiệp và khách hàng đều phải mất chi phí giao dịch, ngoài ra do phụ thuộc vào bên thứ ba nên sẽ kém chủ động trong việc thực hiện thanh toán

Công nghệ Blockchain ra đời gần đây với các đặc tính như không sửa đổi được dữ liệu, đảm bảo an toàn cơ sở dữ liệu và có khả năng xây dựng được hệ thống tiền điện tử đã giải quyết tốt bài toán thương mại điện tử đặt ra hiện nay

Từ những phân tích ở trên, học viên đã lựa chọn đề tài: “Nghiên cứu công

nghệ Blockchain và ứng dụng trong thương mại điện tử” làm đề tài luận văn

của mình

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

Mục tiêu nghiên cứu của đề tài là nghiên cứu công nghệ Blockchain và

bài toán thương mại điện tử, để từ đó đưa ra giải pháp phù hợp xây dựng ứng

Trang 13

3 Nội dung nghiên cứu

Nội dung nghiên cứu của đề tài bao gồm:

- Nghiên cứu công nghệ Blockchain;

- Nghiên cứu bài toán thương mại điện tử;

- Nghiên cứu ứng dụng công nghệ Blockchain trong xây dựng ứng dụng thương mại điện tử

4 Tổng quan luận văn

Luận văn bao gồm ba chương:

Chương 1: Giới thiệu tổng quan về công nghệ Blockchain và thương mại điện tử

Nội dung của chương trình bày về công nghệ Blockchain và bài toán thương mại điện tử

Chương 2: Giải pháp kỹ thuật xây dựng ứng dụng thương mại điện tử

Nội dung của chương trình bày về các giải pháp kỹ thuật dựa trên công nghệ

Blockchain để xây dựng ứng dụng thương mại điện tử

Chương 3: Xây dựng ứng dụng thương mại điện tử dựa trên công nghệ Blockchain

Nội dung của chương trình bày về việc cài đặt thử nghiệm ứng dụng thương mại điện tử dựa trên công nghệ Blockchain

Trang 14

Chương 1 GIỚI THIỆU TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN VÀ

THƯƠNG MẠI ĐIỆN TỬ

1.1 Giới thiệu chung về công nghệ Blockchain

Blockchain về cơ bản là một cơ sở dữ liệu được phân phối của các bản ghi hoặc sổ cái công khai của tất cả các giao dịch hoặc các sự kiện kỹ thuật

số đã được thực hiện và chia sẻ giữa các bên tham gia Mỗi giao dịch trong

sổ cái công khai được xác minh bởi sự đồng thuận của đa số những người tham gia trong hệ thống Ngoài ra, một khi đã nhập thông tin không bao giờ

có thể bị xóa bỏ Công nghệ Blockchain [19] sử dụng chữ ký điện tử [6,11,15,16] và hàm băm [5,17,18] để đảm bảo tính minh bạch, toàn vẹn và riêng tư của dữ liệu; sử dụng mô hình truyền dữ liệu Peer to Peer (mô hình mạng ngang hàng) [4,13,14], mỗi một nút trong mạng như một Client và cũng là một Server để lưu trữ bản sao ứng dụng, và áp dụng các nguyên tắc đối với các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận [1,3,10,19]

1.1.1 Cấu trúc khối “Blockchain”: Về bản chất nó là các chuỗi khối

liên kết với nhau như dạng danh sách liên kết nhưng có thể truy xuất ngược

từ khối cuối (hiện tại) đến khối đầu tiên Nó thực sự như một cuốn sổ cái phân tán (Distributed ledger) mà mỗi giao dịch (gọi là khối) trong sổ bao gồm các thông tin được lưu trữ như sau:

(1) Dữ liệu (Data): Dữ liệu trong mỗi khối phụ thuộc vào loại Blockchain, ví dụ blockchain của bitcoin chứa thông tin về các giao dịch như thông tin người gửi, người nhận tiền và số bitcoin được giao dịch; blockchain về bảo hiểm y tế sẽ lưu trữ các thông tin về đối tượng được hưởng bảo hiểm, lịch sử sức khỏe của đối tượng đó; …(2) Mã băm (Hash): Dùng để nhận dạng một khối và các dữ liệu trong đó Mã này là duy nhất, nó tương tự như dấu vân tay Bất kỳ sự thay đổi nào trong khối

Trang 15

thì mã băm cũng sẽ thay đổi; (3) Mã băm đối chiếu (Hash of previous block) sẽ tạo thành chuỗi Bất cứ sự thay đổi một khối sẽ khiến các khối tiếp theo không phù hợp Tuy nhiên, trong thế giới hiện đại và thông minh hiện nay, sử dụng những đoạn mã băm không thôi là chưa đủ để ngăn chặn những sự thay đổi, sự giả mạo Thực tế, có

Hình 1.1: Chuỗi khối Blockchain (Linkedin.com)

hàng trăm, hàng nghìn chiếc máy tính với cấu hình ‘khủng’ có thể tính toán hàng trăm nghìn các mã băm trên một giây; tức là khi một khối bị thay đổi

dữ liệu, tức mã băm của khối sẽ thay đổi, các máy tính can thiệp vào quá trình thay đổi, giả mạo đó sẽ tính toán lại tất cả các mã băm của các khối tiếp theo sao cho phù hợp và liên kết với các khối trước đó và kết quả là sổ cái Blockchain bị thay đổi giả mạo hoàn toàn Để giảm thiểu vấn đề này, Blockchain đã được trang bị thêm phương tiện đó là thuật toán đồng thuận,

Trang 16

trong đó có 02 loại thuật toán đồng thuận được triển khai phổ biến: Thuật

toán bằng chứng công việc (PoW) và thuật toán bằng chứng cổ phần (PoS)

* Thuật toán bằng chứng công việc (Proof of work hay viết tắt là PoW): Cơ chế của PoW là làm chậm lại quá trình hình thành những khối Block mới; ví dụ trong trường hợp Bitcoin, để tính toán bằng chứng công việc theo yêu cầu thì mất khoảng 10 phút, sau đó mới có một khối mới được hình thành vào chuỗi Với cơ chế PoW này, việc giả mạo dường như là không thể, vì khi thay đổi dữ liệu của một khối, người can thiệp giả mạo sẽ phải tính toán lại toàn bộ bằng chứng công việc của những khối tiếp theo; như vậy chúng ta hãy hình dùng xem, mỗi khối để tính toán lại mất tối thiểu

10 phút, với hàng trăm, hàng nghìn khối thì thời gian sẽ nhiều như thế nào

* Thuật toán bằng chứng cổ phần (Proof of Stake hay viết tắt là PoS): ngược lại với PoW, thuật toán PoS là cách khác để xác minh các giao dịch Với PoS, người tạo ra khối mới sẽ được lựa chọn một cách ngẫu nhiên, dựa trên giá trị cổ phẩn (hay còn gọi là stake) của họ có Người này có trách nhiệm xác nhận tính hợp lệ của các khối mới Để trở thành một người xác nhận, thì người này phải đặt cọc một khoản tiền nhất định (đó là stake, và khoản tiền này sẽ bị mất nếu người này thực hiện xác nhận một giao dịch gian lận) và người xác nhận chỉ được khai thác Khi xác nhận được một khối thành công, người xác nhận sẽ nhận được phần thưởng là khoản tiền phí liên quan của các giao dịch tương ứng trong khối đó Nếu người này không muốn tiếp tục làm người xác nhận, sau một khoảng thời gian nhất định để xác thực người này không thực hiện bất kỳ một xác nhận giả mạo nào, thì cổ phẩn và tiền kiếm được của họ sẽ được hoàn lại Như vậy, sẽ rất mất thời gian và tiền để thực hiện một xác nhận một khối block giả Hai giải thuật đồng thuận PoS được dùng phổ biến nhất hiện nay là Algorand [3] và Ouroboros [1,10] được mô tả như sau:

Trang 17

Algorand:

Fullnodes dùng cơ chế đồng thuận Byzantine (hoặc cơ chế đồng thuận khác) để bầu ra một node gọi là Leader và một tập các node gọi là hội đồng chứng thực (Selected verifier committee) như sau:

Mỗi nút sử dụng gossip để lan truyền thông tin báo cho các nút khác trong mạng lượng “stake” của nó

Mọi nút đều có danh sách tổng hợp về “stake” của tất cả các nút

Ngoài cách trên còn có các cách khác như sau:

Chain-based PoS: các nút được tổng hợp lại thành một danh sách có trọng

số theo lượng “stake” mà mỗi nút đang có Sau đó nút lãnh đạo được lựa chọn

từ danh sách đó → chỉ một nút được nhận thưởng

Delegated PoS: Một số nút được chọn ngẫu nhiên làm ứng cử viên từ danh

sách các nút Sau đó các nút còn lại sẽ “đầu tư stake” cho các nút ứng cử viên Sau đó nút lãnh đạo được bầu ngẫu nhiên từ danh sách ứng cử viên → Các nút ủng hộ cho nút lãnh đạo cũng được nhận thưởng

“Coin Age” PoS: “Stake” của mỗi nút được thêm một thuộc tính “tuổi”

(age) Tuổi của các nút sẽ tăng dần theo thời gian Khi nút “đủ tuổi” thì nút đó

sẽ được quyền làm lãnh đạo → Giảm tỉ lệ “người giàu” được làm lãnh đạo thường xuyên

Sau khi bầu được Leader và tập hội đồng chứng thực, Leader tạo ra một block mới và đưa dữ liệu vào block, gửi block tới hội đồng chứng thực Mỗi

Trang 18

lần tạo block mới ta sẽ bầu một Leader mới và hội đồng chứng thực mới khác nhau Sau đó hội đồng chứng thực dùng chữ kí điện tử của mình để kí xác thực lên block này, kèm theo bằng chứng chứng minh mình là một thành viên của hội đồng chứng thực Tất cả thông tin này gọi là chứng thực số của Block Block mới kèm theo chứng thực số của Block được gửi tới tất cả các Fullnode, các Fullnode sẽ kiểm tra chứng thực số của Block là hợp lệ thì sẽ công nhận Block và dữ liệu được lưu trong Block

Ouroboros:

 Hệ thống có n Full Node S1, S2, …, Sn Mỗi Si có cặp khóa (vki, ski)

 Chia thời gian thành các Slot (time stamp), sl1, sl2, … Mỗi Slot có một leader để tạo Block ở Slot đó Ví dụ như hệ thống Bitcoin mỗi Slot khoảng 6 phút Có thể có Slot ko có block nào

 Blockchain bao gồm chuỗi Block B0, B1, B2, …Bk Trong đó B0 là genesis Block (Block khởi tạo) chứa danh sách các khóa công khai vk1, vk2, …, vkn

 Mỗi Block Bi = (h, d, sl, sigsl, sigblock), h là giá trị băm của block trước

đó, d là dữ liệu của block, sig là chữ ký của leader

Block 1 = (h = Hash(Block 0), d, sl1, sigsl_1, sigblock_1) ; Block 2 = (h =

Hash(Block 1), d, sl2, sigsl_2, sigblock_2) ; Block 3 = (h = Hash(Block 2), d, sl3, sigsl_3, sigblock_3) ; ……

 Khi Full node nhận được dữ liệu tx, nó đưa tx vào bảng tạm (có thể gửi chữ ký xác nhận đã nhận được tx cho người gửi) Mỗi tx được lưu trong u vòng (u Slot)

 Blockchain update: bất cứ khi nào Full node có được một chuỗi Block mới B0, B’1, B’2, …B’s với s>k nó thay thế Blockchain cũ bằng chuỗi mới nhận được nếu từng block B’j là hợp lệ (j=1, ,s) Tức là B’j = (h, d, slj, sigsl_j, sigblock) trong đó sig là chữ ký hợp lệ của Full node i, với i-1 = (j-1) mod n

 h, d như đã định nghĩa ở trên

 Blockchain Extension: mỗi Full node thứ i kiểm tra ở slot thứ j:

Trang 19

 i-1 = = (j-1) mod n

 Nếu đúng, Full node i trở thành leader, nó lấy dữ liệu d từ bảng tạm của nó Tạo ra Block mới Bk+1 = (h, d, slj, sigsl_j, sigblock), trong đó h = SHA(Bk), sig là chữ ký của Full node i, sigblock = ECDSA(h,d, slj, sigsl_j)

 Full node i gửi Bk+1 cũng như 2t+1 Block khác gần nhất trong Blockchain của nó nếu có yêu cầu

 Dữ liệu tx được xem là hợp lệ sau v Blocks, v càng lớn hệ thống càng

an toàn, tuy nhiên thời gian đợi tx hợp lệ sẽ lâu hơn

 Hệ thống được chứng minh an toàn nếu số Full node trong hệ thống n

>= 3t +1 Trong đó t là số tối đa các Full node không trung thực (bị tấn công)

Tính không thay đổi được của dữ liệu Thay đổi Block 1 =>

Hash(Block 1) thay đổi => Block 2 thay đổi => Block 3, … cũng sẽ thay đổi Nếu Block thay đổi, chữ ký sigblock không còn hợp lệ -> phải ký lại

1.1.2 Các đặc tính của Blockchain

Những đặc điểm chính của công nghệ Blockchain là: (1) Không thể làm giả, không thể phá hủy; (2) Bất biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng phải đạt sự đồng thuận của cả hệ thống) và sẽ lưu trữ mãi mãi; (3) Bảo mật: các thông tin, dữ liệu trong Blockchain được phân tán và an toàn tuyệt đối; (4) Minh bạch: ai cũng có thể theo dõi dữ liệu Blockchain đi 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ỉ đó; (5) Hợp đồng thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code if-this-then-that (IFTTT), cho phép chúng tự thực thực thi mà không cần bên thứ ba

Hợp đồng thông minh là một giao thức để điều chỉnh hợp đồng Hợp đồng thông minh là giao thức đặc biệt nhằm đóng góp, xác minh hoặc thực hiện thương lượng hoặc thực hiện hợp đồng Hợp đồng thông minh cho phép thực hiện các giao dịch đáng tin cậy mà không có bên thứ ba Các giao dịch này có thể theo dõi và không thể đảo ngược Hợp đồng thông minh

Trang 20

chứa tất cả thông tin về các điểu khoản hợp đồng và thực hiện tất cả các hành động dự kiến một cách tự động

Các loại Blockchain có thể chia thành ba loại theo nguyên tắc về quyền đọc ghi dữ liệu và tham gia vào hệ thống như: Public (công khai); Private (riêng tư) và ermissioned/Consortium (được phép) Với kiểu Public, bất kỳ ai cũng có thể đọc

và ghi dữ liệu trên Blockchain, ví dụ các đồng tiền ảo Bitcoin, Ethereum,… Với kiểu Private, người dùng chỉ có quyền đọc không có quyền ghi dữ liệu vào Blockchain, chỉ có một bên thứ ba tin cậy được quyền ghi, ví dụ như Ripple Còn với kiểu Permissioned bổ sung thêm sự kết hợp giữa bên thứ ba khi tham gia vào Public hay Private, ví dụ như các ngân hàng hay tổ chức tài chính liên doanh sử dụng Blockchain cho riêng mình

1.2 Thương mại điện tử

Thương mại điện tử (e-commerce) là sự mua bán sản phẩm hay dịch vụ trên các hệ thống điện tử như Internet và các mạng máy tính Thương mại điện

tử dựa trên một số công nghệ như chuyển tiền điện tử, quản lý chuỗi dây chuyền cung ứng, tiếp thị Internet, quá trình giao dịch trực tuyến, trao đổi dữ liệu điện

tử Thương mại điện tử thông thường được xem ở khía cạnh của kinh doanh điện tử bao gồm việc trao đổi dữ liệu tạo điều kiện thuận lợi cho các nguồn tài chính và các khía cạnh thanh toán của việc giao dịch

Thương mại điện tử được chia thành 4 nhóm chính:

Giữa doanh nghiệp và người dùng (Business to Customer B2C hoặc Customer to Business C2B): là hình thức giao dịch giữa người dùng và doanh nghiệp qua các phương diện điện tử với mục đích giúp người dùng mua hàng tại nhà mà không cần tới cửa hàng

Giữa doanh nghiệp với nhau (Business to Business B2B): đây là loại giao dịch qua các phương tiện điện tử giữa doanh nghiệp và doanh nghiệp trong việc trao đổi dữ liệu, mua bán, thanh toán hàng hoá và dịch vụ với mục đích cuối cùng là đạt được hiệu quả cao trong sản xuất, kinh doanh

Trang 21

Giữa doanh nghiệp và Chính phủ (Business to Government B2G hoặc Government to Business G2B): là loại hình giao dịch giữa doanh nghiệp với cơ quan nhà nước, trong đó cơ quan nhà nước đóng vai trò khách hàng

Giữa người dùng và Chính phủ (Customer to Government C2G hoặc Government to Customer G2C): đây là loại hình giao dịch giữa cơ quan nhà nước với cá nhân Các giao dịch chủ yếu mang tính hành chính, nhưng có thể mang những yếu tố của TMĐT Ví dụ, khi người dân đóng tiền thuế qua mạng, trả phí khi đăng ký hồ sơ trực tuyến…

Một số hạn chế hiện nay của các hệ thống thương mại điện tử:

 Sự phụ thuộc vào bên thứ ba: Tất cả các thanh toán giao dịch hiện nay đều phải phụ thuộc vào ngân hàng, với chi phí giao dịch là đáng kể

 Sự kém an toàn của công nghệ: Các Website hỗ trợ giao dịch thanh toán thường xuyên bị tấn công, khách hàng do đó thiếu tin tưởng khi thực hiện giao dịch

 Các doanh nghiệp hạn chế hình thức trong việc đề ra các chương trình khuyến mại

 Hệ thống dùng cơ sở dữ liệu tập trung, do đó dữ liệu có thể bị sửa đổi một cách có chủ ý bởi cả người trong hệ thống và ngoài hệ thống, do vậy có thể xảy ra những tình huống tranh cải giữa doanh nghiệp và khách hàng

Một số hệ thống thương mại điện tử:

Amazon: Hệ thống thương mại điện tử lớn nhất hiện nay, Amazon là mô

hình tự cung tự cấp một lượng lớn sản phẩm cho người dùng Thanh toán trên Amazon có 2 hình thức bằng thẻ Gift card Amazon và Visa Card, Master card, Amex Card, Discover , JCB

Alibaba: đây là hệ thống lớn đại diện cho mô hình B2B Alibaba sẽ giúp

các doanh nghiệp tìm thấy những “thứ” mình cần và cung cấp các dịch vụ để hai bên “offline” với nhau để thoả thuận

eBay: đây là hệ thống thương mại điện tử cung cấp nhiều nguồn hàng khác

nhau cho người dùng lựa chọn Nguồn cung trên eBay được cung cấp từ nhiều

Trang 22

nguồn khác nhau vì vậy việc kiểm định chất lượng không được chặt chẽ Ngoài

ra còn rất nhiều vấn đề xảy ra như vấn đề giao tiếp, ngoại ngữ gây khó khăn cho người dùng khi mua hàng

1.2.1 Thanh toán điện tử

Thanh toán điện tử là hình thức thanh toán được tiến hành trên internet, thông qua hệ thống TTĐT, người sử dụng mạng có thể tiến hành các hoạt động thanh toán, chi trả, chuyển tiền …

Thanh toán điện tử được sử dụng khi chủ thể tiến hành mua hàng trên các siêu thị ảo và thanh toán qua mạng Để thực hiện việc thanh toán, thì hệ thống máy chủ của siêu thị phải có được phầm mềm thanh toán trong website của mình Đối với người tiêu dùng khi thực hiện TTĐT, họ cần sử dụng thẻ thanh toán Trên thẻ thường gồm các thông tin về họ và tên chủ thẻ, số thẻ, thời hạn thẻ, chip điện tử hoặc vạch từ, mã số an toàn

Để thực hiện giao dịch và thanh toán TMĐT, các bên tham gia thường thông qua sàn giao dịch TMĐT Đây là một thị trường trực tuyến, được thực hiện trên mạng Internet mà tại đó, những người tham gia tiến hành tìm kiếm thông tin về thị trường và hàng hoá, tiến hành đàm phán giao dịch Đây là một công cụ rất mạnh để bán và quảng cáo hàng hoá, tiết kiệm, cắt giảm được nhiều chi phí cho việc thuê cửa hàng, kho bãi, giúp tiếp cận và xử lý thông tin trực tiếp, nhanh chóng giữa doanh nghiệp với nhà cung cấp, giữa doanh nghiệp với khách hàng

Ưu điểm: Hỗ trợ nguời tiêu dùng, nhà cung cấp sản phẩm và dịch vụ trong

việc thanh toán; tiết kiệm thời gian và đơn giản hóa quá trình thanh toán; tính

an toàn cao, đặc biệt là khi mua sắm các sản phẩm có giá trị như không phải mang theo số lượng tiền lớn, phòng ngừa rủi ro liên quan thanh toán tiền mặt; mất thẻ nhưng vẫn còn tiền do có sự hỗ trợ của các cơ quan hữu quan; các doanh nghiệp có thể bán các sản phẩm dịch vụ bất cứ khi nào khách hàng có nhu cầu mà không phụ thuộc vào thời gian, khoảng cách địa lý

Trang 23

Hạn chế: Nếu an ninh thanh toán của các ngân hàng chưa thực sự hoàn

thiện sẽ tạo ra nhiều tiềm ẩn rủi ro cho người sử dụng dịch vụ TTĐT Khó kiểm soát chi tiêu, đặc biệt đối với thẻ tín dụng

1.2.2 Tiền điện tử

Cũng giống như tiền giấy truyền thống, tiền điện tử là một loại tiền tệ thể hiện tài sản của người chủ sở hữu, cho phép giao dịch và chuyển giao quyền sở hữu không giới hạn Loại tiền tệ này cũng có thể được sử dụng để mua hàng hóa, dịch vụ trong một cộng đồng nhất định Điểm đặc biệt của tiền điện tử là

nó không tồn tại dưới dạng vật chất mà được lưu trữ trên mạng máy tính Blockchain và tiền điện tử dựa trên nó có một số đặc điểm hứa hẹn làm chúng trở thành công nghệ tốt để xử lý các khoản thanh toán Thứ nhất, chúng được dựa trên một mạng ngang hàng (P2P) để thực hiện lưu trữ và thực hiện các giao dịch Tính chất phi tập trung của tiền điện tử dựa vào blockchain cho phép nó hỗ trợ các giao dịch tự trị Lợi thế khác là rất dễ dàng tạo tài khoản mới mỗi thiết bị có thể dễ dàng có tài khoản riêng, một tài khoản mới có thể được tạo ra trong vài giây Vì vậy, không có bên thứ ba nào kiểm soát các tài khoản

và các tài khoản không trực tiếp liên kết với bất kỳ cá nhân nào

Hiện tại trên thế giới có rất nhiều loại tiền điện tử khác nhau, hầu hết đều

sử dụng công nghệ blockchain Đi đầu trong các loại tiền điện tử đó là Bitcoin (BTC), ngoài ra còn nhiều đồng tiền điện tử khác có giá trị cao được thị trường chấp nhận như một loại tiền tệ thanh toán như Ethereum (ETH), Litecoin (LTC)

Tiền điện tử đảm bảo được 3 yếu tố sau:

 Được nhiều người chấp nhận và được sử dụng để thanh toán, trao đổi hàng hóa, dịch vụ;

 Có thể chuyển đổi sang các loại tiền tệ khác một cách nhanh chóng;

 Việc phát hành cũng tuân theo một số quy tắc nhằm đảm bảo không gây

ra lạm phát làm giảm giá trị của đồng tiền

Trang 24

Ta có thể thấy tiền điện tử cũng là một loại tiền tệ Việc sở hữu những đồng tiền điện tử cũng coi như sở hữu một khối tài sản Tiền điện tử là xu thế tất yếu trong quá trình tiến hóa của tiền tệ cũng như khoa học công nghệ

Sự cần thiết thanh toán bằng tiền điện tử:

Bất chấp một số lo ngại ban đầu, chúng ta đã đạt đến điểm cao khi nói đến sự thèm muốn sử dụng tiền điện tử làm nguồn thanh toán Các doanh nghiệp nhận thức được nhu cầu cấp bách phải duy trì liên quan khi hệ sinh thái thanh toán bị phân mảnh bằng cách chấp nhận nhiều phương thức thanh toán hơn khi thanh toán đang ngày càng cởi mở với ý tưởng chấp nhận tiền điện tử, phù hợp với nhu cầu ngày càng tăng của người tiêu dùng đối với việc thanh toán bằng tiền điện tử

Các sàn thương mại điện tử (TMĐT) đạt tốc độ tăng trưởng cao mỗi năm, trở thành một kênh bán hàng không thể thiếu của doanh nghiệp và nơi mua sắm hàng ngày của người tiêu dùng Và cuộc cách mạng gần đây nhất trên thị trường trực tuyến chính là việc tiền điện tử bắt đầu được đưa vào sử dụng thanh toán mua sắm trực tuyến Điều này mở ra một giai đoạn mới đáng mong chờ của TMĐT toàn cầu

Lợi ích của thanh toán bằng tiền điện tử:

 Là một phương thức thanh toán rất sáng tạo, phù hợp với thương mại điện tử đang đi lên trong việc ổn định trong thế giới kỹ thuật số;

 Tốc độ và sự kiểm soát toàn bộ thanh toán;

 Tra cứu và kiểm tra thông tin giao dịch dễ dàng;

 Giảm thiểu các rủi ro khi thanh toán bằng tiền mặt;

 Xây dựng hình ảnh chuyên nghiệp cho các doanh nghiệp;

 Đặc biệt nếu doanh nghiệp xây dựng được hệ thống tiền điện tử của riêng mình thì thanh toán giữa doanh nghiệp và khách hàng có thể không mất phí giao dịch

Trang 25

Hạn chế:

 Người dùng cần sự hiểu biết nhất định về công nghệ, đây vẫn là trở ngại đối với đối tượng người dùng cao tuổi;

 Gia tăng nhiều lợi ích nhưng vẫn tiềm ẩn rủi ro;

 Cần sự củng cố, cảnh giác từ nhiều phía

Kết luận chương 1

Trong chương này luận văn trình bày hai phần chính Phần đầu tiên luận văn trình bày về công nghệ Blockchain, công nghệ đang được dùng phổ biến hiện nay trong các ứng dụng quan trọng trong thực tế như ứng dụng tiền điện

tử, truy xuất nguồn gốc sản phẩm, bản quyền điện tử, …

Phần thứ hai luận văn giới thiệu về bài toán thương mại điện tử bao gồm các hạn chế hiện nay của các hệ thống thương mại điện tử, nhu cầu cần thiết phải dùng tiền điện tử trong thanh toán thương mại điện tử cũng như xây dựng hệ thống thương mại điện tử mới dựa trên công nghệ Blockchain

Trang 26

Chương 2 GIẢI PHÁP KỸ THUẬT XÂY DỰNG ỨNG DỤNG

THƯƠNG MẠI ĐIỆN TỬ

2.1 Bài toán xây dựng hệ thống thương mại điện tử

Một hệ thống thương mại điện tử cần phải có các chức năng chính sau:

 Hệ thống Blockchain để lưu trữ dữ liệu;

 Hệ thống tiền điện tử riêng để phục vụ thanh toán;

 Các chức năng thông thường của một Website thương mại điện tử

Để xây dựng được hệ thống thương mại điện tử như trên ta có hai phương pháp

Phương pháp 1 dựa trên nền tảng Blockchain có sẵn như Ethereum, Solano, Cardano,…

 Các nền tảng này đã có sẵn hệ thống tiền điện tử của riêng mình, ví dụ Ethereum có đồng ETH, Solano có đồng SOL, Cardano có đồng ADA,… Các nền tảng này cho phép cơ chế người dùng được đăng ký ví điện tử cũng như nạp tiền vào ví điện tử thông qua các sàn giao dịch như Binance, CoinBases …

 Hệ thống thương mại điện tử cho phép mỗi khách hàng có một tài khoản (username và password) để đăng nhập, lưu ý tài khoản này độc lập với tài khoản

ví điện tử Tài khoản này được dùng để nhận các Token khuyến mãi;

 Hệ thống thương mại điện tử tạo ra các loại tiền điện tử của riêng mình, dưới dạng các loại Token, như A, B, C, … Lưu ý các nền tảng Blockchain có

sẵn như Ethereum, Solano, Cardano,… hỗ trợ việc tạo ra các loại Token này

thông qua Smart contract;

 Giao dịch mua hàng được thực hiện thông qua việc người dùng tạo giao dịch chuyển tiền từ ví điện tử của mình cho ví điện tử của Website thương mại điện tử Tùy từng chương trình khuyến mại, khách hàng khi thực hiện mua hàng

sẽ được nhận Token A, B hay C, … vào tài khoản của mình;

 Với các Token A, B, C, … Website có thể tùy chọn quy định loại Token nào có thể được dùng để mua hàng (có thể chỉ giới hạn một vài loại mặt hàng

cụ thể) của hệ thống như tiền điện tử của nền tảng Blockchain, loại Token nào

Trang 27

chỉ để nhận hàng khuyến mại hay được tham dự chương trình tri ân nào đó của Website … Như vậy tùy từng cửa hàng việc tạo ra và quy định chức năng của các Token A, B, C, … là hoàn toàn linh động Do vậy các chương trình khuyến mại của doanh nghiệp không còn hạn chế như trong các hệ thống thương mại điện tử hiện nay;

Ưu điểm lớn nhất của cách xây dựng này là giảm công sức lập trình, ngoài

ra còn tận dụng được lợi thế về an toàn bảo mật và các công cụ hỗ trợ của nền tảng Blockchain có sẵn Nhược điểm là phụ thuộc vào nền tảng này, đặc biệt là phụ thuộc vào đồng tiền kỹ thuật số của nền tảng, ví dụ nếu muốn mở tài khoản phải mất phí Gas (ETH, SOL, ADA, …), có nghĩa là khách hàng mặc định phải dùng tiền điện tử của hệ thống

Phương pháp thứ 2 là xây dựng từ đầu, có thể xây dựng toàn bộ từ đầu hoặc dựa vào một công cụ mã nguồn mở như Hyperledger Fabric

Ưu điểm của phương pháp 2 là doanh nghiệp sẽ chủ động hơn trong việc

mở rộng phát triển, cũng như hoàn toàn độc lập và phát triển được hệ thống tiền điện tử của riêng mình Tuy nhiên nhược điểm của phương pháp này là công sức trong xây dựng hệ thống là rất lớn, nếu không đủ uy tín sẽ không tạo được sự tin tưởng của khách hàng trong việc triển khai hệ thống

Với phương pháp 2 ta cũng có hai lựa chọn, thứ nhất là xây dựng dựa trên công cụ mã nguồn mở Hyperledger Fabirc Thứ 2 là xây dựng toàn bộ từ đầu bao gồm lựa chọn giải thuật đồng thuận, hệ chữ ký điện tử, mô hình truyền dữ liệu, … Trong luận văn này học viên sẽ sử dụng công cụ mã nguồn mở Hyperledger Fabirc để xây dựng hệ thống thương mại điện tử Cụ thể sẽ dùng Hyperledger Fabirc để xây dựng hệ thống Blockchain và tiền điện tử Phương pháp này đạt được cả hai mục tiêu, thứ nhất do dựa trên mã nguồn mở do đó vẫn có sự độc lập nhất định, cụ thể là xây dựng được hệ thống tiền điện tử của riêng mình, do đó không mất phí giao dịch khi thanh toán cũng như mở tài khoản Ngoài ra giảm được công sức lập trình so với việc phải xây dựng hệ thống từ đầu

Trang 28

phù hợp các yêu cầu nghiệp vụ của mình

2.2.1 Cấu trúc mạng của Hyperledger Fabric

Kiến trúc đơn giản của một mạng Hyperledger Fabric

Hình 2.1: Kiến trúc mạng của mạng Blockchain Hyperledger Fabric

(hyperledger.org)

- N: (Network) Mạng;

- NC: Network Configuration (Cấu hình của mạng);

- C: Channel ( Kênh ), tập hợp các tổ chức có vai trò nhất định trong cùng

một quy trình kinh doanh Ví dụ, trong một channel về mua bán xe hơi sẽ gồm

có 2 tổ chức là : Nhà sản xuất xe hơi, Nhà phân phối xe hơi;

- CC: Channel Configuration ( Cấu hình của kênh );

- R: Organization ( Tổ chức );

- O: Orderer Node: Nếu như trong Publuc Blockchain, tất cả các node của

mạng đều tham gia vào quá trình đồng thuận, thì ở Hyperledger Fabric chỉ có Orderer tham gia vào quá trình đó;

Trang 29

- P: Peer, là điểm tương tác giữa các thành viên trong tổ chức tương ứng

với kênh, mọi hành động của người dùng đều phải đi qua peer;

- S: Smart Contract (Chaincode) được cài đặt trên kênh, định nghĩa rõ các

struct, các hành động mà người dùng có thể thực hiện để tương tác trạng thái của struct được lưu trong sổ cái;

- L: Ledger ( Sổ cái ), lưu trữ trạng thái của các đối tượng;

- CA : Certificate Authority, phát hành identity (định danh) cho người

dùng hoặc node của tổ chức tương ứng Ví dụ, người dùng A là thành viên của

Tổ chức R1, khi muốn tham gia vào mạng thì sẽ gửi yêu cầu đến CA1, sau đó CA1 sẽ tạo ra một identity gồm private-key, public-key và các đặc tính liên quan khác, sau đó trả về cho người dùng A, từ đó về sau A dùng identity đó để thực hiện các tương tác với mạng, mạng sẽ tự động biết đó là người dùng A đến từ tổ chức R1;

- A: Application, ứng dụng hay giao diện (web, mobile app ) giúp người

Quy trình xây dựng mạng

Bước 1 Bắt đầu định dạng và khởi tạo mạng

Hình 2.2: Khởi tạo mạng ban đầu với một Order node (hyperledger.org)

Hình trên là sơ khởi của một mạng N Gồm có một Orderer Node O4, trên đó chạy một dịch vụ có tên là Ordering Services, tổ chức R4 nắm giữ quyền quản trị mạng N và thông tin này được lưu trong cấu hình mạng NC4, node CA4 có nhiệm vụ phát hành identity cho người dùng hoặc peer hoặc application đến từ

tổ chức R4

Trang 30

Bước 2 Thêm một tổ chức quản trị

Hình 2.3 : Thêm cấu hình mạng (hyperledger.org)

NC4 ban đầu được cấu hình để chỉ cho phép người dùng R4 có quyền quản trị trên mạng Trong bước này, sẽ thêm một tổ chức R1 vào mạng và cho phép R1 có quyền quản trị như R4:

- Tổ chức R4 cập nhật cấu hình mạng NC4 để thêm tổ chức R1 làm quản trị viên Sau thời điểm này, R1 và R4 có quyền ngang nhau đối với cấu hình mạng;

- CA1 cũng được thêm vào, CA1 sẽ cung cấp indentity cho người dùng của tổ chức R1 Sau thời điểm này cả người dùng từ R1 và người dùng từ R4 đều có quyền quản trị mạng;

- Mặc dù O4 đang chạy trên một cơ sở hạ tầng nào đó của R4 nhưng R1 cũng có quyền như R4 đối với O4

Bước 3 Định nghĩa 1 consortium

Hiện tại mạng có thể được quản lý bởi R1 và R4, và có rất ít hành động

mà có thể thực hiện được đối với mạng Để có thể mapping các hoạt động kinh doanh vào mạng thì điều đầu tiên cần làm là định nghĩa một consortium (nhóm

- tập đoàn) Từ này có nghĩa đen là một nhóm các tổ chực cùng nằm trong một hoạt động kinh doanh, ví dụ Tổ chức sản xuất ô tô, Tổ chức phân phối ô tô được sản xuất bởi Tổ chức sản xuất đến tay Người tiêu dùng

Trang 31

Hình 2.4: Thêm một consortium (hyperledger.org)

Một quản trị viên mạng (R1 hoặc R4) định nghĩa một consortium X1 có chứa hai thành viên, R1 và R2 Định nghĩa của consortium này được lưu trữ trong cấu hình mạng NC4 và sẽ được sử dụng ở giai đoạn phát triển mạng tiếp theo CA2 là Cơ quan cấp identity cho người dùng, node, application đến từ tổ chức R2 này Một consortium có số lượng tổ chức tùy ý

Bước 4 Tạo một channel cho một consortium

Kênh là một phương tiện truyền thông tin mà thông qua đó các thành viên của một consortium có thể giao tiếp với nhau Có thể có nhiều consortium và nhiều kênh trong một mạng, nhưng mỗi consortium chỉ có một kênh

Hình 2.5: Thêm một kênh mới vào mạng (hyperledger.org)

Một kênh C1 đã được tạo cho consortium X1 Cấu hình của kênh C1 được lưu trong cấu hình kênh CC1, tách biệt hoàn toàn với cấu hình mạng NC4 CC1

Trang 32

được quản lý bởi R1 và R2, 2 tổ chức này có quyền ngang nhau đối với C1 R4 không có quyền gì trong CC1

Kênh C1 cung cấp một cơ chế liên lạc riêng cho các tổ chức trong X1 Mặc dù kênh C1 là một phần của mạng N, nhưng nó tách biệt hoàn toàn với N Cũng lưu ý rằng tổ chức R4 không nằm trong kênh này - kênh này chỉ dành cho xử lý giao dịch giữa R1 và R2 Trong bước trước R4 đã cấp quyền quản trị mạng cho R1, rồi R1 tạo ra một consortium Hiểu ngầm rằng R4 cũng

đã cấp quyền cho R1 tạo kênh! Trong sơ đồ này, có thể là tổ chức R1 hoặc R4

đã tạo ra kênh C1 Một kênh có thể có bất kỳ số lượng tổ chức nào được kết nối với nó

Cấu hình kênh CC1 chứa các quy định về quyền mà R1 và R2 có trên kênh C1 - và R4 không có quyền gì trong kênh này cả R4 chỉ có thể tương tác với C1 nếu chúng được thêm bởi R1 hoặc R2 vào cấu hình kênh CC1 R4 cũng không thể tự thêm mình vào kênh C1 - nó phải và chỉ được thực hiện bởi R1 và R2

Có thể thấy rằng tính riêng tư của Hyperledger Fabric đến từ Kênh Hyperledger Fabric rất mạnh về vấn đề này, vì nó cho phép các tổ chức chia sẻ

cơ sở hạ tầng nhưng lại giữ được sự riêng tư của mình

Mọi cập nhật cho cấu hình mạng NC4 từ thời điểm này trở đi sẽ không có ảnh hưởng trực tiếp đến cấu hình kênh CC1; ví dụ: nếu định nghĩa consortium X1 bị thay đổi, nó sẽ không ảnh hưởng đến các thành viên của kênh C1 Do đó, các kênh rất hữu ích vì chúng cho phép liên lạc riêng giữa các tổ chức cấu thành kênh Hơn nữa, dữ liệu trong một kênh được cách ly hoàn toàn với phần còn lại của mạng, cũng như các kênh khác

Bước 5 Peer và Ledger

Cách sử dụng kênh để kết nối các tổ chức lại với nhau

Trang 33

Hình 2.6: Kết nối các peer vào kênh (hyperledger.org)

Một peer P1 đã tham gia kênh C1 Mỗi Kênh sẽ chỉ có một sổ cái duy nhất, mỗi Peer sẽ lưu trữ 1 bản sao của sổ cái này để người dùng từ tổ chức tương ứng truy cập Chẳng hạn như P1 của tổ chức R1 lưu trữ bản sao của sổ cái L1 để người dùng từ tổ chức R1 truy cập

L1 được physically hosted trên peer P1, nhưng logically hosted trên kênh C1 Lúc này, P1 và O4 có thể giao tiếp với nhau thông qua kênh C1

Mọi thành phần từ người dùng đến peer đều cần có 1 identity Vì thế P1

là cũng có một identity do CA1 cấp, xác định P1 thuộc tổ chức R1

Khi P1 được start, nó có thể tham gia kênh C1 bằng cách gửi yêu cầu tham gia O4 Khi O4 nhận được yêu cầu tham gia này, nó sử dụng cấu hình kênh CC1 để xác định quyền của P1 trên kênh này Ví dụ, CC1 xác định xem P1 có thể đọc và / hoặc ghi thông tin vào sổ cái L1 hay không

Bước 6 Application và Smart Contract ( Chaincode)

Bây giờ kênh C1 có một sổ cái trên đó và có thể bắt đầu kết nối các application để sử dụng một nghiệp vụ kinh doanh được định nghĩa trong smart contract

Trang 34

Hình 2.7: Applications tương tác với mạng (hyperledger.org)

Một smart contract S5 đã được cài đặt trên P1 Application A1 của tổ chức R1 có thể sử dụng S5 để truy cập vào sổ cái L1 thông qua peer P1 Trong kênh lúc này có A1, P1 và O4

Cũng giống như các peer, orderer và người dùng, một application sẽ có một identity được liên kết với tổ chức tương ứng Chẳng hạn A1 có một identity được CA1 cung cấp để xác định A1 thuộc về R1

Bây giờ có vẻ như A1 có thể truy cập vào sổ cái L1 trực tiếp thông qua P1, nhưng trên thực tế, tất cả quyền truy cập được quản lý thông qua Smart Contract S5 Hiểu đơn giản là S5 định nghĩa tất cả các use case truy cập vào sổ cái L1; S5 cung cấp một tập hợp các cách xác định rõ ràng mà theo đó sổ cái L1 có thể được truy vấn hoặc cập nhật hoặc cập nhật như thế nào, bởi ai Nói tóm lại, ứng dụng khách A1 phải thông qua Smart Contract S5 để tương tác với

sổ cái L1!

Smart Contract có thể được tạo bởi các nhà phát triển ứng dụng trong mỗi

tổ chức để thực hiện quy trình kinh doanh được chia sẻ bởi các thành viên của consortium

Một kênh có thể có nhiều Smart Contract

Bước 6.1 Cài một smart contract

Sau khi smart contract S5 được code xong, quản trị viên trong tổ chức R1 phải cài đặt nó vào peer P1 Đây là một hoạt động đơn giản; sau đó, P1 có thể thấy logic triển khai của S5 - code mà nó sử dụng để truy cập vào sổ cái L1

Ngày đăng: 17/07/2023, 23:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w