Tác giả: Giáo sư Wang Yongge, nhà khoa học trưởng của Sperax, nhà mật mã học nổi tiếng người Trung Quốc, Đại học Bắc Carolina tại Charlotte Là giáo sư chính thức tại Khoa Khoa học Máy tính tại UNC (UNC, Charlotte) và nhận bằng Tiến sĩ tại Đại học Heidelberg ở Đức.
Kể từ khi Facebook tung ra sách trắng của chuỗi liên minh Libra và tìm cách chuyển dần sang chuỗi công khai trong 5 năm, nhiều người trong cộng đồng blockchain đã đặt câu hỏi về sự khác biệt giữa chuỗi liên minh và chuỗi công cộng. Những điểm tương đồng dẫn đến các cuộc thảo luận hiệu quả. Liên quan đến những lo ngại về an ninh hiện nay của chuỗi công cộng và chuỗi liên minh, ngành đã đưa ra một số ý kiến.
Nói một cách đơn giản, chuỗi liên minh là một chuỗi khối được cấp phép và chỉ một số nút được cấp phép mới có thể quyết định việc tạo khối tiếp theo. Chuỗi công khai (không được phép) là một hệ thống mở và tất cả các nút đều có cơ hội tạo nút tiếp theo. Vì vậy, nhìn từ góc độ cơ chế quản trị, sự khác biệt giữa hai chuỗi là rõ ràng. Nếu chúng ta không xem xét nó từ góc độ bảo mật thì sẽ không có sự khác biệt lớn trong các kịch bản ứng dụng của hai chuỗi. Các kịch bản ứng dụng có thể được phát triển trên chuỗi liên minh cũng có thể được sử dụng một cách tự nhiên làm các kịch bản ứng dụng trên chuỗi công khai và ngược lại.
Hôm nay, chúng tôi chủ yếu sử dụng sự khác biệt giữa hai cơ chế quản trị chuỗi để thảo luận lý do tại sao, với sự hỗ trợ kỹ thuật hiện tại, không phải tất cả các kịch bản ứng dụng chuỗi liên minh đều có thể được sử dụng làm kịch bản ứng dụng chuỗi công cộng. Đồng thời, tôi cũng cố gắng giải thích tại sao Facebook không ra mắt Libra dựa trên chuỗi công khai ngay từ đầu. Trong chuỗi liên minh, các nút có quyền biểu quyết phải được xem xét và phê duyệt, đồng thời quyền biểu quyết của chúng cũng có thể bị thu hồi. Vì vậy, chuỗi liên minh chưa đạt được sự phân quyền hoàn toàn. Nhưng chính vì sự tồn tại của cơ chế xem xét và cấp phép này, mặc dù có mối quan hệ cạnh tranh nhất định giữa các nút có quyền biểu quyết và chúng không thể hoàn toàn tin tưởng lẫn nhau nhưng mối quan hệ giữa chúng không hoàn toàn không tin cậy.
Trong nghiên cứu mật mã, chúng tôi thường sử dụng mô hình mối đe dọa bán tin cậy để thể hiện mối quan hệ này. Trên chuỗi công khai, bất kỳ nút nào cũng có cơ hội bình đẳng để tham gia vào việc tạo khối tiếp theo. Để tối đa hóa lợi ích tương ứng của họ, không có mối quan hệ tin cậy giữa các nút có quyền biểu quyết. Trong nghiên cứu mật mã, chúng tôi sử dụng Mô hình mối đe dọa Byzantine để thể hiện mối quan hệ này.

Mô hình đe dọa cơ chế đồng thuận bị bỏ qua
Giao thức đồng thuận là công nghệ cốt lõi của chuỗi khối. Giao thức đồng thuận xác định cách tạo khối tiếp theo. Nói cách khác, giao thức đồng thuận xác định thứ tự hoàn chỉnh của tất cả các giao dịch trong toàn bộ hệ thống. Và mệnh lệnh này phải được sự đồng thuận của tất cả những người tham gia trung thực trong hệ thống.
Trong thực tế, nếu chúng ta không thể đạt được sự đồng thuận về thứ tự của hai giao dịch thì chúng ta không thể có niềm tin vào toàn bộ hệ thống. Nếu một nút blockchain không trung thực (dù có quyền biểu quyết hay không) có thể tấn công việc sắp xếp này theo một cách nào đó, nó sẽ tạo ra những kết quả thảm khốc khôn lường.Ví dụ điển hình nhất là "tấn công chi tiêu gấp đôi", chế độ tấn công này đã xảy ra trên các blockchain bao gồm Zencash, Ethereum Classic và Bitcoin Gold.
Một giao thức đồng thuận blockchain an toàn và đáng tin cậy phải đáp ứng hai điều kiện sau:
1. An toàn (Safety): Các nút trung thực chịu trách nhiệm về các giao dịch hợp pháp A nhất quán sẽ đạt được ý kiến
2. Tính sống động: Một giao dịch hợp pháp sẽ được xác nhận trong một khoảng thời gian hợp lý
Giao thức đồng thuận của Bitcoin dựa trên hệ thống PoW định lượng. Do hệ thống PoW có nhiều thách thức nên sự đồng thuận hiện tại trong cộng đồng là chúng tôi sẽ dần dần thúc đẩy giao thức đồng thuận dựa trên Proof of Stake (PoS). Giao thức đồng thuận PoS lần đầu tiên được sử dụng trong blockchain Peercoin.
Trong giao thức đồng thuận PoS hiện tại, người tham gia phải đáp ứng các điều kiện cụ thể để tạo khối tiếp theo. Trong nhiều trường hợp, nhiều người tham gia có thể đáp ứng các điều kiện này. Những người tham gia đáp ứng các điều kiện sẽ tạo ra khối tiếp theo. Bởi vì các trình tạo khối sẽ đạt được nhiều lợi ích khác nhau nên mỗi trình tạo khối đều hy vọng rằng khối mà nó tạo ra sẽ được mọi người chấp nhận. Nếu hệ thống blockchain cho phép hai người tham gia tạo khối tiếp theo cùng một lúc thì việc phân nhánh blockchain sẽ xảy ra.
Để tránh các phân nhánh blockchain, cho dù đó là chuỗi liên kết hay chuỗi công khai, thỏa thuận Byzantine thường được sử dụng để chọn khối tiếp theo được mọi người chấp nhận từ các khối ứng cử viên này. Điều này liên quan đến nhiều vấn đề cốt lõi:
1. Người tham gia phải đáp ứng những điều kiện nào để tạo khối tiếp theo?
2. Có bao nhiêu người biết danh tính của người tham gia trước khi anh ta công bố quyền tạo khối tiếp theo?
3. Thỏa thuận Byzantine hoạt động như thế nào?
4. Đợi đã.
Trong các mô hình mối đe dọa khác nhau, giải pháp cho từng vấn đề trên là khác nhau. Như chúng tôi đã đề cập ở trên, chuỗi liên minh áp dụng mô hình mối đe dọa bán tin cậy, trong khi chuỗi công khai áp dụng mô hình mối đe dọa Byzantine. Bởi vì các kịch bản ứng dụng an toàn và đáng tin cậy trong mô hình mối đe dọa bán tin cậy không nhất thiết phải an toàn và đáng tin cậy trong mô hình mối đe dọa Byzantine, nên không phải tất cả các kịch bản ứng dụng của chuỗi liên minh đều có thể có các kịch bản ứng dụng chuỗi công cộng tương ứng.
Nói chung, khi phát triển các kịch bản ứng dụng, nhà phát triển phải xem xét mô hình mối đe dọa nào mà các kịch bản ứng dụng này an toàn. Ngoài ra, chúng tôi cũng cần xem xét liệu kịch bản ứng dụng của chúng tôi có thể chạy trên một chuỗi liên minh hoặc chuỗi công khai cụ thể hay không? Mặc dù như đã đề cập trước đó, chuỗi liên minh được coi là mô hình mối đe dọa bán tin cậy, nhưng điều này không có nghĩa là tất cả các chuỗi liên minh đều an toàn và đáng tin cậy trong mô hình mối đe dọa bán tin cậy. Tương tự, chúng tôi đã nói rằng các chuỗi công khai cần phải an toàn và đáng tin cậy trong mô hình mối đe dọa Byzantine, nhưng điều này không có nghĩa là tất cả các chuỗi công khai trên thị trường đều an toàn và đáng tin cậy trong mô hình mối đe dọa Byzantine.
Sau khi đọc phần này, bạn có thể hỏi: Có bao nhiêu chuỗi công khai hiện có trên thị trường có thể hoàn toàn an toàn trong mô hình mối đe dọa Byzantine? Tất nhiên, mọi người cũng sẽ hỏi: Chuỗi công khai hiện tại của chúng tôi có đủ hỗ trợ kỹ thuật để đảm bảo rằng nó hoàn toàn an toàn trong mô hình mối đe dọa Byzantine không? Chúng tôi cố gắng trả lời những câu hỏi này trong bài viết này và các bài viết tiếp theo trong loạt bài này.
Sẽ thật đáng sợ khi bạn có thể đoán được ai sẽ bước ra từ dãy nhà tiếp theo!
Trước tiên, hãy sử dụng một ví dụ rất cơ bản để minh họa khoảng cách giữa lý tưởng và thực tế: trong chuỗi liên minh hoặc chuỗi công khai dựa trên PoS, nếu trước khi khối tiếp theo được tạo, Nếu mọi người có thể dự đoán rằng khối tiếp theo sẽ được tạo bởi một người tham gia cụ thể A, thì hệ thống blockchain này sẽ dễ dàng bị tấn công. Tình trạng này đã xảy ra nhiều lần trên blockchain kiến trúc phần mềm EOSIO - Blockchain. Cơ chế danh sách đen của hệ thống EOS và cơ chế sản xuất khối tuần tự siêu nút cho phép tin tặc dễ dàng hoàn tất giao dịch trong thời gian sản xuất khối của một số nút bị thiếu trong danh sách đen.
Ví dụ: một số người tham gia hoặc không tham gia có thể hối lộ A để không đưa một số giao dịch nhất định vào khối tiếp theo. Ngoài ra, nếu hai người tham gia A và B đều đáp ứng các điều kiện để tạo khối tiếp theo, A có thể tiến hành một cuộc tấn công DoS vào mạng của B, ngăn B xuất bản khối mà nó tạo ra. Kết quả rất có thể là khối A được mọi người chấp nhận. Do đóTrong một hệ thống blockchain lý tưởng, những người tham gia hy vọng rằng danh tính của người tạo khối tiếp theo sẽ không thể đoán trước được trước khi nó được tạo. Tuy nhiên, nhiều hệ thống blockchain trên thị trường vẫn chưa hiện thực hóa được lý tưởng của chúng tôi. Có lẽ trong mô hình mối đe dọa bán tin cậy được chuỗi liên minh áp dụng, khả năng dự đoán danh tính của trình tạo khối tiếp theo là "có thể chấp nhận được".
NhưngTrong mô hình Byzantine được chuỗi công khai áp dụng, điều này có thể dự đoán được là hoàn toàn không thể chấp nhận được. Trong một số chuỗi công khai hiện tại, một số hệ thống (chẳng hạn như Thuật toán) sử dụng trình tạo số ngẫu nhiên có thể kiểm chứng (VRF) để đảm bảo tạo khối tiếp theo. danh tính của tác giả. Một số chuỗi công khai khác (chẳng hạn như Sperax) sử dụng hệ thống phần cứng chống giả mạo để đảm bảo tính không thể đoán trước được danh tính của trình tạo khối tiếp theo. Vì vậy, khi phân tích xem một chuỗi có an toàn và đáng tin cậy hay không, trước tiên chúng ta nên phân tích xem các số ngẫu nhiên trong hệ thống của nó đến từ đâu và liệu nó có an toàn hay không. Mặc dù hầu hết các chuỗi liên minh không sử dụng đủ số ngẫu nhiên, nhưng chúng tôi tin rằng ngay cả trong mô hình mối đe dọa bán tin cậy, chúng tôi vẫn cần đảm bảo tính không thể đoán trước về danh tính của trình tạo khối tiếp theo. Như một bài tập, người đọc có thể tự mình phân tích tất cả các blockchain trên thị trường để xem liệu chúng có thể đáp ứng điều kiện cơ bản này hay không.

Một vấn đề cốt lõi rất quan trọng khác là liệu giao thức Byzantine hiện được mọi người sử dụng có còn an toàn trong môi trường mạng dựa trên Internet hay không? Thỏa thuận Byzantine là một chủ đề cũ. Tại Byzantium (Istanbul ngày nay), thủ đô của Đế chế La Mã hơn hai nghìn năm trước, quân đội của Đế chế La Mã cách xa nhau và các tướng lĩnh chỉ có thể dựa vào sứ giả để truyền đạt thông điệp. Các tướng lĩnh của Quân đội Hoàng gia phải nhất trí quyết định có nên tấn công một lực lượng địch cụ thể hay không. Nhưng có những kẻ phản bội trong số các tướng lĩnh. Những kẻ phản bội có thể làm bất cứ điều gì để ngăn cản các tướng trung thành đạt được quyết định nhất trí.
Để giải quyết vấn đề phối hợp giữa các máy chủ trong điện toán phân tán, Lamport, người đoạt giải Turing, và các cộng tác viên của ông đã đưa vấn đề Thỏa thuận Byzantine vào khoa học máy tính vào khoảng năm 1982. Kể từ đó, hàng loạt giao thức đồng thuận phân tán đã được thiết kế và sử dụng rộng rãi (như Rampart và SecureRing). Các giao thức này chủ yếu được sử dụng trong môi trường tương đối khép kín (chẳng hạn như trung tâm dữ liệu) nên chúng có các giả định tương đối chắc chắn. Đặc biệt, nhiều thỏa thuận Byzantine sử dụng hai giả định sau:
1. Được sử dụng bởi Thỏa thuận Byzantine A Mạng truyền thông là một biểu đồ hoàn chỉnh. Nói cách khác, có các kênh liên lạc điểm-đa điểm an toàn giữa tất cả những người tham gia thỏa thuận Byzantine. Giả định này khó đạt được đối với chuỗi liên minh. Đối với một chuỗi công khai hoàn toàn mở, chúng tôi nghi ngờ rằng giả định này vẫn đúng.
2. Mạng liên lạc được Thỏa thuận Byzantine sử dụng là mạng đồng bộ. Nói cách khác, có một biến toàn cục Δ. Tin nhắn được gửi bởi mỗi người tham gia giao thức tại thời điểm t chắc chắn sẽ đến nút nhận trước thời gian t+△.
Hai giả định này tương đối dễ đạt được trong một môi trường tương đối khép kín. NhưngĐối với một mạng mở, giả định này rõ ràng là không thực tế. Ví dụ: trên Internet chúng ta sử dụng, các cuộc tấn công DoS rất dễ thực hiện. Vì vậy, ngay cả các chuỗi liên minh dựa trên Internet cũng không sử dụng các giả định trên. Nói chung, Internet là mạng không đồng bộ. Các mạng không đồng bộ thường được sử dụng có đặc điểm theo mô hình sau:
Có Thời gian ổn định toàn cầu (GST). Trước GST, mọi tin nhắn đều có thể bị mất (chẳng hạn như các cuộc tấn công DoS ) hoặc được sắp xếp lại. Sau GST, mạng trở thành mạng đồng bộ Khi nào GST sẽ bắt đầu, không ai biết.
Vì vậy, Thỏa thuận của Byzantine rằng nhu cầu blockchain của chúng ta phải mạnh mẽ trong các mạng không đồng bộ có thể mất nhiều thông tin. Nhiều giao thức Byzantine được sử dụng phổ biến nhất trong các chuỗi khối hiện có trên thị trường là PBFT (BFT thực tế) và các biến thể của nó (chẳng hạn như Tendermint BFT) được thiết kế bởi người chiến thắng Giải thưởng Turing BARBARA LISKOV và các sinh viên của cô.

Thỏa thuận Byzantine không đảm bảo tính bảo mật và độ tin cậy của hệ thống blockchain
Vậy thì câu hỏi mà chúng tôi quan tâm là: Đây là các mạng không đồng bộ Giao thức Byzantine được thiết kế có an toàn và đáng tin cậy cho các ứng dụng blockchain không? Đặc biệt, các giao thức Byzantine này có an toàn trong môi trường mạng dựa trên Internet không? Nếu các giao thức Byzantine này không thể đạt được mức độ bảo mật theo mô hình mối đe dọa Byzantine thì thật khó để tưởng tượng rằng mọi người sẽ tin tưởng vào các dịch vụ được cung cấp bởi các hệ thống blockchain này.
Nếu phân tích cẩn thận các giao thức Byzantine này, chúng ta sẽ thấy rằng tất cả chúng đều có một giả định cơ bản: có một giao thức phát sóng an toàn trong mạng truyền thông được Byzantium sử dụng
Nếu một nút phát một tin nhắn m tại thời điểm t và tất cả các nút sẽ nhận được cùng một tin nhắn m trước thời điểm t+ △
Nhưng chúng tôi biết rằng trong môi trường mạng Internet, các cuộc tấn công DoS (Từ chối dịch vụ) có thể Một số nút không thể nhận được tin nhắn được gửi bởi đài truyền hình. Đặc biệt, DoS được cho phép trước thời gian GST trên mạng không đồng bộ. Do đó, giao thức quảng bá không an toàn trước thời điểm GST của mạng không đồng bộ. Kết luận của chúng tôi là:Nếu các cuộc tấn công DoS có thể xảy ra thì chúng tôi không thể đảm bảo rằng giao thức Byzantine hiện được nhiều chuỗi khối sử dụng là an toàn.
Với sự tò mò, bạn có thể muốn biết hệ thống blockchain hiện tại triển khai giao thức phát sóng như thế nào? Hầu hết các giao thức phát sóng đều dựa trên bài báo sau được Bracha xuất bản năm 1987:
G. Bracha. "Các giao thức thỏa thuận Byzantine không đồng bộ." Thông tin và tính toán 75.2 (1987): 130-143.
Nhưng thật không may, bài báo của Bracha có một giả định thường bị bỏ qua:
Nếu giao thức phát sóng của Bracha muốn được an toàn thì mạng truyền thông của nó phải là Point-to-point các kênh liên lạc đáng tin cậy
Vấn đề nằm ở giả định này. Bởi vì các kênh liên lạc điểm-điểm đáng tin cậy phải được đảm bảo nên không được phép tấn công DoS. Ngoài ra, để đảm bảo các kênh liên lạc điểm-điểm đáng tin cậy trong mạng, mạng cần có đủ kết nối. Bạn có thể tham khảo bài viết sau để mô tả mối quan hệ giữa các kênh liên lạc điểm-điểm đáng tin cậy và kết nối mạng:
Y. Wang và Y. Desmedt. Xem lại việc truyền tin nhắn an toàn hoàn hảo. Lý thuyết thông tin, IEEE Tran. , 54 (6):2582–2595, 2008
Dựa trên những thảo luận ở trên, chúng ta có thể dễ dàng rút ra kết luận: Hiện nay có nhiều hệ thống blockchain (chuỗi consortium và công khai Giao thức Byzantine được chuỗi sử dụng) không được đảm bảo an toàn trong môi trường mạng dựa trên Internet. Chúng tôi sẽ phân tích từng bài một trong loạt bài viết trong tương lai xem giao thức Byzantine thường được sử dụng trong chuỗi liên minh và chuỗi công cộng có an toàn trong môi trường mạng dựa trên Internet hay không.
Nếu các giao thức Byzantine được sử dụng bởi các hệ thống blockchain này không thể đạt được mức độ bảo mật trong mô hình mối đe dọa Byzantine, thì thật khó để tưởng tượng rằng mọi người sẽ tin tưởng vào các dịch vụ do các hệ thống blockchain này cung cấp.
Tóm tắt:Chúng tôi tin rằng tính bảo mật của các hệ thống blockchain hiện đang phát triển chưa được phân tích đầy đủ. Do đó, chúng tôi không thể xác nhận kịch bản ứng dụng nào có thể chạy trên chuỗi liên minh hoặc chuỗi công khai. Nghiên cứu của chúng tôi về tính bảo mật của hệ thống blockchain vẫn còn ở giai đoạn đầu. Cũng giống như hiểu biết của chúng ta về nghiên cứu bảo mật Internet vào những năm 1980.
Năm 1988, sâu Morris, một loại sâu do một sinh viên tốt nghiệp MIT viết, đã lây nhiễm 10% máy tính trên thế giới vào thời điểm đó. Do đó khiến toàn bộ hệ thống Internet của thế giới rơi vào tình trạng bế tắc. Nếu chúng ta không có đủ nghiên cứu và chuẩn bị về tính bảo mật của hệ thống blockchain, kiểu tấn công sâu bướm này có thể sẽ được tổ chức trên hệ thống blockchain. Chúng tôi sẽ giới thiệu từng bước nghiên cứu của chúng tôi với bạn trong một loạt bài viết trong vài tháng tới! Làm ơn chú ý.
Xem trước bài viết tiếp theo: Phân tích bảo mật của PBFT, một giao thức Byzantine được sử dụng rộng rãi trong blockchain: PBFT được sử dụng rộng rãi trong các chuỗi liên minh (như Hyperledger răng cưa và Hyperchain của Công nghệ Qulian) và một số chuỗi công khai.
Giới thiệu tác giả
Giáo sư Wang Yongge, nhà khoa học trưởng của Sperax, nhà mật mã học nổi tiếng người Trung Quốc, Đại học Bắc Carolina tại Charlotte Là giáo sư chính thức tại Khoa Khoa học Máy tính tại UNC (UNC, Charlotte) và nhận bằng Tiến sĩ tại Đại học Heidelberg ở Đức. Giáo sư Wang đã xuất bản hơn một trăm bài báo học thuật và phạm vi nghiên cứu của ông bao gồm lý thuyết độ phức tạp tính toán, mật mã (mã hóa, giải mã và phân tích mật mã), điện toán có khả năng chịu lỗi, điện toán phân tán, bảo vệ cơ sở hạ tầng, truyền thông an toàn, bảo mật máy tính và mạng, Bảo mật đám mây , lý thuyết thông tin và mật mã hậu lượng tử. Giáo sư Wang tham gia vào việc phát triển các giao thức của các tổ chức tiêu chuẩn, chẳng hạn như IETF, W3C, Giao thức bảo mật XML, Nhóm tiêu chuẩn hóa công nghệ mã hóa IEEE 1363 và Nhóm tiêu chuẩn bảo mật mạng SAN ANSI T11.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia