项目实训分工

三个主要功能:表白墙 笔记 在线组队

组队:
各种信息,一种01型,一种打分制(比如线代的分-85/90之类的)。信息加密,比如同态加密,在不解密的情况下可以筛选。

学习笔记
打水印,把数字签名写在水印里,数字签名里面有卖给谁的信息,比如椭圆曲线的256位分散在图片中。可以一个东西写30份,这样增加容错性。

表白墙:

1.信息加密上链。对于表白墙的有隐私泄露风险的问题,可以利用区块链的去中心化特性解决,所有人把信息发布到区块链上,这样就所有人都可以看到这个信息,由于区块链可以对发布者利用密码技术加密,其他人不知道发布者的真实身份。

2.信息防伪。为了防止有人伪装成其他人发布虚假信息,对于每个人,都有一个数字签名,以便在发生纠纷时确认发布者身份。每个用户都有公私钥,用户的私钥会自动形成一个文件附属在这条信息上,但是此数字签名被加密,如果产生纠纷,可以通过公钥验证。发起验证的标准是,如果评论区有人提出申诉,并且点赞数超过10,则系统会自动验证发布这条信息的发布者的数字签名,如果与消息中提到的名字不一致,则清空此发布者的全部积分并禁言3个月。

3.手写的改成latex公式:由于一些同学问问题的时候是手写的,为了方便其他同学查看,或者发布者不愿透露自己的字体,我决定识别发布者的手写字体并转化为latex公式,再发布到表白墙上。目前的想法是使用python的handcalcs库。

4.建立评审团机制,问题求助加标签(算法,网络安全等),有人自愿参加评审团,如算法分高,可以当算法评审团,然后随机抽6个评审团的人打分,问问题和回答问题都是匿名,评审团的人随机,6个人分数加密,密文判断评分高低,然后给积分,当评审团也可以获得积分。如果有评审团的人,给分很离谱,和其他人差太多,踢出评审团,不给积分。具体实现:返回给的评审团只是题和答案,但是看不到解答者名字,评审团给分后,这个分数加密,在加密的情况下计算出平均数,如果某个评审团成员给的分的方差太大,则把这个分数去除,其余数重新取平均,最终的成绩解密返回给解答者,再根据这个评分选出得分最高的奖励积分。

界面初步设计:

猜你喜欢

转载自blog.csdn.net/vincy_yeha/article/details/123718646