Quỹ đầu tư mạo hiểm Andreessen Horowitz, được biết đến với tên gọi A16z, vừa phát hành một thư viện Solidity có thể được sử dụng để bỏ phiếu ẩn danh trên Ethereum. Thư viện được gọi là “Cicada”, ngăn chặn việc ghi nhận sự lựa chọn của một cử tri trước khi kết thúc bỏ phiếu.
Khi được kết hợp với các hệ thống tổ chức thành viên không có kiến thức như Semaphore, nó cũng có thể làm cho danh tính của cử tri trở nên không thể biết được mãi mãi, theo một bài đăng trên blog của kỹ sư A16z Michael Zhu vào ngày 24 tháng 5.
Excited to announce Cicada: a new building block for private on-chain voting. 👇 https://t.co/hxE4KL4Se6
— moodle zoup (@moodlezoup) May 24, 2023
Cicada: Hệ thống bỏ phiếu trên blockchain sử dụng mật mã học
Cicada dựa trên các câu đố khóa thời gian, một loại mật mã học cho phép người dùng mã hóa các giá trị bí mật chỉ có thể giải mã sau khi một khoảng thời gian cụ thể đã trôi qua, Zhu nói.
Những câu đố này đã xuất hiện từ năm 1996. Tuy nhiên, trước năm 2019, người dùng sẽ phải tiết lộ các giá trị bí mật của mình sau khi thời gian đã trôi qua. Trong các hệ thống bỏ phiếu, điều này có thể gây ra vấn đề với người dùng gửi bỏ phiếu và sau đó tắt máy, khiến cho tất cả các phiếu bầu không thể được đếm được.
Năm 2019, khái niệm “câu đố khóa thời gian homomorphic” được đề xuất bởi các nhà mật mã học Giulio Malavolta và Aravind Thyagarajan. Điều này cho phép các câu đố được tổng hợp để tạo ra một câu đố cuối cùng dễ giải quyết hơn rất nhiều so với tổng của các câu đố riêng lẻ. Giải pháp cho câu đố cuối cùng chỉ tiết lộ tổng của các giá trị riêng lẻ mà không tiết lộ các giá trị riêng lẻ tạo nên tổng này.
Theo bài viết của A16z, Cicada sử dụng các câu đố homomorphic này, cho phép các phiếu bầu được đếm cả khi người dùng tắt máy.
Khi thử chuyển đổi hệ thống của Malavolta và Thyagarajan sang blockchain, các nhà nghiên cứu A16z đã gặp một chướng ngại đối với việc tạo ra một hệ thống bỏ phiếu công bằng: Mỗi lựa chọn cần được mã hóa dưới dạng giá trị boolean “1” hoặc “0”. Điều này có nghĩa là kẻ tấn công có thể cố gắng tăng sức mạnh bỏ phiếu của họ bằng cách mã hóa phiếu bầu sai – ví dụ: bằng cách mã hóa “100” là giá trị của họ.
Để giải quyết vấn đề này, Cicada yêu cầu người bỏ phiếu đệ trình một chứng minh không có tri thức về tính hợp lệ của phiếu bầu cùng với mỗi phiếu bầu, theo bài viết cho biết. Chứng minh này cho thấy phiếu bầu được mã hóa đúng, nhưng không tiết lộ nội dung của phiếu bầu.
Cicada chỉ ngăn chặn việc biết các phiếu bầu trong khi cuộc thăm dò ý kiến đang được thực hiện. Sau khi “cuộc thăm dò đóng cửa” hoặc thời gian khóa đã qua, bất kỳ ai có thể xác định nội dung của một phiếu bầu bằng cách tìm kiếm lời giải cho câu đố.
Tuy nhiên, A16z đề xuất rằng vấn đề này có thể được giải quyết bằng cách kết hợp Cicada với các hệ thống thành viên nhóm không có tri thức như Semaphore, Semacaulk hoặc các chứng minh trạng thái không có tri thức. Trong trường hợp này, tìm kiếm lời giải cho câu đố chỉ sẽ tiết lộ rằng phiếu bầu đã được đúng người bỏ phiếu thực hiện, nhưng sẽ không tiết lộ các thông tin xác thực được sử dụng để chứng minh sự đúng đắn của cử tri.
Là một ví dụ, Zhu cung cấp một liên kết đến một hợp đồng mẫu được tạo ra bằng Cicada cũng phụ thuộc vào Semaphore để chứng minh tính hợp lệ của người bỏ phiếu.
Hệ thống bỏ phiếu đã lâu là một thành phần của các tổ chức tự trị phi tập trung (DAO), các cơ quan trị quản lý ứng dụng blockchain. Tuy nhiên, trong hầu hết các trường hợp, DAO sử dụng mã thông báo để đại diện cho phiếu bầu, có nghĩa là người dùng cá nhân có thể có ảnh hưởng quá lớn nếu họ nắm giữ một số lượng lớn mã thông báo.
Ví dụ, vào ngày 22 tháng 5, một kẻ tấn công đã kiểm soát Tornado Cash bằng cách đưa ra các phiếu bầu phụ trội cho một đề xuất độc hại, sử dụng nó để rút hết tất cả các quỹ của hợp đồng quản trị. Kẻ tấn công sau đó đã đề nghị trả lại quyền kiểm soát cho người dùng.
Sasha Ivanov, người sáng lập Waves, đã lập luận rằng DAO phải chuyển sang một hệ thống bỏ phiếu dân chủ hơn nếu như muốn tránh các cuộc tấn công quản trị như vậy.
Tin Tức Bitcoin tổng hợp