news 2026/5/7 18:32:15

艺考公平评分程序,打分实时上链,不可修改,防止暗箱操作。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
艺考公平评分程序,打分实时上链,不可修改,防止暗箱操作。

一、实际应用场景描述

艺术类考试(如美术、音乐、表演)通常由多位考官对考生进行现场打分,最终按加权或平均分得出成绩。典型流程包括:

- 考生现场展示作品或才艺

- 多位考官独立打分

- 分数汇总并计算最终结果

- 公布成绩

在这一过程中,外界普遍关注的是:

- 是否存在人为改分

- 是否存在事后替换成绩

- 评分过程是否可追溯

本示例程序旨在构建一个教学级、可验证的艺术考试评分记录系统,通过 Python 将考官打分实时上链,实现“打分即上链、上链不可改”,为防范暗箱操作提供技术思路。

二、引入痛点(Why Blockchain)

传统方式 存在问题

纸质打分表 易丢失、易涂改

Excel / 内部系统 管理员可事后修改

不公开过程 外界难以监督

成绩争议 难以回溯原始打分

区块链在该场景中的核心价值不是“去中心化招生”,而是:

- 打分即固化:分数一旦提交即不可篡改

- 全过程可追溯:谁、何时、给哪位考生打了什么分

- 责任清晰:每一条打分都有明确责任人

三、核心逻辑讲解(简化模型)

1️⃣ 基本对象

- Examinee(考生)

- 考生ID

- Judge(考官)

- 考官ID

- ScoreRecord(打分记录)

- 分值

- 打分时间

- 科目/项目

2️⃣ 上链内容

考生ID

考官ID

分值

打分时间

科目

哈希值

3️⃣ 业务流程

考生考试 → 考官打分 → 打分实时上链 → 成绩汇总 → 防篡改核验

四、代码模块化设计

📁 项目结构

art_exam_score_chain/

├── blockchain.py # 区块链结构

├── models.py # 数据模型

├── scoring_service.py # 打分业务

├── verification.py # 成绩核验

├── cli.py # 命令行入口

├── utils.py # 工具函数

└── README.md

五、核心代码示例(Python)

✅ 仅用于教学与原型验证

✅ 不涉及真实招生系统

✅ 注释清晰,便于理解

1️⃣ models.py(数据模型)

from dataclasses import dataclass

from datetime import datetime

import hashlib

@dataclass

class ScoreRecord:

examinee_id: str

judge_id: str

score: float

subject: str

timestamp: datetime

def compute_hash(self) -> str:

content = (

f"{self.examinee_id}"

f"{self.judge_id}"

f"{self.score}"

f"{self.subject}"

f"{self.timestamp.isoformat()}"

)

return hashlib.sha256(content.encode()).hexdigest()

2️⃣ blockchain.py(简化区块链)

from typing import List

import hashlib

import json

class Block:

def __init__(self, index: int, record: dict, previous_hash: str):

self.index = index

self.record = record

self.previous_hash = previous_hash

self.timestamp = None

self.hash = self.compute_hash()

def compute_hash(self) -> str:

block_string = json.dumps(self.record, sort_keys=True)

return hashlib.sha256(block_string.encode()).hexdigest()

class ScoreChain:

def __init__(self):

self.chain: List[Block] = []

self.create_genesis_block()

def create_genesis_block(self):

genesis = Block(0, {"info": "genesis"}, "0")

self.chain.append(genesis)

def add_score(self, record: dict):

last_block = self.chain[-1]

new_block = Block(

index=last_block.index + 1,

record=record,

previous_hash=last_block.hash

)

self.chain.append(new_block)

3️⃣ scoring_service.py(打分业务)

from blockchain import ScoreChain

from models import ScoreRecord

class ScoringService:

def __init__(self):

self.chain = ScoreChain()

def submit_score(self, record: ScoreRecord):

score_data = {

"examinee_id": record.examinee_id,

"judge_id": record.judge_id,

"score": record.score,

"subject": record.subject,

"timestamp": record.timestamp.isoformat(),

"hash": record.compute_hash()

}

self.chain.add_score(score_data)

return score_data["hash"]

4️⃣ verification.py(成绩核验)

from models import ScoreRecord

class VerificationService:

def verify(self, record: ScoreRecord, on_chain_hash: str) -> bool:

return record.compute_hash() == on_chain_hash

5️⃣ cli.py(命令行入口)

from models import ScoreRecord

from scoring_service import ScoringService

from verification import VerificationService

from datetime import datetime

scoring_service = ScoringService()

verification_service = VerificationService()

record = ScoreRecord(

examinee_id="ART20260101",

judge_id="JUDGE003",

score=88.5,

subject="素描",

timestamp=datetime.now()

)

tx_hash = scoring_service.submit_score(record)

print("打分上链哈希:", tx_hash)

is_valid = verification_service.verify(record, tx_hash)

print("成绩核验结果:", "未被篡改" if is_valid else "存在异常")

六、README 文件(示例)

# 艺考公平评分上链系统(教学原型)

## 项目简介

本项目为课程示例,展示如何利用 Python 构建简化区块链结构,实现艺术考试打分实时上链、不可篡改的教学原型。

## 运行环境

- Python 3.9+

## 运行方式

bash

python cli.py

## 注意事项

- 本系统仅用于教学与实验

- 不涉及真实招生与录取

- 不替代现有教育考试制度

七、使用说明(面向学生/开发者)

1. 阅读

"models.py" 理解打分记录结构

2. 修改

"cli.py" 模拟多位考官、多名考生

3. 可扩展:

- 增加“成绩汇总算法”

- 增加“考官权限管理”

- 改为 Web API 供前端调用

八、核心知识点卡片(课程向)

模块 关键知识点

区块链 哈希锚定、不可篡改

教育公平 评分透明、过程可溯

软件工程 模块化、单一职责

数据安全 防篡改、责任追溯

Python 实践 dataclass、CLI、时间处理

九、总结

本方案从艺考评分公平性这一社会关注点出发,剥离情绪与立场,仅从技术视角展示:

- 区块链如何作为“可信打分见证人”

- 如何通过“实时上链”降低暗箱操作空间

- 如何在课程中讨论技术与制度的边界

它不是一个完整的招生系统,而是一个可用于课堂讨论、政策研究、创新实验的教学原型。

利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 18:31:56

基于Sidecar模式为AI Agent构建安全可控的LLM代理与管控层

1. 项目概述:为AI Agent构建一个安全、可控的“守门人”如果你正在基于OpenClaw这类开源AI Agent框架搭建一个多租户的SaaS平台,或者管理一个需要为不同用户分配独立AI能力的系统,那么你一定会遇到一个核心挑战:如何安全、高效地隔…

作者头像 李华
网站建设 2026/5/7 18:31:12

当AI学生“一错再错“时,浙江大学等机构找到了精准“纠错“的方法

这项由浙江大学、中国科学院大学和上海人工智能实验室联合完成的研究,于2026年4月以预印本形式发布,论文编号为arXiv:2604.24819,感兴趣的读者可以通过这个编号找到完整论文。你有没有遇到过这种令人抓狂的情况:你辛辛苦苦教了一个…

作者头像 李华
网站建设 2026/5/7 18:30:54

港大、JD探索院联手出招:视频AI从“能用“到“好用“,只需这四步

这项由香港大学、京东探索研究院、清华大学、北京大学和浙江大学联合完成的研究,以技术报告形式发布于2026年4月,论文编号为arXiv:2604.25427,有兴趣深入了解的读者可通过该编号查询完整原文。你有没有试过用AI视频生成工具,结果出…

作者头像 李华
网站建设 2026/5/7 18:27:59

终极指南:如何免费获取经典优雅的EB Garamond 12开源字体

终极指南:如何免费获取经典优雅的EB Garamond 12开源字体 【免费下载链接】EBGaramond12 项目地址: https://gitcode.com/gh_mirrors/eb/EBGaramond12 EB Garamond 12是一款致力于重现16世纪经典Garamond字体的开源字体项目,完美融合了古典优雅与…

作者头像 李华
网站建设 2026/5/7 18:27:04

掌握Agent规划能力,轻松驾驭大模型:小白程序员必备收藏指南

本文深入探讨了Agent系统的核心组件——规划能力,针对LLM Agent在执行多步骤任务时面临的“长程规划失败”问题进行了详细分析。文章梳理了从ReAct到Plan-and-Execute、Task-Decoupled Planning及Graph-based等主流解决方案,并介绍了层次化规划、重规划与…

作者头像 李华