
Dành cả buổi sáng để giúp một người bạn khôi phục lại chiếc ví — không bị hack, không có gì kịch tính, anh ấy chỉ lỡ bấm quá nhanh một yêu cầu chữ ký trên một dApp mới và chỉ nhận ra sau khi giao dịch đã được thực hiện rằng mình đã thực sự ủy quyền cho điều gì. Mọi khóa vẫn an toàn trong suốt thời gian đó. Chính điều đó khiến tôi suy nghĩ.
Vậy nên thay vì quay lại xem biểu đồ, tôi cứ nghĩ về chuyện đó và cuối cùng lại quay về nhiệm vụ của Newton Protocol, lần này xem xét phía ủy quyền của agent, thay vì giá token.
Và đây là điều làm tôi bật ra, hơi khó chịu — suốt nhiều năm qua, chúng ta nói với mọi người rằng "hãy bảo vệ private key của bạn" như thể đó là đích đến. Ví lạnh, cụm seed phrase được ghi trên giấy, không bao giờ chia sẻ, tất cả những điều đó. Và nó vẫn đúng. Nhưng khóa của bạn tôi không hề bị xâm phạm. Chính anh ấy đã tự làm mình gặp rắc rối, thông qua một chữ ký, trong khi khóa vẫn nằm đó an toàn tuyệt đối trong suốt thời gian. Điểm yếu đã chuyển dịch. Không còn là "ai đang có private key của bạn" nữa, mà là "bạn đã ủy quyền điều gì khi đang nắm giữ nó".
Phiên bản đơn giản của những gì thực sự đang xảy ra: mọi người cho rằng việc ký một giao dịch chỉ là một hành động nhỏ, nằm gọn trong một lần — duyệt việc này rồi thôi. Nhưng thực tế, đặc biệt với các tác nhân lặp lại hoặc các phê duyệt tự động, bạn thường đang cấp phạm vi quyền hạn hoạt động liên tục, chứ không phải là một sự kiện đơn lẻ. Trọng tâm pitch của Newton — zkPermissions, rollup Keystore — cơ bản là một sự thừa nhận rằng bề mặt tấn công thực sự bây giờ nằm ở đó. Không phải nằm ở khóa. Mà là ở phạm vi những gì khóa được phép làm một khi nó đã ký.
Nhưng đây là phần khiến tôi khó chịu, và tôi cứ qua lại suy nghĩ về nó. Nếu rủi ro thực sự chuyển từ “giữ khóa” sang “phân rã/phạm vi quyền,” thì gánh nặng lại chuyển trở về cho người dùng — chỉ là dưới một hình thức rối rắm hơn. Trước đây lời khuyên rất đơn giản: đừng bao giờ chia sẻ cụm seed phrase. Bây giờ lời khuyên là: hãy hiểu chính xác chữ ký cụ thể này ủy quyền cho điều gì, trong bao lâu, theo những điều kiện nào, trước khi bạn chấp thuận nó. Đó là... một việc khó hơn rất nhiều để yêu cầu một người bình thường. Tôi từng nghĩ quyền được phân phạm vi sẽ làm mọi thứ đơn giản hơn cho người dùng. Nhưng thực ra, tôi không chắc nó làm vậy — nó chỉ dời độ phức tạp sang một bước mà đa số người vẫn lướt qua.
Và tôi chưa thật sự tin điều đó còn đúng khi mọi thứ bắt đầu trở nên bận rộn. Trong một khoảnh khắc yên tĩnh, vâng, tôi sẽ đọc phạm vi quyền. Nhưng trong lúc thị trường tăng/biến động mạnh, khi ai cũng hối hả chớp lấy một lệnh vào hoặc thoát vị thế thật nhanh, liệu có ai thực sự dừng lại để kiểm tra tác nhân được ủy quyền làm gì, thay vì chỉ nhấn phê duyệt vì giá đang di chuyển không? Đúng khoảnh khắc đó mà kiểu trộm khóa theo cách “cũ” cũng từng xảy ra — hoảng loạn, vội vàng, bỏ qua các bước. Tôi không nghĩ việc thay “bảo vệ khóa của bạn” bằng “hãy hiểu phạm vi của bạn” sẽ loại bỏ được chế độ hỏng đó; nó chỉ làm cho kiểu hỏng hóc trông khác đi thôi.
Thứ này, theo tôi, thực sự quan trọng với những người không phải là nhóm đang ở sâu trong lĩnh vực này — vì chúng ta vốn đã đủ hoài nghi để chậm lại. Mà là những người dùng mới, đang được đưa vào vì kỳ vọng rằng tác nhân và tự động hóa sẽ làm mọi thứ dễ hơn. Càng dễ thì càng ít ma sát, càng ít khả năng ai đó dừng lại để đọc xem mình vừa ký cái gì.
Chỉ là một khoảnh khắc nhỏ, nhưng nó ám ảnh tôi nhiều hơn tôi tưởng. Tiền của bạn tôi cuối cùng vẫn an toàn, chủ yếu là may mắn, nói thật. Nhưng nó khiến tôi nhìn lại một điều mà trước đó tôi chưa từng thật sự chất vấn — rằng “an toàn” và “khóa an toàn” không còn là một câu giống nhau nữa, và tôi không nghĩ các công cụ hỗ trợ giải thích quyền đã kịp bắt kênh với điều đó.
Dù sao thì. Tôi sẽ ngồi thêm với điều này một lúc trước khi quyết định tôi cảm thấy thế nào về nó. Thị trường vẫn đang tự làm việc của nó ở phía sau.
@NewtonProtocol #Newt $NEWT