Trang chủ Blockchain Bài toán các vị tướng Byzantine trong công nghệ Blockchain

Bài toán các vị tướng Byzantine trong công nghệ Blockchain

lúc 08:00
Táng lên

Blockchain là cơ chế một chuỗi phát triển tiếp nối các bản ghi (hay được gọi là khối-block) được kết nối với nhau và đảm bảo an toàn nhờ mã hoá. Mỗi khối bản ghi sẽ chứa một mã băm đối chiếu về dữ liệu của khối trước nó, từ đó blockchain trở thành công nghệ đảm bảo an toàn từ căn bản và cốt lõi.

Byzantine thoi blockchain

Tại sao công nghệ Blockchain lại quan trọng đến thế?

Chúng ta giờ đây đã có một công nghệ blockchain có thể cung cấp một bản ghi vĩnh viễn và hoàn hảo của tất cả các giao dịch từng diễn ra. Bất chấp thực tế là không có một người giữ sổ sách nào quản lý cách mà các giao dịch được ghi lại, bản ghi này vẫn đại diện cho sự thật và không thể bị thay đổi một khi đã được ghi vào. Chỉ riêng việc này đã quá tuyệt vời rồi.

Làm sao có thể chắc chắn về công nghệ Blockchain như vậy?

Nói một cách ngắn gọn là, bởi vì công nghệ này giải quyết được Bài toán các vị tướng Byzantine. Đây là một bài toán cũ trong khoa học máy tính, được cho là không thể giải được cho đến khi Bitcoin ra đời.

Bài toán các vị tướng Byzantine trong Blockchain là gì?

Hãy tưởng tượng ra khung cảnh một lâu đài thời trung cổ đang bị bao vây. Có 300 kẻ xấu ở trong lâu đài bị bao vây bởi 5 cánh quân, mỗi cánh quân có 100 người, và đóng trại trên các ngọn đồi xung quanh lâu đài. Mỗi cánh quân được chỉ huy bởi một vị tướng.

500 vs 300. Kết quả có vẻ đã rõ ràng. 500 quân tấn công sẽ dễ dàng đánh bại 300 quân phòng thủ. Tuy nhiên, nếu không tấn công cùng một lúc, hoàn toàn có nguy cơ bên tấn công bị áp đảo do quân số tham chiến ít hơn, việc công thành sẽ thất bại và họ sẽ thua trận chiến này.

Byzantine thoi blockchain

Vậy làm thế nào để các vị tướng có thể đồng ý tấn công lâu đài vào cùng một thời điểm? Nếu việc này diễn ra ngày nay, bạn có thể đơn giản chỉ cần triệu tập một hội nghị và các vị tướng có thể cùng đồng ý tấn công vào lúc 9h tối. Nhưng vào thời Byzantine, mọi thứ lại phức tạp hơn một chút.

  1. Thông điệp về “tấn công lúc 9h tối” chỉ có thể được chuyển đến các vị tướng bởi một người đưa tin. Anh ta sẽ phải cưỡi ngựa chạy một vòng và viếng thăm từng vị tướng để xác nhận việc này.
  2. Bất kỳ vị tướng nào cũng có thể là kẻ phản bội thông đồng với những kẻ xấu ở trong lâu đài.

Việc gì xảy ra trước khi có Bitcoin (và Blockchain)?

Vị tướng số 1 quyết định tấn công vào lúc 9h tối. Ông ta cử người đưa tin của mình mang thông điệp “tấn công lúc 9h tối” đến cho vị tướng số 2. Khi người đưa tin đến nơi, vị tướng số 2 đọc được thông điệp này, ghi nhớ thời gian tấn công và ký một thông điệp khác với nội dung “tấn công lúc 9h tối”. Ông ta lại cử người đưa tin mang thông điệp đến cho vị tướng số 3.

Có một vấn đề ở đây. Vị tướng số 3 là kẻ phản bội. Hắn muốn cuộc tấn công phải thất bại. Do đó khi nhận được thông điệp, hắn xé bỏ và thay thế nó bằng một thông điệp mới với nội dung “tấn công lúc 8h tối”.

Người đưa tin lại tiếp tục hành trình của mình mà không biết gì về việc vừa xảy ra. Vị tướng số 4 nhận được thông điệp “tấn công lúc 8h tối”. Ông này cũng ghi nhớ giờ tấn công, ký một thông điệp mới với nội dung ”tấn công lúc 8h tối” và gửi nó cho vị tướng số 5.

Lúc này thông điệp đã được truyền đến tất cả mọi người. Nhưng chúng ta có một vấn đề. Vị tướng không trung thực đã phá hoại kết quả. Hai vị tướng (số 4 và số 5) với 200 quân sẽ tấn công lúc 8h tối. Thay vì được hỗ trợ bởi các vị tướng khác, họ lại bị áp đảo về quân số và bị đánh bại bởi 300 quân phòng thủ. Những kẻ xấu lúc này sẽ tràn ra khỏi lâu đài và hợp quân với vị tướng phản bội số 3. Đột nhiên hai vị tướng còn lại (số 1 và số 2) với chỉ 200 lính rơi vào hoàn cảnh phải chống lại 400 quân địch.

Kết quả là: những kẻ xấu không trung thực giành chiến thắng.

Việc gì xảy ra sau khi có Bitcoin (và blockchain)?

Vị tướng số 1 vẫn muốn gửi một thông điệp tương tự với nội dung “tấn công lúc 9h tối”. Nhưng lần này, sẽ có 2 quy tắc mà ông phải tuân theo:

  1. Ông ấy bị buộc phải sử dụng 10 phút để chuẩn bị thông điệp mới nếu muốn thông điệp này là hợp lệ;
  2. Nội dung của thông điệp mới phải bao gồm lịch sử của tất cả các thông điệp trước nó.

Hãy cùng xem lần này việc gì sẽ xảy ra. Vẫn giống như lần trước, vị tướng số 1 trao thông điệp “tấn công lúc 9h tối” cho người đưa tin. Tuy nhiên lần này mọi thứ lại khác đi đối với vị tướng số 2 bởi vì ông ấy biết chắc hai việc:

  1. Thông điệp phải được chuẩn bị trong 10 phút;
  2. Không có thông điệp nào trước thông điệp này, do đó nó phải là thật. (chính xác hơn thì, kể cả khi vị tướng số 1 là kẻ phản bội và đặt thời gian tấn công sai thì cũng chẳng sao cả – nếu phần lớn các vị tướng vẫn làm theo đề nghị này và cùng tấn công lúc 9h tối, quân số của họ vẫn sẽ áp đảo đội quân phòng thủ trong lâu đài và họ sẽ giành chiến thắng)

Bây giờ đến lượt vị tướng thứ 2 gửi thông điệp. Theo như quy tắc, ông ta buộc phải sử dụng 10 phút để chuẩn bị thông điệp mới và lồng trong đó nội dung thông điệp của vị tướng số 1. Người đưa tin tiếp tục hành trình của mình với thông điệp mới trong tay (trên thực tế là hai thông điệp được ‘xích’ [chain] lại với nhau).

Giờ đến lượt vị tướng số 3. Hãy nhớ rằng hắn là kẻ phản bội. Hắn sẽ làm gì? Lần trước hắn sửa thông điệp thành “tấn công lúc 8h tối”, do đó hai vị tướng số 4 và số 5 tổ chức tấn công sớm hơn và bị đánh bại. Giờ thì hắn lại không thể làm việc đó được nữa. Tại sao vậy? Bởi vì theo các quy tắc mới, hắn chỉ có 10 phút để chuẩn bị thông điệp cho vị tướng số 4. Hắn có hai lựa chọn:

  1. Gian lận và sửa thông điệp thành “tấn công lúc 8h tối” – nhưng để làm được việc này, hắn cần phải (a) dùng 10 phút để tạo ra thông điệp của hắn, và sau đó (b) cần thêm 2 x 10 phút nữa để tạo ra hai thông điệp thay thế cho các thông điệp của các vị tướng số 1 và số 2 lồng trong thông điệp của hắn – và hơn thế nữa, (c) phải làm tất cả các công việc mà đáng ra cần 30 phút này trong vòng chỉ 10 phút để tránh việc các vị tướng khác nhận ra hắn là kẻ phản bội; hoặc
  2. Chấp nhận thất bại và chuẩn bị thông điệp “tấn công lúc 9h tối” trong vòng 10 phút.

Mỗi vị tướng chỉ có đúng 10 phút để cung cấp cho vị tướng tiếp theo một thứ mà cần nhiều hơn 10 phút để giả mạo. Nếu họ không thể làm việc này trong 10 phút, mọi người sẽ biết họ là những kẻ không trung thực và lờ họ đi, khiến cho nỗ lực đánh lừa người khác của họ trở thành vô dụng.

Điều này có nghĩa là …

Trong tiền mã hóa Bitcoin, mạng lưới các máy tính cứ mỗi 10 phút lại cùng đi đến một thỏa thuận về việc những giao dịch nào là hợp lệ và thêm chúng vào bản ghi.

Công việc 10 phút này được biết đến với tên gọi “bằng chứng công việc” (Proof of Work). Công việc này là rất khó khăn (tốn thời gian) để thực hiện, nhưng lại rất dễ dàng để người khác có thể kiểm tra. Một ví dụ về bằng chứng công việc là khi ai đó yêu cầu bạn viết tay tất cả các số từ 1 đến 1000. Những người khác có thể dễ dàng scan tờ giấy bạn sử dụng và kiểm tra xem bạn đã hoàn thành công việc chưa – nhưng để sao chép công việc này, họ sẽ phải mất rất nhiều thời gian tự viết lại tất cả các con số bằng tay.

Kết quả là, giờ đây chúng ta có một cách tân công nghệ mà, lần đầu tiên trong lịch sử, cho phép một mạng lưới phân tán của các cá nhân (hàng ngàn máy tính trên khắp thế giới, thay vì chỉ có 5 vị tướng và 1 tòa lâu đài) có thể đi đến một sự ‘đồng thuận’ (consencus) về tất cả các giao dịch đã và đang diễn ra, ghi lại các chi tiết, và làm cho các bản ghi, về mặt toán học, không thể bị giả mạo.

Trong khi ứng dụng phổ biến nhất của công nghệ blockchain hiện tại là tiền mã hóa bitcoin, đó hoàn toàn không phải là tất cả. Một khi bạn bắt đầu xem xét cách mà cấu trúc blockchain có thể được sử dụng để ghi lại tất cả các giao dịch, tài liệu, sổ sách kế toán, cổ phần và tất cả các loại giao dịch mà việc ủy thác cho một tổ chức tập trung có quá nhiều rủi ro, bạn sẽ nhận ra blockchain tuyệt vời đến thế nào, đối với chúng ta và cả đối với các vị tướng Byzantine.

Theo: TapchiBitcoin/peergopeer.com

loading...
Truy cập Telegram để bình luận: https://t.me/tapchibitcoinvn

MỚI CẬP NHẬT