Định danh của Block này chính là giá trị hash của block ngay trước nó, từ đó ta tạo thành một chuỗi liên kết trong Blockchain... Consensus Mechanism• Thuật toán đồng thuận blo
Trang 2Những Khái Niệm
Cơ Bản Về Blockchain
Trang 3Hash Function
• Hàm hash là một hàm số dùng để chuyển đổi dữ liệu từ một kích thước bất kì sang một kích thước nhất định
Trang 4Hash
Function
• Hàm hash là một hàm một chiều, không thể nghịch đảo và có độ dài cố định vậy nên
ta không thể suy ngược đầu vào của một giao dịch từ kết quả hash cũng như suy luận
Trang 5Hash
Function
•Kết quả của hàm Hash có
chiều dài cố định và cũng là duy nhất đối với một input
nhất định Do vậy, người ta dùng kết quả của hàm hash để kiểm tra đầu vào giao dịch có đúng không mà không cần tiết lộ dữ liệu
Trang 6Hash
Function
•Các thuật toán Hash được sử dụng rộng rãi là MD5 và
SHA256 Trong đó MD5 tạo
ra giá trị băm 128 bit và
SHA256 tạo ra giá trị băm là 256bit và trong thực tế thì hàm
Trang 7Why hash?
• Trong Blockchain thì các giá trị đầu ra từ hàm hash được sử dụng làm các định danh duy nhất cho các Block Định danh của Block này chính là giá trị hash của block ngay trước nó, từ đó ta tạo thành một chuỗi liên kết trong Blockchain
Trang 8Why hash?
• Bởi vì input của hàm hash là nội dung của Block trước đó nên khi ta thay đổi nội dung của Block thì giá trị hash của tất cả Block trong chuỗi cũng bị thay đổi theo Bởi vì tính
Trang 9Consensus Mechanism
• Thuật toán đồng thuận
blockchain có thể được định nghĩa là một cơ chế mà qua
đó các nút phân tán trong hệ thống đều đạt được sự đồng thuận
Trang 10• Trong cấu trúc truyền thống, sự đồng thuận hiếm khi là vấn đề nhờ vào sự tồn tại của cơ quan trung ương Trái lại, trong một hệ thống phân tán như blockchain, mỗi giao điểm vừa là máy chủ vừa là không gian lưu trữ dữ liệu
Trang 11• Proof of work (PoW)
• Proof of Stake (PoS)
Trang 12• Thuật toán đồng thuận đóng vai trò quan trọng trong việc duy trì tính toàn vẹn và bảo mật của mạng tiền điện tử Chúng cung cấp phương tiện để các nút phân tán đạt được sự đồng thuận về phiên bản đúng của blockchain Việc đồng thuận với
Trang 13Proof of Work
• Khái niệm: Cách thức hoạt động đó là những người tham gia blockchain
(được gọi là miner) phải giải bài toán cần tính toán phức tạp để có thể
thêm một khối vào blockchain
• Mục đích: Đó là người dùng phải sử dụng tài nguyên ( tiền điện, đầu tư
phần cứng ) của mình thì mới có thể xác thực dữ liệu vào blockchain hay còn gọi là mine block Chính vì thế nếu cố gắng gian lận sẽ dẫn đến tài nguyên sử dụng để mine sẽ lãng phí do đó tự làm hại chính mình
Trang 14Proof of Stake
• Khái niệm: Proof of Stake thay thế PoW bằng một cơ chế mà trong đó các
khối được xác nhận theo tỷ lệ cổ phần của những người tham gia Trình xác nhận hợp lệ của mỗi khối (cũng được gọi là thợ đúc tiền) được xác định
bằng tỉ lệ cổ phần của đồng tiền điện tử chứ không phải bằng lượng công
suất tính toán được phân bổ
• Mục đích: Blockchain được bảo đảm bằng một quá trình bầu chọn giả ngẫu
Trang 17Digital
Signature
• Thông tin giao dịch sẽ được bảo mật bằng một hàm băm và chữ kí của các bên giao dịch
• Bộ chữ ký bao gồm: khóa riêng và khóa công khai
Trang 18Digital Signature
Trang 19Digital Signature
Trang 20Blockchain
Trang 21Khởi nguồn
1991
Được đề xuất năm
bởi hai nhà
nghiên cứu Stuart
Haber và W Scott
Stornetta
2008
Blockchain đầu tiên được phát triển bởi Satoshi Nakamoto với tên gọi Bitcoin
Trang 22Blockchain là gì?
Cơ sở
dữ liệu phi tập trung
Lưu trữ thông tin theo khối
Trang 23• Blockchain (chuỗi khối), là một
cơ sở dữ liệu phân cấp lưu trữ
thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian
Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một
Trang 24• 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
mạng lưới chấp nhận thì sẽ
không có cách nào thay đổi được
nó
Trang 25Public Blockchain
• Public Blockchain là các
Blockchain không cần được cấp quyền, đơn cử như Bitcoin vì bất kỳ ai cũng có thể xem cũng như tham gia vào cơ chế đồng thuận ví dụ như bằng cách khai thác (PoW) hoặc đóng góp cổ phần (PoS)
Trang 26• Các public Blockchain được thiết kế tốt có khả năng chống kiểm duyệt vượt trội tuy nhiên điều đó ảnh hưởng đến tốc độ và thông lượng Loại blockchain này phù hợp nhất để đảm bảo
Trang 27Blockchain
• Các private Blockchain đặt ra các nguyên tắc về việc ai có thể tham gia và ghi dữ liệu vào chuỗi Private
Blockchain không có phải là hệ thống phi tập trung, vì có một hệ thống phân cấp rõ ràng khi xét về mặt kiểm soát Tuy nhiên, private Blockchain vẫn là mạng phân tán vì trong đó nhiều node vẫn duy trì một bản sao của chuỗi trên
Trang 28• Các chuỗi riêng tư phù hợp với thiết lập doanh nghiệp, trong đó một tổ chức muốn tận hưởng các thuộc tính của blockchain mà vẫn có thể bảo vệ mạng của họ không bị những người bên ngoài
Trang 29Consortium Blockchain
•Consortium blockchain là sự kết hợp giữa các chuỗi công khai và riêng tư và kết hợp các yếu tố từ
cả hai Sự khác biệt đáng chú ý
nhất giữa các loại blockchain này
có thể được quan sát ở cấp độ
đồng thuận
Trang 30Consortium Blockchain
•Thay vì một hệ thống mở trong
đó bất kỳ ai cũng có thể xác nhận các khối hoặc một hệ thống đóng trong đó chỉ một tổ chức duy nhất chỉ định những người tạo ra các
khối, thì chuỗi consortium bao
Trang 31• Từ đó, các quy tắc của hệ thống rất linh hoạt: Khả năng hiển thị của chuỗi có thể giới hạn ở các trình xác nhận, có thể được xem bởi những cá nhân được ủy quyền hoặc bởi tất cả Với điều kiện các trình xác nhận có thể đạt được sự đồng thuận, các thay đổi có thể dễ dàng được đưa ra Đối với chức năng của blockchain, nếu một số lượng các bên hoạt động trung thực hệ thống sẽ không gặp phải bất kỳ
Trang 32•Một consortium blockchain sẽ
có lợi nhất trong môi trường có nhiều tổ chức hoạt động trong cùng một ngành và yêu cầu một nền tảng chung để thực hiện các giao dịch hoặc để chuyển tiếp
Trang 33Cấu trúc của Blockchain
Dữ liệu Hash của khối hiện
tại
Hash của khối trước
Trang 35Cơ chế hoạt
động của
Blockchain
Trang 37Bitcoin Network
• Mô hình mạng ngang hàng
• Truyền tải các block, giao dịch giữa các node
Cơ chế hoạt
động của
Blockchain
Trang 38• Kỹ thuật xác thực giao dịch
• Miners có nhiệm vụ xác thực giao dịch
• Miners sẽ gom giao dịch muốn xác thực thêm vào Candidate
Cơ chế hoạt
động của
Blockchain
Trang 39Cấu trúc block Bitcoin
• Version
• Timestamp
• Bits và Nonce
• Previous Block Hash
• Merkle Root
Cơ chế hoạt
động của
Blockchain
Trang 40Cấu trúc block của Bitcoin
Nonce Block Hash Previous Merkle Root
Trang 41Candidate Block hợp lệ là thế nào? Block Hash = Hash(Version + Previous Block
Hash + Merkle Root + Timestamp + Bits + Nonce)
Trang 42Smart Contract
Trang 43Khái niệm
• Hợp đồng thông minh là một ứng dụng hoặc chương trình chạy trên Blockchain Hợp đồng thông minh giống như một hợp đồng kỹ thuật số bị bắt buộc thực hiện bởi một bộ quy tắc cụ thể Các quy tắc này được do bộ mã máy tính xác định trước, và tất cả các node trong mạng đều phải sao chép và thực thi các quy tắc đó
Trang 44Khái niệm
• Về bản chất, các hợp đồng thông minh trên blockchain cho phép tạo ra các giao thức không cần dựa trên sự tin cậy Tức là hai bên trong hợp đồng
có thể đưa ra các cam kết thông qua blockchain mà không cần phải biết hoặc tin tưởng lẫn nhau Họ có thể
Trang 45Etherum’s contract
• Trên mạng Ethereum, các hợp đồng thông minh chịu trách nhiệm thực thi và quản lý các hoạt động diễn ra trên
blockchain khi những người dùng (địa chỉ) tương tác với nhau Bất kỳ địa chỉ nào không phải là hợp đồng thông minh đều được gọi là tài khoản độc lập
(externally owned account, EOA) Do đó, hợp đồng thông minh do máy tính kiểm soát và EOA do người dùng kiểm soát
Trang 46Các tính năng chính
• Phân tán: Hợp đồng thông minh được sao chép và phân phối trong tất cả
các nút của mạng Ethereum Đây là một điểm khác biệt so với các giải
pháp khác dựa trên các máy chủ tập trung
• Tất định: Hợp đồng thông minh chỉ thực hiện các hành động mà chúng
được thiết kế để thực hiện trong trường hợp các điều kiện được thỏa mãn
Trang 47Các tính năng chính
• Tự động: Hợp đồng thông minh có thể tự động hóa tất cả các loại tác vụ,
nó hoạt động như một chương trình tự thực hiện Tuy nhiên, trong hầu hết các trường hợp, nếu hợp đồng thông minh không được kích hoạt, nó sẽ duy trì trạng thái "không hoạt động" và sẽ không thực hiện bất kỳ hành động nào
Trang 48Các tính năng chính
• Không thể sửa đổi: Không thể sửa đổi hợp đồng thông minh sau khi triển
khai Chỉ có thể "xóa" chúng nếu chức năng này đã được thêm vào từ
trước Do đó, có thể nói rằng hợp đồng thông minh giống như một mã
chống giả mạo
• Có thể tùy chỉnh: Trước khi triển khai, hợp đồng thông minh có thể được
Trang 49Các tính năng chính
• Không cần dựa trên sự tin cậy: Hai hoặc nhiều bên của hợp đồng có thể
tương tác thông qua hợp đồng thông minh mà không cần biết hoặc tin
tưởng lẫn nhau Ngoài ra, công nghệ blockchain đảm bảo tính chính xác của dữ liệu
• Minh bạch: Vì các hợp đồng thông minh dựa trên một blockchain công
khai, không ai có thể thay đổi mã nguồn của chúng, mặc dù bất kỳ ai cũng
có thể xem được
Trang 51Ứng Dụng Blockchain
Trang 52Đối với ngành ngân hàng
Trang 53Mục đích của Blockchain trong ngành ngân hàng
thống cũng như cải thiện chất lượng phục vụ khách hàng
Trang 54Giao dịch truyền thống
Trang 55Công nghệ sinh trắc học và sự bảo đảm
trong giao dịch với Blockchain
Trang 56Đối với ngành logistic
Trang 57Case Study Walmart
• Nguồn gốc: ngăn chặn những nguy hại liên quan đến thức ăn
của Walmart thời gian truy vết nguồn gốc lên đến 7 ngày
• Giải pháp: Xây dựng hệ thống blockchain giúp truy vết
Trang 58Chống Hàng Giả
• Hàng hóa được gắn nhãn
từ đầu dây chuyền
• Theo dõi qua các quá
trình vận chuyển
• Tiêu hủy mã hang khi đến
Trang 60Hyperledger Fabric