Starknet vừa thực hiện một ca phẫu thuật trên mainnet: thay toàn bộ hệ thống chữ ký số cho hàng triệu tài khoản. Không phải lab, không phải testnet – là môi trường sản xuất với tài sản thật. Họ tuyên bố đã hoàn tất kiểm thử chuyển đổi chữ ký kháng lượng tử, đưa STARK signature từ giấy tờ nghiên cứu vào thực tế giao dịch. Nhưng mỗi bản nâng cấp là một cánh cửa cho lỗ hổng mới – và lần này, cánh cửa đó mở ra một hành lang tối mà ít ai dám bước vào.
Bối cảnh: Tại sao phải mổ tim?
Starknet là ZK-Rollup trên Ethereum, dùng STARK proof để nén giao dịch. Hiện tại, họ dùng ECDSA – chữ ký elliptic curve tiêu chuẩn – để xác thực người dùng. Vấn đề: máy tính lượng tử (nếu đủ mạnh) có thể phá vỡ ECDSA trong vài phút. Shor algorithm sẽ giải discrete log, biến mọi private key thành công khai. Starknet chọn đi trước: họ thay thế ECDSA bằng STARK signature – một loại chữ ký dựa hoàn toàn trên hash function, không có cấu trúc đại số để Shor nhắm vào. Đây là bước đi được cộng đồng mật mã học chờ đợi từ lâu.
Nhưng điều khiến tôi chú ý không phải là "có thể làm được" – mà là "làm trên mainnet, với tài sản thật, và xử lý cả migration cho tài khoản cũ". Đó là một bài toán kỹ thuật khác hẳn. Thử nghiệm trên testnet chỉ là chạy thử; còn trên mainnet, bạn phải đảm bảo không một ai mất tiền trong quá trình chuyển đổi.
Phân tích kỹ thuật: Từng dòng code đều có giá
Dựa trên kinh nghiệm audit hợp đồng thông minh của tôi, việc chuyển đổi chữ ký toàn mạng là một trong những thao tác nguy hiểm nhất. Hãy nhìn vào cơ chế: mỗi tài khoản Starknet có một public key gắn với ECDSA. Để chuyển sang STARK signature, bạn cần một cơ chế "key migration" – về bản chất, người dùng sẽ ký một thông điệp đặc biệt bằng private key cũ để ủy quyền cho public key mới. Hợp đồng thông minh xác minh chữ ký cũ, sau đó cập nhật storage mapping. Nghe có vẻ đơn giản, nhưng đây là nơi lỗ hổng thường trú.
Thứ nhất: replay attack. Nếu thông điệp migration không có nonce hoặc block number, kẻ tấn công có thể bắt lại giao dịch cũ và kích hoạt lại migration trên tài khoản đã ổn định. Starknet dùng account abstraction, mỗi tài khoản là một smart contract – điều này giúp kiểm soát nonce tốt hơn, nhưng cũng mở ra vector tấn công qua delegatecall nếu implementation không an toàn.
Thứ hai: storage collision. Starknet dùng storage layout tương tự EVM. Khi thay đổi cặp public key, nếu không tính toán kỹ storage slot, có thể ghi đè lên dữ liệu quan trọng khác. Đây là lỗi kinh điển trong proxy upgrade – và tôi từng thấy nó trong một audit cách đây ba năm. StarkWare đã học từ sai lầm của người khác? Tôi hy vọng vậy.
Thứ ba: recursive proof overhead. STARK signature có kích thước lớn hơn ECDSA. Mỗi giao dịch chứa chữ ký mới sẽ tốn thêm gas. Starknet có thể giảm chi phí bằng recursive proof – chứng minh một batch migration trong một proof duy nhất. Nhưng recursive proof đòi hỏi verification circuit phức tạp hơn, đồng nghĩa với bề mặt tấn công lớn hơn. Tôi chưa thấy bất kỳ audit nào công khai về circuit này.
Góc nhìn phản trực giác: Đây không phải tin vui hoàn toàn
Cộng đồng đang tung hô Starknet như người tiên phong. Nhưng tôi nhìn thấy một điểm mù: migration window. Khi bạn bắt đầu quá trình chuyển đổi, có một khoảng thời gian mà một số tài khoản đã dùng STARK signature, số khác vẫn dùng ECDSA. Hệ thống phải hỗ trợ cả hai loại chữ ký đồng thời. Điều này tạo ra một attack surface mới: kẻ tấn công có thể nhắm vào các tài khoản chưa migration, giả mạo giao dịch từ chúng nếu có lỗi trong logic xác thực kép. Tôi từng chứng kiến một lỗi tương tự trong cross-chain bridge – nơi hai phiên bản của cùng một contract chạy song song và dẫn đến double-spend.
Hơn nữa, quản lý khóa cho người dùng thông thường trở nên phức tạp. STARK signature yêu cầu seed khác với ECDSA. Nếu người dùng không hiểu rõ quy trình, họ có thể mất quyền truy cập vĩnh viễn. Starknet có một hệ thống phục hồi (social recovery) không? Tôi chưa thấy đề cập. Và nếu không, đây là một thảm họa UX đang chờ xảy ra.
Kết luận: Ai sẽ chảy máu?
Starknet đã đặt nền móng cho kỷ nguyên hậu lượng tử trên blockchain. Họ xứng đáng được ghi nhận. Nhưng như mọi bản nâng cấp hệ thống, cánh cửa mở ra cũng mang theo bóng tối. Câu hỏi thực sự không phải là "liệu công nghệ có hoạt động" – nó đã hoạt động. Câu hỏi là: liệu quá trình migration có xảy ra sự cố không? Và nếu có, Starknet có đủ khả năng dừng lại và sửa chữa mà không gây tổn thất lớn? Tôi vẫn chưa thấy kế hoạch dự phòng nào. Và trong thế giới on-chain, không có kế hoạch B đồng nghĩa với việc bạn đang đánh cược với toàn bộ TVL.