Tôi lần đầu tiên nhận thấy điều đó ở độ cao khối 18,442,913.

Một giao dịch chứng thực đã được chấp nhận, lập chỉ mục, và thậm chí đã xuất hiện trong lớp truy vấn—nhưng khi tôi truy tìm gốc thực thi dựa trên nhật ký của trình xác thực, trạng thái chuyển tiếp không có ở đó. Không bị đảo ngược. Không thất bại. Chỉ… vắng mặt. Như thể hệ thống đã đồng ý một cách ngắn gọn rằng điều gì đó là đúng, rồi lặng lẽ quên đi.

Tôi đã phát lại chuỗi.

Giao dịch đã vào mempool một cách sạch sẽ. Chữ ký đã được xác minh. Tải trọng đã được giải mã. Chứng thực đã tham chiếu một nhà phát hành hợp lệ và một sơ đồ đã biết. Trình tuần tự đã gộp nó vào một lô trong vòng vài mili giây. Nhanh. Hiệu quả. Được mong đợi.

Nhưng ở phía dưới, điều gì đó đã chia tách.

Một xác thực viên đã đánh dấu thông tin xác thực là “đã xác thực” tại T+2 giây. Một xác thực viên khác chỉ công nhận sự bao gồm của lô, không phải tính hợp lệ ngữ nghĩa của thông tin xác thực đó. Một nút thứ ba đã trì hoãn việc xác thực hoàn toàn, đánh dấu nó là “đang chờ giải quyết chứng minh bên ngoài.”

Giao dịch giống nhau. Mạng giống nhau. Ba diễn giải về sự thật.

Ban đầu, nó trông giống như độ trễ. Hoặc có thể là một sự không nhất quán trong bộ nhớ đệm. Tôi đã kiểm tra thời gian lan truyền, tham chiếu chéo các dấu thời gian, thậm chí nghi ngờ sự trôi dạt đồng hồ. Nhưng mô hình này vẫn tồn tại — và tệ hơn, nó đã mở rộng. Càng quan sát, càng rõ ràng: đây không phải là một lỗi.

Đó là một thuộc tính.

Những gì tôi đang nhìn vào không phải là một hệ thống bị hỏng. Đó là một hệ thống hoạt động chính xác như thiết kế — chỉ là không như đã giả định.

Mạng lưới Sign, được định vị như một hạ tầng toàn cầu cho việc xác thực thông tin xác thực và phân phối token, hoạt động dưới một căng thẳng tinh tế nhưng mạnh mẽ giữa việc xác thực và khả năng mở rộng.

Để hỗ trợ thông lượng cao và khả năng sử dụng toàn cầu, mạng lưới phân mảnh hành động “xác thực” thành nhiều lớp. Một số kiểm tra xảy ra ngay lập tức. Những cái khác bị trì hoãn. Một số được thực thi bằng mật mã. Những cái khác được đảm bảo về mặt xã hội hoặc kinh tế.

Trên giấy, nó rất thanh lịch.

Trong thực tế, nó tạo ra sự mơ hồ.

Tôi đã bắt đầu lập bản đồ hệ thống một cách chính thức hơn.

Mạng lưới đạt được sự đồng thuận về thứ tự, không nhất thiết về ý nghĩa. Các xác thực viên đồng ý rằng một lô giao dịch tồn tại và được xếp theo thứ tự đúng. Nhưng sự đồng thuận không yêu cầu mỗi xác thực viên phải đánh giá hoàn toàn tính hợp lệ ngữ nghĩa của mỗi thông tin xác thực trong lô đó.

Thứ tự là xác định; diễn giải thì không.

Các xác thực viên xác thực chữ ký và tính toàn vẹn cấu trúc. Họ đảm bảo rằng các giao dịch tuân theo các quy tắc của giao thức. Nhưng tính hợp lệ của thông tin xác thực - liệu một tuyên bố có đúng trong một nghĩa thực tế hoặc chéo miền hay không - thường được coi là bên ngoài.

Một số xác thực viên thực hiện các kiểm tra sâu hơn. Những người khác tối ưu hóa cho tốc độ.

Giao thức cho phép sự linh hoạt này.

Hệ thống giả định rằng điều đó sẽ không quan trọng.

Thực thi là mô-đun. Logic xác thực thông tin có thể phụ thuộc vào các lược đồ bên ngoài, các chứng thực ngoài chuỗi, hoặc các chứng minh bị trì hoãn. Điều này đưa vào sự thật không đồng bộ.

Một thông tin xác thực có thể được chấp nhận trước khi nó hoàn toàn được xác thực.

Đây là nơi bất thường của tôi sống.

Người xếp thứ tự ưu tiên thông lượng. Các giao dịch được xếp theo thứ tự nhanh chóng, được gom lại hiệu quả, và được lan truyền mà không cần chờ xác thực hoàn toàn.

Từ quan điểm khả năng mở rộng, điều này là cần thiết.

Từ quan điểm xác thực, điều này là nguy hiểm.

Bởi vì một khi điều gì đó được xếp theo thứ tự, nó trông giống như đã hoàn tất — ngay cả khi nó không phải vậy.

Tất cả dữ liệu đều được công bố. Không có gì bị ẩn giấu. Nhưng tính khả dụng không giống như sự hiểu biết.

Các đầu vào thô tồn tại. Diễn giải của các đầu vào đó được trì hoãn cho bất kỳ ai đọc chúng — và mức độ sâu mà họ chọn để xác thực.

Chữ ký, băm, và chứng minh đảm bảo tính toàn vẹn. Họ đảm bảo rằng dữ liệu không bị giả mạo.

Nhưng họ không đảm bảo rằng ý nghĩa của dữ liệu đó đã được đồng thuận một cách phổ quát cùng một lúc.

Dưới các điều kiện bình thường, kiến trúc này hoạt động rất đẹp.

Giao dịch chảy. Thông tin xác thực lan truyền. Các hệ thống tích hợp. Mọi thứ dường như nhất quán vì hầu hết các tác nhân hoạt động trong các giả định và khung thời gian tương tự.

Nhưng dưới áp lực — thông lượng cao, phụ thuộc thông tin xác thực phức tạp, hoặc đầu vào thù địch — các vết nứt mở rộng.

Một thông tin xác thực có thể được xếp theo thứ tự nhưng không hoàn toàn được xác thực, có thể nhìn thấy nhưng không được chấp nhận một cách phổ quát, hoặc bị tiêu thụ bởi một ứng dụng trước khi tính hợp lệ của nó ổn định.

Và không có thành phần nào là sai.

Họ chỉ không đồng bộ.

Rủi ro thực sự không đến từ chính giao thức, mà từ cách các nhà phát triển diễn giải nó.

Tôi tìm thấy các ứng dụng giả định tính xác nhận ngay lập tức, coi dữ liệu theo thứ tự là hợp lệ không thể thay đổi, tin tưởng rằng tất cả các nút chia sẻ các diễn giải giống nhau mọi lúc, và giả định rằng nếu điều gì đó ở trên chuỗi, nó đã được xác thực hoàn toàn.

Không cái nào trong số này là được đảm bảo một cách nghiêm ngặt.

Tuy nhiên hệ thống không làm điều đó một cách rõ ràng.

Sau đó là hành vi của người dùng.

Các nhà giao dịch phản ứng với việc phân phối token ngay khi chúng xuất hiện. Các nhà phát triển tích hợp kiểm tra thông tin xác thực vào các hệ thống truy cập, giả định các kết quả nhị phân: hợp lệ hoặc không hợp lệ. Các nền tảng hiển thị chứng thực như những sự thật, không phải như những trạng thái đang chuyển tiếp.

Mạng lưới được thiết kế để linh hoạt.

Hệ sinh thái coi đó là chắc chắn.

Điều xuất hiện là một khoảng trống - không phải một lỗi, mà là một sự không phù hợp.

Kiến trúc giả định rằng việc xác thực có thể được phân lớp, trì hoãn, và phụ thuộc vào ngữ cảnh.

Thế giới thực giả định rằng việc xác thực là ngay lập tức, tuyệt đối và đồng nhất.

Cả hai không thể đúng cùng một lúc.

Sau nhiều ngày theo dõi nhật ký, phát lại các khối, và so sánh trạng thái xác thực viên, kết luận trở nên không thể tránh khỏi:

Các hệ thống phi tập trung hiện đại như Sign không thất bại vì điều gì đó bị hỏng.

Họ thất bại vì điều gì đó chưa bao giờ được định nghĩa hoàn toàn.

Việc xác thực không phải là một sự kiện đơn lẻ — đó là một quy trình kéo dài qua thời gian, các tác nhân, và các giả định. Và mỗi nơi mà quy trình đó bị rút ngắn, trừu tượng hóa, hoặc trì hoãn trở thành một ranh giới nơi thực tế có thể tách ra.

Hạ tầng không sụp đổ khi nó đạt đến giới hạn của nó.

Nó sụp đổ ở các cạnh của nó —

nơi một lớp lặng lẽ ngừng đảm bảo những gì lớp tiếp theo giả định.

\u003cc-11/\u003e\u003cm-12/\u003e\u003ct-13/\u003e