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

6ddf14675dfb386411b41f6737bc758f?s=47 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"

6ddf14675dfb386411b41f6737bc758f?s=128

thanhgit

January 24, 2021
Tweet

Transcript

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

    By Thanh Nguyen
  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
  4. Blockchain là gì? Blockchain = block + chain => là

    một chuỗi khối được liên kết với nhau
  5. Góc nhìn của người làm kinh tế

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

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

  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
  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
  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
  11. Public key - Được sinh ra từ private key -

    Dùng để thêm transaction vào blockchain bởi các peer
  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
  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ẻ
  14. Các thành phần cấu thành blockchain

  15. Phân loại blockchain

  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
  17. None
  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ì? ...
  19. Proof of Work (PoW) và số Nonce

  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
  21. Các vi xử lý thường được dùng để đào bitcoin

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

  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
  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)
  25. Hoạt động của Smart contract

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

  27. Ứng dụng blockchain

  28. None
  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
  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 "
  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"
  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
  33. None
  34. None
  35. Transaction flow

  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"
  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
  38. Create network fabric ~/projects/blockchain-demo/fabric-samples/fabcar/startFabric.sh

  39. Create channel ./network createChannel -c channeldemo

  40. Tạo một smart contract

  41. Deploy smart contract ./network deployCC -c channeldemo -ccn historycc2 -ccv

    1 -cci initLedger -ccl go -ccp ../chaincode/history
  42. THANKS FOR LISTENING