این سیستم از «پازلهای قفلشده در زمان» برای رمزگذاری محتوای آرا استفاده میکند و تا زمانی که رأیگیری تمام شود، آنها را غیرقابل خواندن میکند.
صندوق سرمایه گذاری خطرپذیر Andreessen Horowitz، همچنین به عنوان “a16z” شناخته می شود، یک کتابخانه Solidity در اتریوم منتشر کرده است که می تواند برای رای گیری ناشناس استفاده شود. کتابخانه ای که “Cicada” نام دارد، از مشخص شدن انتخاب فرد رای دهنده قبل از پایان رای گیری جلوگیری می کند. بر اساس یک پست وبلاگی در ۲۴ مه توسط مهندس a16z مایکل ژو، هنگامی که با سیستم های عضویت گروهی با دانش صفر (ZK) مانند Semaphore ترکیب شود، می تواند هویت رای دهنده را برای همیشه ناشناخته کند.
من هیجان زده هستم که Cicada را معرفی کنم، یک بلوک جدید برای رای گیری خصوصی در زنجیره. https://t.co/hxE4KL4Se6
– moodle zoup (@moodlezoup) 24 مه 2023
ژو خاطرنشان کرد که Cicada بر پازلهای قفل زمانی تکیه میکند، نوعی رمزنگاری که به کاربران اجازه میدهد مقادیر مخفی را رمزگذاری کنند که فقط پس از گذشت مدت زمان معینی قابل رمزگشایی هستند.
این پازل ها از سال 1996 وجود داشته است. اما قبل از سال 2019، کاربران باید پس از گذشت زمان، مقادیر مخفی خود را فاش کنند. در سیستمهای رایگیری، این امر میتوانست از شمارش همه آرا جلوگیری کند و باعث ایجاد مشکل در ارسال آرا و سپس آفلاین شدن کاربران شود.
مفهوم پازلهای قفلشده در زمان «همومورفیک» توسط رمزنگاران Malavolta و Thyagarajan در سال 2019 ارائه شد. این باعث شد که پازل ها با هم جمع شوند تا یک پازل نهایی ایجاد شود که حل آن بسیار ساده تر از مجموع پازل های فردی بود. حل آخرین پازل تنها مجموع مقادیر فردی را نشان می دهد، بدون اینکه مقادیر فردی که این مجموع را تشکیل می دهند، آشکار شود.
با توجه به پست a16z، Cicada از این پازل های هموار استفاده می کند و اجازه می دهد تا آرا حتی زمانی که کاربران آفلاین هستند، شمارش شوند.
محققان a16z هنگام تلاش برای انتقال سیستم Malavolta و Thyagarajan به بلاک چین، با مانعی در ایجاد یک سیستم رایگیری منصفانه مواجه شدند: هر گزینه باید به عنوان یک مقدار منطقی “1” یا “0” کدگذاری میشد. این بدان معناست که مهاجم میتواند با رمزگذاری اشتباه رای، برای مثال با رمزگذاری “100” به عنوان مقدار آن، قدرت رای را افزایش دهد.
در این پست آمده است که برای رسیدگی به این موضوع، Cicada از رای دهندگان می خواهد که با هر برگه رای، مدرکی با دانش صفر در مورد اعتبار رای ارائه دهند. شواهد نشان می دهد که رای به درستی کدگذاری شده است، اما محتوای رای را فاش نکرده است.
مرتبط با: Anchorage Digital رأی گیری DeFi را برای مشتریان حضانت راه اندازی می کند
Cicada فقط از مشخص شدن آرا در هنگام رای گیری جلوگیری می کند. هنگامی که “نظرسنجی بسته می شود” یا دوره قفل زمانی سپری می شود، هر کسی می تواند راه حل معما را برای تعیین محتوای رای بی رحمانه اعمال کند. با این حال، a16z پیشنهاد کرد که این مشکل را میتوان با ترکیب Cicada با سیستمهای عضویت گروهی با دانش صفر مانند Semaphor، Semacaulk یا اثبات وضعیت ZK حل کرد. در این مورد، اجبار کردن پازل فقط نشان می دهد که رای توسط یک رای دهنده واجد شرایط انجام شده است، اما نه اعتبار مورد استفاده برای اثبات صلاحیت رای دهنده.
به عنوان مثال، ژو پیوندی به یک نمونه قرارداد تولید شده با استفاده از Cicada ارائه کرد که برای اثبات واجد شرایط بودن رایدهندگان نیز به Semaphor متکی است.
سیستمهای رایگیری مدتهاست که جزئی از سازمانهای مستقل غیرمتمرکز (DAOs) بودهاند که اغلب نهادهای حاکم بر برنامههای بلاک چین هستند. اما در بیشتر موارد، DAO ها از توکن ها برای نمایش آرا استفاده می کنند. این بدان معنی است که اگر یک کاربر تعداد زیادی آیکون داشته باشد، می تواند تأثیر زیادی داشته باشد. به عنوان مثال، در 22 می، یک مهاجم کنترل تورنادو کش را با ایجاد آرای اضافی برای خود از طریق یک پیشنهاد مخرب و استفاده از آن برای تخلیه تمام وجوه توافقنامه حاکمیتی به دست گرفت. سپس مهاجم پیشنهاد داد که کنترل را به کاربران بازگرداند.
ساشا ایوانوف، بنیانگذار شبکه Waves، استدلال کرد که DAO ها باید به سمت یک سیستم رأی دهی دموکراتیک تر حرکت کنند تا از حملات حکومتی مانند این جلوگیری کنند.
نویسنده: Tom Blackstone