Có một khái niệm trong kiến trúc bảo mật của Starknet mà dễ bị bỏ qua nhưng có thể là phần tinh tế nhất của toàn bộ hệ thống: nullifiers. Đây là vấn đề. Trong một pool bảo mật, bạn giữ các ghi chú được mã hóa đại diện cho token của bạn. Khi bạn chi tiêu một ghi chú, hệ thống cần ngăn chặn việc chi tiêu gấp đôi. Nhưng nó cũng cần phải ẩn đi ghi chú nào bạn đang chi tiêu. Hai mục tiêu này đang mâu thuẫn trực tiếp với nhau. Giải pháp: Khi bạn chi tiêu một ghi chú, bạn công bố một nullifier. Một giá trị duy nhất được tạo ra từ ghi chú và khóa xem riêng tư của bạn. Nullifier đánh dấu ghi chú là đã được chi tiêu. Nhưng không ai theo dõi có thể liên kết nullifier trở lại ghi chú gốc vì việc tính toán nó yêu cầu khóa riêng tư của bạn. Vì vậy, hệ thống biết rằng có một cái gì đó đã được chi tiêu. Nó chỉ không biết cái gì. Và người đã gửi cho bạn ghi chú không thể biết khi bạn chi tiêu nó vì họ không có khóa xem của bạn. Đây là loại thiết kế mật mã mà mất nhiều năm để hoàn thiện. Và nó đã được triển khai trong đặc tả STRK20s, được viết hoàn toàn bằng Cairo, có thể kiểm toán trong một mã nguồn.