Vina Blockchain
Vina Blockchain
Dang Van
Episode 222 – Thuật toán đồng thuận Proof-of-Work – Blockchain cho Doanh nghiệp – Phần IV - Mar 13 – 2019 Do Lê Quang Văn thực hiện
20 minutes Posted Mar 19, 2019 at 8:56 am.
0:00
20:55
Download MP3
Show notes
Thuật toán đồng thuận
Trong Tập tin này, chúng ta sẽ tìm hiểu điều gì khiến Blockchain Bitcoin được đánh dấu theo cách phi tập trung. Chúng ta sẽ đi sâu vào cơ chế đồng thuận của Bitcoin có tên Proof-of-Work và xem nó phải làm gì với các vấn đề toán học và khai thác phức tạp. Chúng tôi sẽ đề cập đến các chủ đề sau trong Tập tin này:
● Vấn đề của các tướng Byzantine
● Thuật toán đồng thuận Proof-of-Work
● Đồng thuận phi tập trung và lý thuyết trò chơi
Vấn đề của các tướng ByzantineCác Byzantine
Vấn đề của các tướng thực sự là một cách trừu tượng để mô tả một vấn đề trong các hệ thống máy tính được giới thiệu trong một bài báo cùng tên năm 1982. Vấn đề nêu rõ rằng các hệ thống máy tính đáng tin cậy phải có khả năng hoạt động hiệu quả khi có các thành phần bị lỗi có thể gửi thông tin xung đột đến các bộ phận khác nhau của hệ thống. Vấn đề này thậm chí còn nghiêm trọng hơn trong các mạng máy tính phi tập trung.
Hãy tưởng tượng thử nghiệm suy nghĩ sau đây.
Quân đội Byzantine đã bao vây một thành phố của kẻ thù. Quân đội được tổ chức thành nhiều đơn vị. Mỗi đơn vị được chỉ huy bởi một vị tướng. Tất cả những vị tướng này cần đưa ra một kế hoạch hành động phối hợp, nhưng những vị tướng này đóng quân cách xa nhau và chỉ có thể giao tiếp qua tin nhắn. Để làm cho mọi thứ phức tạp hơn, một hoặc nhiều tướng có thể là kẻ phản bội. Những tướng phản bội tiềm năng như vậy có thể gửi tin nhắn gây hiểu lầm và cố gắng phá vỡ mọi kế hoạch hành động phối hợp, có thể là tấn công hoặc rút lui. Để tìm ra giải pháp thành công cho câu hỏi hóc búa này, quân đội Byzantine cần tìm ra con đường dẫn đến hành động phối hợp, bằng cách này hay cách khác.
Để đạt được điều này, quân đội Byzantine cần một số thuật toán hoạt động hiệu quả hướng tới một kết quả phối hợp khi phần lớn các tướng trung thành theo kế hoạch, trong khi một số kẻ phản bội thì không.
Thuật toán đồng thuận Proof-of-Work
Bây giờ bạn đã biết vấn đề, hãy xem giải pháp được gọi là thuật toán Byzantine chịu lỗi. Thuật toán này liên quan đến lý thuyết trò chơi và toán học.
Việc triển khai thực tế đầu tiên và quan trọng nhất của thuật toán dung sai lỗi Byzantine đi kèm với Bằng chứng công việc - Proof-of-Work của Bitcoin. Trong trường hợp này, các tướng là các nút trên mạng Bitcoin, còn được gọi là thợ mỏ. Nút trên mạng là điểm kết nối có thể nhận, tạo, lưu trữ và gửi dữ liệu qua mạng. Nói cách khác, các nút là các chấm được kết nối tạo nên một mạng.
Khái niệm quan trọng cần nắm bắt ở đây là các nút khai thác này bắt đầu từ giả định rằng không ai khác trên mạng có thể tin cậy được.
Thuật toán Proof-of-Work đảm bảo sự đồng thuận mạng ngay cả khi có các nút không tuân thủ Byzantine. Hãy xem cách cơ chế này hoạt động trong Bitcoin.
Như chúng ta đã biết, Bitcoin là một mạng ngang hàng nơi mọi hoạt động được thực hiện bởi người dùng thông qua phần mềm và phần cứng phù hợp. Những hoạt động này bao gồm thực hiện giao dịch, nhận giao dịch, xác minh và truyền giao dịch.
Giới thiệu về khai thác
Bây giờ, chúng tôi sẽ giới thiệu khái niệm khai thác, mà nhiều bạn có thể đã nghe nói đến. Khai thác về cơ bản bao gồm thực hiện Proof-of-Work và kết quả là tạo ra các đồng tiền mới như một phần thưởng cho người khai thác đã thực hiện thành công Proof-of-Work này trước tiên cho mỗi khối mới. Proof-of-Work bao gồm một lượng lớn các phép tính được thực hiện bởi một máy tính nhằm giải các câu đố băm mật mã. Chúng ta hãy đi sâu vào chi tiết (các đai ốc và bu long) của cơ chế này để tìm ra cách thức hoạt động của nó.
Trước tiên, hãy xem cách các thợ mỏ tạo khối mới.
Bây giờ, các nút khai thác thu thập và tổng hợp dữ liệu giao dịch mới. Khi nhận được dữ liệu đó, mỗi nút sẽ xác minh độc lập từng giao dịch theo một danh sách dài các tiêu chí, bao gồm:
● Theo dõi nguồn tiền kỹ thuật số được chi tiêu
● Kiểm tra chi tiêu gấp đôi của cùng một số tiền
● Kiểm tra xem tổng khối lượng giao dịch có nằm trong phạm vi cho phép từ 0 đến 21 triệu Bitcoin hay không (vì 21 triệu là tổng cung Bitcoin tối đa được hệ thống cho phép)