2019年第八届数学建模国际赛小美赛D题安全选举的答案是什么解题全过程文档及程序

news2024/9/24 19:22:06

2019年第八届数学建模国际赛小美赛

D题 安全选举的答案是什么

原题再现:

  随着美国进入一场关键性的选举,在确保投票系统的完整性方面进展甚微。2016年总统大选期间,唐纳德·特朗普因被指控受到外国干涉而入主白宫,这一问题再次成为人们关注的焦点。
  现有的投票系统确实给人们留下了很大的怀疑空间:从理论上讲,模拟选民是可能的(尽管调查一再发现,在美国,这种情况的发生率可以忽略不计);邮寄选票可能被篡改或窃取;选举官员可能计算不准确;而且几乎每一台电子投票机都被证明是可以破解的。毫不奇怪,2016年大选前公布的盖洛普民意调查发现,三分之一的美国双倍选票将被正确统计。
  区块链倡导者说,这项技术解决了投票系统不安全的根本原因,即投票可以由一个人、一个小组或一台机器控制。阿根廷网络派对提供了一个可能出错的例子。这个小政党提名的候选人承诺严格遵守公民在网上投票平台上的投票。2014年初,当其领导人考虑建立跨党派联盟时,他们将这一决定交由党员投票表决。令他们恐惧的是,他们发现数据库管理员有选择地将新的选民登记推迟到公投之后,使参与者池偏向管理员喜欢的结果。
  区块链是比特币数字货币背后的技术,是一个分散的公共交易账本,没有任何个人或公司拥有或控制。取而代之的是,每个用户都可以访问整个区块链,每一笔资金从一个账户转移到另一个账户的记录都采用了一种安全且可验证的形式,使用的是从密码中借用的数学技术。由于区块链的副本散落在全球各地,它被认为是有效的防篡改。
  人们广泛讨论了比特币给执法和国际货币管制带来的挑战。但区块链分类账的用途远远超出了简单的货币交易。
  也许区块链技术最令人鼓舞的好处是它为参与者创造了激励,鼓励他们在规则平等适用于所有人的情况下诚实地工作。比特币确实导致了一些著名的违禁品交易滥用,区块链技术的一些邪恶应用可能是不可避免的。这项技术并没有让偷窃变得不可能,只是让偷窃变得更加困难。但是,作为改善社会公共记录存储库并加强代表性和参与性法律和治理体系的基础设施,区块链技术有潜力加强隐私、安全和数据传输自由,这无疑与生命、自由和追求幸福并驾齐驱。
  在功能上,区块链只是一个复杂的数据库。例如,比特币数据库中的每个条目都是数字账本中的一项交易。分类帐公开列出了迄今为止的所有交易,并隐式指定了谁保留了多少钱。区块链与传统数据库的区别在于,它允许多方共享一个数据库,而无需集中控制。大多数传统数据库都有一台权威计算机来管理添加数据的过程。在区块链中,受信任的网守被互联网上的计算机所取代,每个计算机都维护自己的数据库副本。这些计算机充当新数据的验证器:当Alice想要向Bob汇款时,她将交易广播给验证器,验证器必须自己确认交易遵守区块链规则(例如,Alice发送的比特币没有超过她拥有的比特币)。一旦大多数的网络交易被接受,它们就成为事实上的共识历史。
  尽管区块链最突出的用途是货币,但它们没有理由不能存储其他类型的数据,投票似乎非常适合。一个理想的投票系统可以抵御当局或黑客的腐败,并使公民和审计员能够就选举结果达成一致。方便的是,区块链提供的正是彼此不完全信任的各方之间可审计的共识。
  区块链是安全选举的答案吗?可能不会。
  假设你是大选检查委员会的技术顾问。您应完成以下任务:
  1、构建底层设计或一套算法,利用区块链技术解决在线投票问题。
  2、评估区块链技术解决投票问题可能存在的问题,并尝试改进。
  3、网络安全专家和投票专家都认为区块链不必要的复杂,并不比其他在线投票更安全。是否可以通过与其他技术的结合来降低区块链技术的复杂性,提高安全性?

  写一页技术说明,描述你的新想法、算法和结果。
  提交内容应包括:
  •一页汇总表,
  •一页技术说明,
  •您的解决方案不超过30页,最多32页,包含您的总结和技术说明。

整体求解过程概述(摘要)

  随着社会的发展和经济的快速发展,投票选举和调查工作发挥着越来越重要的作用。与纸质投票相比,在线投票系统更加环保、高效,因此在线投票系统得到了广泛的应用。然而,由于数据集中在中央数据库中,因此存在数据不够透明、数据容易被篡改以及选民隐私信息被泄露的风险。鉴于这种结合快速发展的区块链技术很好地解决了这一问题,具有去中心化、数据防篡改、安全可靠等特点。区块链已经逐渐应用到人们生活的各个领域,保证了投票系统的公平性和安全性。
  本文首先研究了块链技术的相关知识,如散列函数、非对称密码算法、数字签名、时间戳技术等,引入P2P网络、分布式存储和协商一致机制等概念来理解块链的操作过程。分析了系统需求和存储数据的特点。结合区块链技术设计了在线投票系统,分为应用层和区块链层。重点研究了P2P网络在块链网络层的组网模式、节点块同步、数据块验证机制和保证数据一致性的一致性机制。非对称加密算法、数字签名、时间戳技术等,设计数据块,采用链式结构存储数据块。
  在完成底层区块链设计的基础上,应用层采用B/S架构。web应用层主要完成注册登录模块、投票模块、计票模块、投票结果查询模块。编程语言为Html、JS、Java。Web应用层采用JavaScript开发,接口调用,数据库采用mysql,应用层采用MVC设计模式,分为视图层、业务逻辑层和数据访问层。该交互界面采用Html、css、脚本语言,利用div-box框架设计了交互界面。最后将模板和数据的组合展示在用户面前。视图层和业务逻辑完全分离,提高了开发效率,所需页面可以方便快捷地定制。
  Web应用层紧密结合区块链的特点,构建一个公平、公正、透明的投票系统。本文的目的是将区块链的底层技术应用到在线投票场景中,设计一个安全可靠的投票系统,充分利用区块链的去中心化、数据不可篡改、安全可靠的特点。
  然后分析了基于块链技术的投票系统在运行过程中可能出现的同步问题、广播问题、恶意篡改问题和高并发问题,并给出了解决方案。
  最后,针对区块链的技术难点和该投票系统固有的不足,提出了盲签名技术、生物识别技术、云计算技术和物联网技术相结合的四种方法。该方案使得该投票系统具有很大的潜力和发展空间。

模型假设:

  1、假设每个投票人彼此独立,每个投票记录可以表示为服从伯努利分布的二元随机变量。
  2、假设选票上的每个候选人都会投票,并且不会放弃竞选。
  3、假设每个投票人对投票系统中的每个投票项目只有一票,可以弃权。
  4、假设每个用户既可以是投票人也可以是投票发起人,在投票系统中对其身份没有任何限制。
  5、假设该投票系统中超过半数的投票人不会恶意篡改数据,否则任何单个节点都会恶意修改数据,不会影响整个网络数据的正确性
  6、假设本投票系统采用的POW负载证明中的所有节点共同参与计算,不考虑资源浪费
  7、假设本文使用的椭圆曲线密码没有考虑其他形式的稍有不同的情况
  8、假设所有形式的椭圆曲线密码依赖于解决椭圆曲线离散对数问题的公认困难,对应于有限域中的椭圆曲线群。

问题重述:

  问题的描述
  本文旨在研究基于区块链的在线投票系统,通过对区块链的分散,数据不可篡改,且安全可靠的特点,结合对现有技术的深入研究,获取底层算法,将区块链技术应用到投票系统中,给出了可行的模型,建立投票制度的保障。针对本文中的三个具体问题,进行以下分析:

  问题1分析
  为了利用块链构建底层算法的知识,有必要对块链的操作过程进行深入研究,包括密码相关技术、P2P网络、分布式存储、协商一致机制等技术,并利用这些技术设计一个多候选投票系统方案。为实现智能合同计票功能,采用Html和CSS脚本语言进行投票系统界面设计,提供Java脚本开发使用web应用层,界面调用部署在智能投票方案中实现合同与合同交互的方法,mysql数据库应用,经过两轮零知识证明协议,保证了投票者信息的安全不被泄露。

  问题2的分析
  区块链的完全去中心化也会带来一些麻烦,因为网络上会有大量的区块链拷贝,即全节点。许多事情将比以前的集中式应用程序环境复杂得多。根据系统的实际测试过程,需要解决以下四个问题:
  (1)如何确保所有副本已同步到最新状态?
  解决方案:使用块同步技术,确保所有副本同步到最新状态,块链数据或不完整数据,需要从其他节点请求数据块。
  (2)如何确保将所有交易广播到运行和维护区块链副本的所有节点计算机?
  解决方案:构建节点P2P网络,确保所有交易都广播到运行和维护区块链副本的所有节点计算机
  (3)如何防止恶意参与者篡改区块链解决方案:引入验证和共识机制,确保数据不被篡改。验证机制包括椭圆加密算法和时间戳技术的引入。验证机制的参考是从源头上减少恶意节点,具体的防范需要参考共识机制。
  (4)如何在区块链上进行大规模投票?
  解决方案:设计专用区块链,需要重新设计优化区块链底层架构,提高交易吞吐量,重新设计优化共识算法、区块大小、区块生成时间、交易验证时间。

  问题3的分析
  本文设计的投票系统目前只适用于匿名隐私级别较高的由董事会投票的场景,今后我们将研究如何在区块链上进行大规模投票,基于区块链设计的投票系统的优缺点我们认为区块链技术可以与一些技术相结合,降低了其技术复杂度,具有安全高效的特点。方案如下:
  方案1:根据电子投票场景中用户隐私保护的要求,提出了一种基于分组链的基于SM2的盲签名算法。
  方案二:结合生物特征识别技术,将个人的生物特征信息应用到区块链中进行身份信息的注册和认证,并将其应用到投票的身份识别过程中,使整个投票过程更加安全高效。
  方案三:结合云计算进行数据隐私保护,用户将数据上传到云。密码技术应用于区块链技术中,对用户的私有数据传输进行加密。区块链构建信任系统。
  解决方案4:结合物联网技术,区块链与物联网相结合,构建分散式物联网解决方案,避免了诸多问题。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

fitness=inline('(2.1*(1-x+2*x.^2).*exp(-x.^2/2))+sin(x)+x','x');
%%
E0=0.001;
Max_num=50;
particlesize=30;
c1=0.5;
c2=1;
w=0.3;
vc=0.5;
vmax=0.6;
x=-5+10*rand(particlesize,1);
v=1*rand(particlesize,1);
%%
f=fitness(x);
personalbest_x=x;
personalbest_f=f;
[groupbest_f i]=max(personalbest_f);
groupbest_x=x(i);
for j=1:Max_num
 v=w*v+c1*rand*(personalbest_x-x)+c2*rand*(groupbest_x*ones(particlesize,1)-x);
 for kk=1:particlesize
 if v(kk)>vmax
 v(kk)=vmax;
 else if v(kk)<-vmax
 v(kk)=-vmax;
 end
 end
 end
 x=x+vc*v;
 f=fitness(x);
 for kk=1:particlesize
 if f(kk)>personalbest_f(kk)
 personalbest_f(kk)=f(kk);
 personalbest_x(kk)=x(kk);
 end
 end
 [groupbest_f i]=max(personalbest_f);
 groupbest_x=x(i);
 ddd(j)=groupbest_f;
end
 str=num2str(groupbest_f)
 %%
subplot(2,1,1)
x_0=-5:0.01:5;
 f_0=fitness(x_0);
plot(x_0,f_0,'r','linewidth',2);
hold on
plot(groupbest_x,groupbest_f,'b+','linewidth',6);
legend(' For function ',' Optimal solution position ');
subplot(2,1,2)
plot(1:Max_num,ddd,'linewidth',2);
legend(' The change in the optimal solution ');
xlabel(' The number of iterations ');
ylabel(str);
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1310837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跟着我学Python基础篇:08.集合和字典

往期文章 跟着我学Python基础篇&#xff1a;01.初露端倪 跟着我学Python基础篇&#xff1a;02.数字与字符串编程 跟着我学Python基础篇&#xff1a;03.选择结构 跟着我学Python基础篇&#xff1a;04.循环 跟着我学Python基础篇&#xff1a;05.函数 跟着我学Python基础篇&#…

HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式

一、目的 在博文《HPM5300系列--第一篇 命令行开发调试环境搭建》、《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》中我们介绍了命令行方式开发环境&#xff0c;也介绍了HPM6750evkmini开发板如何使用Visual Studio Code进行开发调试&#xff08;其中调试方式使用…

了解一下DHCP

DHCP的工作原理 本质&#xff1a; 1、物理网卡自身集成了DHCP的功能&#xff0c;为了请求获取合法、可用的IP 2、DHCP服务端核心功能在于&#xff1a;通过自定义的网段的地址池&#xff0c;来给与新加入的网络环境的设备以租约的方式分配合法IP 1.什么是DHCP 1.1DHCP定义 …

【JUC】二十九、synchronized锁升级之轻量锁与重量锁

文章目录 1、轻量锁2、轻量锁的作用3、轻量锁的加锁和释放4、轻量级锁的代码演示5、重量级锁6、重量级锁的原理7、锁升级和hashcode的关系8、锁升级和hashcode关系的代码证明9、synchronized锁升级的总结10、JIT编译器对锁的优化&#xff1a;锁消除和锁粗化11、结语 &#x1f4…

Mac 如何删除文件及文件夹?可以尝试使用终端进行删除

MacOS 是 Mac 电脑采用的操作系统&#xff0c;你知道 Mac 如何删除文件吗&#xff1f;除了直接将文件或者文件夹拖入废纸篓之外&#xff0c;我们还可以采用终端命令的办法去删除文件&#xff0c;本文为大家总结了 Mac 删除文件方法。 为何使用命令行删除文件 在使用 Mac 电脑…

纯前端使用XLSX导出excel表格

1 单个sheet page.js(页面中的导出方法) import { exportExcel } from ../../../utils/exportExcel.js; leadOut() {const arr [{ id: 1, name: 张三, age: 14, sex: 男 },{ id: 2, name: 李四, age: 15, sex: 女 },{ id: 3, name: 王五, age: 16, sex: 男 },];const allR…

6.4.如何生成SDP

在我们前面的课程中呢&#xff0c;我已经向你介绍了很多sdp相关的内容&#xff0c;那今天呢&#xff0c;我们来看看如何生成sdp。 那我们的目标呢&#xff0c;当然就是生成这样一个文本&#xff0c;那这个文本呢&#xff0c;就是sdp文本那里边包括了各种各样的媒体信息&#…

GPIO模拟MDIO

背景 CPU&#xff1a;AST2500 驱动里实现GPIO模拟MDIO驱动,参考内核驱动mdio-bitbang.c和mdio-gpio.c&#xff0c;当前项目不支持设备树&#xff0c;驱动需要改成platform注册 MDIO介绍 SMI接口 SMI是MAC内核访问PHY寄存器接口&#xff0c;它由两根线组成&#xff0c;双工…

论文阅读《Parameterized Cost Volume for Stereo Matching》

论文地址&#xff1a;https://openaccess.thecvf.com/content/ICCV2023/papers/Zeng_Parameterized_Cost_Volume_for_Stereo_Matching_ICCV_2023_paper.pdf 源码地址&#xff1a;https://github.com/jiaxiZeng/Parameterized-Cost-Volume-for-Stereo-Matching 概述 现有的立体匹…

c# 字段和属性(get、set、init)

目录 基本概念&#xff1a; 个人理解&#xff1a; 访问器的默认写法&#xff1a; set与init无法共存&#xff1a; init&#xff1a; 必须在类的实例化时给字段赋值的情况(require属性): 基本概念&#xff1a; “字段”就是类内成员变量&#xff0c;一般为了隐藏数据&…

超详细教程:使用React实现动态轮播图

前言 轮播组件是常见的一种方式&#xff0c;用来展示图像、信息或者是广告。我们可以使用React来创建一个轮播组件&#xff0c;并且利用其中的State和effect Hook来创建一款动态的、可以自动播放的轮播组件。 效果 轮播组件会展示一个平铺的图片列表。在图片列表下方是一组小…

java定位系统源码,UWB技术的无线定位系统源码

UWB技术是一种传输速率高&#xff0c;发射功率较低&#xff0c;穿透能力较强并且是基于极窄脉冲的无线技术。UWB最优的应用环境是室内或者相对密闭的空间&#xff0c;有着厘米级的定位精度&#xff0c;不仅可以非常精准地进行位置跟踪&#xff0c;还可以快速地进行数据传输。 智…

基于亚马逊云科技新功能:Amazon SageMaker Canvas无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 目录 &#x1f680;一. Amazon SageMaker &#x1f50e;1.1 新功能发布&#xff1a;A…

消息通知(Notification)/用户触达系统设计

近年来&#xff0c;通知功能已经成为许多应用程序中突出的特性。构建一个能每天发送数百万通知的可扩展系统绝非易事。这正是为什么我觉得有必要记录我在这方面踩坑之路。也叫用户触达系统。 完成这项任务要求对通知生态系统有深刻的理解&#xff0c;否则需求很容易变得模糊和…

系列十五、Redis面试题集锦

一、Redis面试题集锦 1.1、Redis到底是单线程还是多线程 Redis6.0版本之前的单线程指的是其网络IO和键值对读写是由一个线程完成的&#xff1b; Redis6.0引入的多线程指的是网络请求过程采用了多线程&#xff0c;而键值对读写命令仍然是单线程的&#xff0c;所以多线程环境下&…

MITO-ID®线粒体膜电位检测试剂盒

线粒体膜电位&#xff08;Mitochondrial Membrane Potential,MMP&#xff09;是判定细胞健康程度、线粒体膜通透性和细胞凋亡的一个重要指标&#xff0c;MMP的丧失通常与细胞凋亡的早期阶段有关。评估线粒体功能状态的基于细胞的检测方法正在成为阐明线粒体活动在药物诱导毒性、…

记录Oracle Exadata X8M-2 存储服务器告警灯亮的处理过程(/SYS/MB/P0PCIE7)

文章目录 概要调查流程处理方式&#xff1a; 概要 现场服务器告警灯亮&#xff0c;其他服务器正常&#xff0c;磁盘灯正常&#xff0c;所以从整体来看应是内部部件抛出的异常问题&#xff0c;需要登录机器确认&#xff1a; 调查流程 通过ILOM web界面查看服务器状态进行信息…

Java代码实现简易版王者荣耀

一.主窗口类 package com.sxt;import com.sxt.beast.Beast;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.util.Arra…

拓展 Amazon S3 技术边界:Amazon S3 Express One Zone 的创新之路

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 自 Amazon S3 服务推出以来&#xff0c;一直是全球各行各业数百万客…

Linux基本开发工具

编译器和自动化构建工具 一、编译器——gcc、g1. 安装 gcc/g2. 使用3. 链接库4. 拓展命令&#xff1a;od/file/ldd/readelf 二、自动化构建项目——make、makefile1. 介绍2. 使用例子touch——change file timestampsstat——display file or file system status修改时间 .PHON…