Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

thanhgit
January 24, 2021

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

- Introducing about blockchain
- Introducing about hyperledger fabric
- Demo "Creating blockchain with hyperledger fabric"

thanhgit

January 24, 2021
Tweet

More Decks by thanhgit

Other Decks in Research

Transcript

  1. View Slide

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

    View Slide

  3. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

  10. 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

    View Slide

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

    View Slide

  12. 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

    View Slide

  13. 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ẻ

    View Slide

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

    View Slide

  15. Phân loại blockchain

    View Slide

  16. 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

    View Slide

  17. View Slide

  18. 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ì?
    ...

    View Slide

  19. Proof of Work (PoW) và số Nonce

    View Slide

  20. 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

    View Slide

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

    View Slide

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

    View Slide

  23. 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

    View Slide

  24. 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)

    View Slide

  25. Hoạt động của Smart contract

    View Slide

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

    View Slide

  27. Ứng dụng blockchain

    View Slide

  28. View Slide

  29. 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

    View Slide

  30. 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 "

    View Slide

  31. 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"

    View Slide

  32. 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

    View Slide

  33. View Slide

  34. View Slide

  35. Transaction flow

    View Slide

  36. 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"

    View Slide

  37. 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

    View Slide

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

    View Slide

  39. Create channel
    ./network createChannel -c channeldemo

    View Slide

  40. Tạo một smart contract

    View Slide

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

    View Slide

  42. THANKS FOR LISTENING

    View Slide