Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Blockchain - góc nhìn về kĩ thuật và ứng dụng By Thanh Nguyen

Slide 3

Slide 3 text

Nội dung 1. Tổng quan về blockchain 2. Đằng sau Bitcoin 3. Đào coin 4. Smart contract 5. Ứng dụng của blockchain 6. Giới thiệu và demo về Hyperledger Fabric

Slide 4

Slide 4 text

Blockchain là gì? Blockchain = block + chain => là một chuỗi khối được liên kết với nhau

Slide 5

Slide 5 text

Góc nhìn của người làm kinh tế

Slide 6

Slide 6 text

Góc nhìn của người lập trình viên

Slide 7

Slide 7 text

Góc nhìn của người làm networking

Slide 8

Slide 8 text

Một số thành phần trong blockchain - Public key, private key, wallet - Transaction, block - Smart contract, consensus - Peer-to-peer network, node - Hashing function

Slide 9

Slide 9 text

Transaction - Theo wikipedia, transaction là đơn vị tương tác với hệ cơ sở dữ liệu, đảm bảo nhất quán và tin cậy

Slide 10

Slide 10 text

Block - Là những file chứa dữ liệu liên quan đến mạng blockchain (transaction, metadata) được lưu trữ vĩnh viễn - Có thể liên tưởng block là một trang trong cuốn sổ cái - Dùng merkle tree trong việc xác minh transaction có tồn tại trong block hay không một cách nhanh chóng và đơn giản

Slide 11

Slide 11 text

Public key - Được sinh ra từ private key - Dùng để thêm transaction vào blockchain bởi các peer

Slide 12

Slide 12 text

Private key - Chỉ owner của public key mới biết - Sinh ra public key - Chú ý: + Việc kiểm chứng public key được sinh ra bởi private key hay không thì dễ dàng, nhưng việc từ public key để tìm ra private key thì gần như bất khả thi + Private key phải khớp với public key trong transaction thì mới có thể chứng minh quyền sở hữu của người dùng private key

Slide 13

Slide 13 text

Wallet - Là nơi vận hành (giao dịch, truy vấn) tài sản số của người dùng dùng private key và public key + Đối với ứng dụng token: là tiền ảo + Đối với ứng dụng phi token (token không được dùng): thường là dữ liệu dùng để chia sẻ

Slide 14

Slide 14 text

Các thành phần cấu thành blockchain

Slide 15

Slide 15 text

Phân loại blockchain

Slide 16

Slide 16 text

Consortium blockchain - Là phương pháp lai giữa public blockchain và private blockchain - Consortium blockchain sẽ có lợi nhất trong môi trường có nhiều tổ chức hoạt động trong một ngành và yêu cầu một nền tảng chung để giao dịch hoặc để chuyển tiếp thông tin - Khi tham gia vào, các tổ chức có thể chia sẻ những hiểu biết sâu sắc về ngành của họ với những tổ chức khác

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Bitcoin Mining (Đào coin) - Động lực: miner nào thêm block vào blockchain sẽ được thưởng một số coin. - Ai là người được phép thêm vào? => là người giải được câu đố của hệ thống nhanh nhất và được các miner khác OK - Câu đố là gì? ...

Slide 19

Slide 19 text

Proof of Work (PoW) và số Nonce

Slide 20

Slide 20 text

Cấu trúc Bitcoin Blockchain - Mỗi block tổng hợp transaction ~ 10 phút và blocksize cố định là 1MB ~ 3.3 -7 transaction/s - Miner tìm số nonce thỏa mãn yêu cầu của PoW - Miner "broadcast" đến tất cả các peer xác minh xem số nonce có thoả mãn PoW - Miner thêm block vào blockchain sau đó được thưởng một số coin nhất định

Slide 21

Slide 21 text

Các vi xử lý thường được dùng để đào bitcoin

Slide 22

Slide 22 text

Quá trình trưởng thành của blockchain

Slide 23

Slide 23 text

Smart contract - Được ra đời bởi nhà khoa học máy tính và mật mã học Nick Szabo năm 1994 - Hợp đồng thông minh là một giao thức quản lý hợp đồng đảm bảo tính nhanh gọn và minh bạch ● Với mục tiêu là đóng góp, xác nhận và tiến hành quá trình đàm phán và thực hiện hợp đồng ● Nó cho phép triển khai transaction mà không cần thông qua một bên thứ ba trung gian ● Smart contract chứa bên trong mình những điều khoản (business logic) và thực hiện chúng một cách tự động

Slide 24

Slide 24 text

Nguyên lý hoạt động "Nguyên lý vận hành của smart contract tương tự như máy bán hàng tự động " - Để lập một hợp đồng cần: ● Chủ thể hợp đồng như các sản phẩm/dịch vụ ● Chữ ký điện tử (signature = private key + data + signing algorithm) ● Điều khoản hợp đồng (logic application) ● Nền tảng phân quyền (p2p network and consensus)

Slide 25

Slide 25 text

Hoạt động của Smart contract

Slide 26

Slide 26 text

Ví dụ về hợp đồng mua bán xe

Slide 27

Slide 27 text

Ứng dụng blockchain

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Chuyển tiền quốc tế - Thông thường mất 2-3 ngày - Áp dụng blockchain: chỉ trong 5-10 phút => giải quyết vấn đề "trust" giữa các tổ chức

Slide 30

Slide 30 text

Truy xuất nguồn gốc trong chuỗi cung ứng - Thực trạng: không phân biệt được sự thật/ giả của hàng hóa, không biết nguồn gốc của sản phẩm => giảm giá thành sản phẩm do cạnh tranh không lành mạnh, niềm tin của khách hàng đi xuống - Blockchain: biết được xuất xứ của sản phẩm => thẩm định được chất lượng => giá thành tăng - Giải quyết vấn đề "minh bạch "

Slide 31

Slide 31 text

Quản lý bệnh án với quyền truy cập hạn chế - Thực trạng: thông tin nhạy cảm => khó chia sẻ. Khó truy vết được tiểu sử bệnh án => khó điều tra được gốc rễ của bệnh tật - Blockchain: chia sẻ thông tin cá nhân đúng nơi, có cái nhìn tổng quát về người bệnh => dễ điều tra bệnh tật (bệnh di truyền, bệnh truyền nhiễm, dịch, ...) - Giải quyết vấn đề "privacy"

Slide 32

Slide 32 text

Tổng quan về hyperledger fabric - Hyperledger fabric là một platform để tạo mạng blockchain riêng tư và có cấp quyền - Sử dụng bởi IBM, SAP, Oracle, ... trong dịch vụ blockchain của họ - Phù hợp cho những ứng dụng doanh nghiệp vì được tích hợp sẵn về cấu trúc cấp phép quyền và quản trị, cụ thể là: + Phân quyền: organizations, federated users, groups, … + Quản trị: phục vụ cho đa số (hơn 50% peer xác minh giao dịch) Tham khảo: https://hyperledger-fabric.readthedocs.io/en/release-2.2/blockchain.html

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Transaction flow

Slide 36

Slide 36 text

Tài liệu tham khảo https://hyperledger-fabric.readthedocs.io/en/release-2.2/network/network.html https://speakerdeck.com/eoinwoods/a-breathless-tour-of-blockchain Ebook "Hands-on blockchain with Hyperledger"

Slide 37

Slide 37 text

Demo 1. Tạo một network fabric 2. Tạo một channel 3. Tạo một smart contract 4. Deploy smart contract 5. Test smart contract

Slide 38

Slide 38 text

Create network fabric ~/projects/blockchain-demo/fabric-samples/fabcar/startFabric.sh

Slide 39

Slide 39 text

Create channel ./network createChannel -c channeldemo

Slide 40

Slide 40 text

Tạo một smart contract

Slide 41

Slide 41 text

Deploy smart contract ./network deployCC -c channeldemo -ccn historycc2 -ccv 1 -cci initLedger -ccl go -ccp ../chaincode/history

Slide 42

Slide 42 text

THANKS FOR LISTENING