راه پرداخت
رسانه فناوری‌های مالی ایران

آشنایی با سیستم انتخابات مبتنی بر بلاکچین همراستا / چگونه انتخابات دوره ششم هیئت مدیره نصر برگزار می‌شود؟

چهارشنبه 21 آبان، انتخابات سازمان نظام صنفی رایانه‌ای استان البرز به‌عنوان اولین انتخابات رسمی کشور روی بستر فناوری بلاکچین توسط همراستا برگزار شد و این هفته هم انتخابات سازمان نصر تهران روی همین بستر برگزار خواهد شد (+). این اتفاق بهانه‌ای شد تا در این مطلب شما را با سیستم انتخابات مبتنی بر بلاکچین همراستا آشنا کنیم و به سوالات احتمالی در این حوزه پاسخ دهیم. (برخی اصطلاحات استفاده شده در این مطلب، اصلاحات فنی و بلاکچینی هستند که توضیح آنها در این نوشته نمی‌گنجند.)

ویدیوی آشنایی با سیستم انتخاباتی مبتنی بر بلاکچین همراستا

مقدمه‌ای کوتاه از بلاکچین


در چند سال اخیر، چه در داخل و چه در کشورهای دیگر، هر گوشه‌ای را نگاه کنیم خبری در مورد فناوری بلاکچین دیده و شنیده می‌شود ولی چرا هنوز استفاده ملموسی از این فناوری در زندگی روزمره خود نمی‌بینیم؟ مهمترین دلیل این موضوع، عدم آمادگی جامعه، به معنای کلی آن، برای پذیرش برخی مفاهیم انقلابی مثل شفافیت، ناشناس بودن و غیره است. یکی از راه‌حل‌های این موضوع، بلاکچین‌های خصوصی هستند که سعی در تطبیق هر چه بیشتر این فناوری با تعاریف و چارچوب‌های ساختاری جامعه، به ویژه حاکمیت دارند. حریم خصوصی و چارچوب‌های سخت حقوقی از مهمترین این تعاریف‌اند.


حریم خصوصی (Privacy) و محرمانگی اطلاعات


باید گفت برخلاف ظاهر این عبارت، تعریف مشخص و متفق‌النظری در مورد آن وجود ندارد و بحث، بیشتر در مورد حد و مرز دسترسی به اطلاعات شهروندان است. حریم خصوصی در دنیای مجازی به این معنا است که اطلاعات بین کاربر و سرویس‌گیرنده، خصوصی (Private) هستند. به عنوان مثال محرمانگی اطلاعات در سیستم بانکی به معنای عدم دسترسی بانک سرویس‌دهنده به اطلاعات کاربر نیست یا محرمانگی اطلاعات در شبکه‌های اجتماعی، پیغام‌رسان‌ها یا ارائه‌دهندگان اینترنت و غیره. این موضوع به طور کلی نتیجه فناوری یا مدل درآمدی سرویس‌دهندگان نبوده و بیشتر به ساختارها و قوانین جامعه مربوط می‌شود. این قوانین موضوع بحث ما نیست و باید به خاطر سپرد که در این مطلب، در مورد جامعه‌ واقعی کنونی صحبت می‌کنیم.


انتخابات نظام صنفی و بستر بلاکچینی همراستا


سیستم انتخابات مبتنی بر بلاکچین همراستا از دو قسمت کلی تشکیل شده است. قسمت اول شامل پنل و ظاهر ارتباطی (Interface) و اجزای مرتبط با  آن (Database, Back-end, Front-end, …) و کاملا متمرکز (Central)  است. کاربران (رای‌دهندگان، هیئت اجرایی و نظارت) از طریق این پنل به فرایندهای انتخابات از جمله تعریف انتخابات، اخذ رای، جستجوگر و تایید و اعلام نتایج انتخابات، دسترسی پیدا می‌کنند. در این قسمت تمام کاربران احراز هویت شده و با مشخصات هویتی و کد یکبار مصرف (OTP) شناسایی و احراز می‌شوند.

 قسمت دوم نیز یک شبکه بلاکچین خصوصی (Private Ethereum) با الگوریتم اجماع اثبات از طریق مجوز (Proof Of Authority یا PoA) است که قراردادهای هوشمند مختلفی در آن توسعه داده شده است. به دلیل خصوصی بودن این شبکه، گره‌ جدیدی نمی‌تواند به این بستر اضافه شود. همچنین در این شبکه‌ خصوصی تغییراتی اعمال شده است که درباره آن توضیح داده خواهد شد.


تعریف انتخابات


با تعریف یک انتخابات، یک قرارداد هوشمند در شبکه بلاکچینی ایجاد می‌شود. در زمان تعریف انتخابات، علاوه بر مشخص کردن تمام پارامترهای انتخابات از جمله زمان شروع و پایان، تعداد کرسی‌ها، تعداد بازرسین و اعضای علی البدل و غیره، لیست تمام رای‌دهندگان مجاز و کاندیداها بارگذاری شده که تمام این افراد دارای یک کد عضویت یکتا هستند. بعد از بارگزاری این اطلاعات به ازای هر کد عضویت‌، جفت کلیدی (شامل یک کلید عمومی و خصوصی) ایجاد و قرارداد هوشمندی که اشاره شد با لیستی از این کلیدهای عمومی ایجاد می‌شود. این کلیدهای عمومی در واقع نقش شناسه کاربر در شبکه بلاکچین را دارند و اگر شخصی به هر طریقی به اطلاعات شبکه بلاکچین دسترسی پیدا کند تنها این کلیدهای عمومی بی‌معنی را مشاهده خواهد کرد. اما در نظر داشته باشیم که همراستا در قسمت متمرکز این سیستم و در نتیجه‌ فرایند احراز هویت، می‌تواند متوجه شود که کدام کد عضویت مربوط به کدام کلید عمومی است.


اخذ رای


روی شبکه بلاکچین، متدی به اسم Vote وجود دارد که وظیفه‌ آن جمع‌آوری رای است. چندان به مسائل پیچیده رمزنگاری نمی‌پردازیم اما فرض کنید صندوقی دست هر یک از اعضای رای‌دهنده وجود دارد که می‌توانند رای خود را به همراه امضای دیجیتال خود در آن صندوق قرار دهند. دست هر یک از اعضا قفلی است که فقط با یک کلید خصوصی که در دست هیئت نظارت است باز می‌شود. پس از اینکه رای‌دهنده‌ها رای خود را به همراه امضای خود در این صندوق قرار دادند، با صدا کردن متد مربوطه در قرارداد هوشمند، رای خود را ثبت می‌کنند.

خوشبختانه در دنیای رمزنگاری این امضای دیجیتال تنها توسط شخصی که کلید خصوصی را دارد قابل ایجاد است و کسی نمی‌تواند منکر امضای خود شود. اگر هرکسی به هر نحوی توانست به این شبکه خصوصی بلاکچین وصل شود و اگر بتواند اطلاعات ماشین مجازی (VM) آن را رمزگشایی (به اصطلاح decode) کند، باز هم نمی‌تواند بدون داشتن این کلید از محتوای رای‌ها با خبر شود و تنها چیزی که می‌بیند این است که کدام کلید عمومی (که بصورت Hash هستند) رای خود را ثبت کرده است. اجرای متد Vote منوط به زمان شروع و پایان انتخابات و همچنین عدم فراخوانی متد خاتمه انتخابات است.


تایید انتخابات و اعلام نتایج


تابع دیگری برای خاتمه انتخابات در شبکه بلاکچین وجود دارد که با گرفتن یک کلید خصوصی خاص که مربوط به هیئت نظارت است، این صندوق‌ها را رمزگشایی و نتایج انتخابات را با استفاده از این کلید خصوصی افشا می‌کند. در واقع پس از اتمام زمان رای‌گیری تنها با تایید انتخابات است که نتایج نمایش داده می‌شود. لازم به توضیح است که در شبکه بلاکچینی اتریوم، متدی جهت دریافت اطلاعات خصوصی (Private) داخل قراردادهای هوشمند وجود دارد که به دلیل خصوصی بودن این شبکه، متد مذکور قابل اجرا نبوده و به همین دلیل تنها راهی که می‌توان به اطلاعات رای‌ها دسترسی داشت، فراخوانی متد خاتمه انتخابات است.

پس با داشتن این کلید خصوصی می‌توان به نتایج انتخابات دسترسی پیدا کرد، حتی در حین برگزاری انتخابات که راه‌حل این موضوع در کنار حفظ امنیت این کلید خصوصی، در شفافیت تراکنش‌ها در شبکه بلاکچین است. در این سیستم مشابه سایر شبکه‌های بلاکچینی، قسمتی به عنوان جستجوگر (Explorer) وجود دارد که تمام وقایع و تراکنش‌هایی که در گره‌های بلاکچین اتفاق می‌افتند را نمایش می‌دهد. گره‌های این شبکه در سرورهای مختلف و مجزا از هم در سازمان نصر و همراستا قرار گرفتند.

اما با فرض اینکه کسی به هر طریقی، به این کلید خصوصی دسترسی پیدا کرده و در حین مدت برگزاری قصد داشته باشد نتایج را ببیند؛ بایستی همان متد خاتمه انتخابات را فعال کند که در این صورت تراکنش مربوطه در تمام گره‌ها ثبت و تمام افراد در جستجوگر خود آن را مشاهده خواهند کرد. از طرفی همانطور که بالاتر اشاره شد با فراخوانی این متد، عملیات مربوط به ثبت رای که توسط متد Vote انجام می‌شود، دیگر قابل اجرا نبوده و قاعدتا کسی امکان ثبت رای نخواهد داشت. پس حتی در صورت دسترسی به این کلید خصوصی و استفاده‌ غیر مجاز از آن به هر نحوی در حین برگزاری، ادامه انتخابات مختل شده و امکان ثبت رای وجود نخواهد داشت.

اگر در دنیای اتوپیایی زندگی می‌کردیم و شرایط و ضوابط فعلی جامعه و البته شرایط توسعه و اجرای این پروژه را در نظر نگیریم، بهتر است این سیستم بصورت عمومی (Public Blockchain) بوده و تمام کاربران (رای‌دهندگان و کاندیداها و … )، یک اپلیکیشن مدیریت تراکنش‌ها همانند کیف پول‌های رمزارزی، داشته باشند. اما رسیدن به یک جامعه‌ بهتر قدم به قدم انجام می‌شود و با وجود تمام مشکلات و معضلات عدیده حال حاضر کشور، همراستا و تیمش توانستند نقشی در پی‌ریزی آینده‌ای بهتر داشته باشند.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.