| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
| 课程层次:专业选修 | 学分:2.5 |
区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式,目前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。 区块链系统具有去中心化、不可篡改、分布共识、可溯源和最终一致性等特点,能够在不可信的互联网环境中建立信任,搭建信任基础设施,消除中心化架构带来的信息不对称,从而降低经济生活中的信任成本。依托互联网P2P对等网络架构,融合加密验证、共识机制等技术元素,区块链为互联网环境中创建信任提供了新思路,区别于传统可信第三方的中心化信任,区块链无需可信第三方就可在多方节点间创建信任联系。
本课程首先简要介绍区块链的起源、发展以及各行业的应用需求;然后详细介绍密码学、P2P 网络、数据库等区块链技术的基础知识;接着通过深入讨论比特币系统、以太坊系统以及基于Hyperledger Fabric的联盟链系统,从分布式部署模式、节点角色、链拓扑结构等多个方面对比不同区块链系统的设计方法;之后,详细介绍区块链应用的开发流程和实现方法。
李京老师的《区块链技术与应用》课程介绍了区块链的基础知识,涵盖了区块链的多层体系结构,以及比特币、以太坊、超级账本等应用。这门课定位为新手入门性质,因此内容不算深入,但相对全面。学生普遍认为授课内容更适合作为领域的覆盖性介绍,而非深入研究,其中涉及的密码学相关知识较浅显。老师的PPT每年更新,讲解上努力认真,显示出对领域动态的关注,但部分细节和概念仍需进一步清晰。
课程包含一次作业和四次实验。作业题目涵盖伪代码编写和区块链概念的理解,而实验则涉及节点增减、共识机制等实践,需使用Go语言。实验平台遭到了普遍吐槽,主要因为其用户体验差和错误频出,使得很多学生难以完成实验。助教在实验支持上表现出努力,但实验文档设计的问题给学生带来很多困扰。部分学生建议合理上网或直接与助教沟通,以获得帮助。
期末考试为半开卷,题型包括选择、填空、简答、编程和论述题。简答题中可能出现与课程作业相关的伪代码题目。考试难度被认为适中,积累的资料可以很好地应对考试内容。有关给分,多个学生反馈给分较为公正,部分学生获得优异成绩,但也有因实验表现不佳而分数不理想的情况。
课程为入门性质,适合对区块链感兴趣的初学者,对本领域的基础知识提供了框架性理解。然而,实验平台和文档设计有待改进,对此老师和助教学到了反馈并在尝试改善。总体而言,这门课适合基础知识的普及与推广,但希望未来能在实验教学环节上有所加强。
授课内容为一些区块链的简单知识,只能说是大概搭了一个框架,大概知道了一些名词是什么,不至于问点啥东西之后啥也说不出来。
工信部《中国区块链技术和应用发展白皮书2016》对区块链的定义:
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
大概讲的就是这一套东西。如其他评论所说,如果想学到一点知识,可能需要自己再看看别的资料并且需要一些上网技巧。
PS: 结合我本人密码学导论课上学习的内容,看起来本课程密码学相关知识太过浅显(其他的内容也差不多)。想选这门课而对密码学知识有兴趣的建议配合密码学导论上课。
首先,老师的 PPT 是自己制作的,貌似每年都会加点新的内容。看起来水平还算可以,但是也有一些细节处理的不是很好、少量概念不是很清楚。
老师上课,我感觉还是挺努力的,只可惜我这种废物没怎么听课,所以仅对我而言,效果不怎么好。我感觉授课不如 PPT 清晰。
有五次点名,我有一次因为新冠隔离没来,跟助教说过应该没扣分。课程群里貌似平时只有一个助教比较活跃。平时氛围比较自由、欢乐。
今年的1次作业、4次实验还算简单,需要花一点但是花不了太多时间。
需要使用 go 编程语言。这个东西之前我学过一点,但是没学多好。这也是我接触的第二个静态强类型编译型编程语言(假如把 C/C++ 合并为一种)。在这个解释型语言大行其道的年代,我感觉这种新兴编程语言还是有点意思的,虽说我比较习惯 C++ 让我感觉这玩意的有些设计比较奇怪。
我因为中途感染新冠所以实验晚交了一次,而且作业也是胡写的。中间实验各种借鉴 GitHub;最后一个实验 ddl 在我期末完全考完之后,考完期末也出去玩了两天,剩下两天时间写实验;最后一次的内容我没好好听,啥也不会, RTFM 之后让文心一言给我写了一个简单的代码,把代码的解释改了一改就当成实验报告交了。我感觉我平时分应该很惨淡。
考试是个半开卷考试,我本人比较懒,和大多数同学一样打印的评课社区学长的资料。看评课社区今年又有人新制作了资料。
我考前因为比较摆(整整一学期脚不沾地地忙之后,在课程结束之后、期末第一场考试之前,有8天空白时间,于是就润出去穷游了5天)而且期末三天考4场,所以我这门考试就看了一坤时的 PPT;密码学完全没看就打算靠密码学导论的东西凑合一下。考前打印了那个大抄,考试就变成了人工显微镜、Ctrl+F 大赛和政治考试。事实证明,考试的东西这玩意基本都能找到;拥有这个大抄,不学也能考好。最后总评大约是我本学期计科课里的唯一的优秀,看起来是没少捞(真是奇怪,我这学期非计科课都是优秀,计科课几乎全军覆没……)
我之前在密码学导论的评论里提到,2020 级算是对评课社区的社区内容和氛围贡献特别大的一批人。我个人感觉,20级的评论对于学习方法、学习感悟,以及最近的大学三年的一些学习总结,这方面的内容明显在数量上高于和质量上优于之前的回答,比如最近像人工智能基础的这条评论。我比较菜,无法给出像之前这位大佬这样的学习方法指导,因此只能发一些自己的学习生活总结;即便如此,我的文笔也很差,很难写出像上面那条评论那样引人共鸣的真知灼见。我在密码学导论里写了一些个人私货,这里我会再写一些。
包括这门课在内的一些课程,让我了解到我只是有一点用代码解决简单问题的能力,而对于更为高级的应用、学术研究则毫无水平;而本科的各种曾经引以为傲的成果也实际上都是重复咀嚼一些别人玩剩下的,在各种意义上都是毫无建树。
以下内容使用文心一言辅助创作,不代表本人真实文笔水平。
在我前三年秉持“不知道学什么所以就都学一点”的观念下,即使是大三第二学期我也选了8门课。我的最后一个考试在这场考试之后,是7月3号的密码学导论。这一天我等待了很久,因为在本学期选课的时候,我就感觉这个学期有不少不对劲:首先是受疫情影响的开学考试导致一整个寒假也没咋休息,第一学期最后一场期末考试的第二天就开始第二学期的上课;而最后一场考试是顾乃杰的算法基础,我当时很担心会不会挂掉。终于在选课结束之前出了个分数,这个分数放以前我是不满意的,但是在这个学期看来甚至还不错,这也使得我逃过了陈雪的算法课。
到第三个星期开始,各种之前没有想到的事情纷至沓来。暑研实习夏令营,保研推免预面试,考试比赛办证件,新冠腹痛去外地,论文导师定方向,访学英语搬宿舍,各种没想到的破事从天而降,而且搅在一起的各种时间冲突使得我常常难以平静。手机里飞速刷新的通讯录、微信成倍增长的“好友”、QQ里剧增的使用默认头像的群聊、在2023年打了几十次114、给铁总刷了超过30次的客流、各类群聊里各种各样的小道与正式消息,这一切不停被打乱的节奏总是让人心神不宁。
于是我就很希望能够找个机会安静、放松一下。我平时没什么爱好,除了睡觉,不喜欢社交活动也不喜欢玩游戏。另外我还有社交方面的恐惧和性别方面的担忧,这也是我来中科大的原因和曾经的生活目标——大致就是想赶紧从高中润,然后大学零社交。我本人是交通爱好者,我认为在路上就是旅途的重要意义之一(因此,在各种交通工具上我相对不喜欢的就是飞机)。近几个月有一种旅行比较火,就是坐公交从城市A到城市B这种(比如合肥到上海),这种事情其实我前两年就开始了(我不发公开网络,除了几个站点),早已走遍了安徽省除宣城亳州以外的全部地级城市和大量的县城。今年寒假我就完成了合肥到宁波的线路,而我在这个学期就在规划一条横穿地势第三阶梯的线路,从交通不发达的中西部地区开始,穿越豫鄂皖山区,最后抵达东海之滨。这条线路最终被确定为,从长江上游转向中游的宜昌(也就是三峡地区)开始,到长江入海口、我从未去过的上海,以及附加的上海到杭州。
这学期最后的事情安排太忙,以至于没有完整的时间来连续完成这些线路。于是在稍稍放松也就是课程结束的第二天我就赶赴宜昌并翘掉了重要的习题课(这种事情看个人选择,因为我这学期被折腾到无暇关注也不再想关注成绩,不建议盲从),从宜昌开始逐渐走到合肥,然后继续期末考试。我最后一场考试是密码学导论,本身我当时也没好好准备,一方面是到处办证,另一方面是准备下面的线路。在结束考试的时候,我在想我关注 GPA 的日子大抵是结束了,虽然后边还有这门课和 AI 的实验。在考试的最后几分钟,三年来的各种成绩带来的担心、失望、兴奋,学习的煎熬,睁着眼看见机会的流失,一幕一幕闪过去,仿佛是火车通过一个个的车站看见曾经的自己。这场考试我不需要关注成绩,考场主要都是大二的,机会留给他们。我已经老了,血条足够保研了,有个及格就行。考试结束,停止答题,把笔放下,全体起立(什么玩意),在距离高考3年还有3天的日子,这句话又一次带给我一种震撼。最后收齐了卷子,看着网安闲聊群的各种“我免费了”,我在想,我也免费了。
简单吃饭之后我登上了地铁5号线,接下来去上海以及杭州。没有高铁的宜昌有开阔的长江水面,武汉丹水池和汉江双曲线一样的接近和远离, 大别山深处车流的交织,巢湖公路上的水天一色,南京溧水高淳的十里水上列车,高淳溧阳的草地和林荫公路,苏州到上海四个小时的地铁,嘉兴平湖繁忙的港口和化工厂……见识少的我在这里感到了世界的广大开阔与个人的卑微渺小。视频
我是比较幸运的,暂时不用担心成绩导致的升学方面的问题。有个考研的朋友说她平时每天从早到晚学习准备考研,感觉世界变得狭窄而无趣。对此我也只能寄希望于其能顺利上岸然后走向开阔的世界。
以上就是作为老学长的我能给出的为数不多的建议。可能你会觉得这很土,很空虚,很无力。但是,我希望这能起到一些潜移默化的作用。也许等有一天走过来,等到类似的关键节点,回望过去,发现这些内容对你很有用。
废话说了一堆,希望没有浪费各位看客的时间和精力。如果这对你造成了不好的影响,邮箱联系 [email protected],我给你道歉。
特意评论只想吐槽一句,这实验平台真的非人类啊…次次重复登录,打开代码一看自己的代码全都不翼而飞了
刚考完更新:十个选择(2*10),五个填空(2*5)。简答题(10*3):
1.简要分析UTXO模型,并画示意图。
2.PBFT共识流程三个阶段,并画示意图。
3.Fabric采用哪些技术保障并发性。
编程题(20):
写智能合约代码,实现简单的拍卖。(详见PPT投票那一块儿的一个网址,点进去,投票下面就是拍卖)
论述题(20):
比特币,以太坊,超级账本在技术和应用层面有什么核心差异?对比分析,并分析原因。
关于平台:什么沙壁狗使平台,app跟狗使一样,登录跟狗使一样,平台容器加载跟狗使一样,平台上的没有自适应的vscode跟狗使一样,报告提交只能交html源码还不支持css弄个图片弄个格式麻烦得跟给平台方琴马下葬一样,实验平台群跟nm联合国大会一样让你觉得这么乱七八糟一群人凑一起弄出来的平台能用真是奇迹,一出问题就到处踢皮球,还特别遵守955工作制,工作效率和解决问题的速度低到jwc看了都能产生自信。
关于老师和助教:上课我反正是没听的,基本就是讲ppt,这种偏入门介绍的课上课还能讲什么呢?ppt很不错,而且似乎每年都会更新内容,可见老师是真的想让我们了解到领域的最新进展的,而不是像别的有些老师一套旧内容用上几年十几年。
助教其实有些地方做得不够好,比如作业和实验缺少反馈,实验文档不够好等等,不过张助教总体还是很认真负责的,回答问题等等很耐心积极。至于另一个助教,我到期末那一天才发现这门课原来不是只有一个助教,因为此助教不但之前不是群主管理员而且此前从未在课程群内发过言,不知道他是干啥的。
给分有人觉得不错有人被杀了,似乎是实验被扣了很多分,这点不是我很明白
既得益者,屁事没干拿了4.0。但我觉得这课真的sb。
1分不解释
也差不多恢复理智了,1分肯定不至于,这课再怎么也不可能和软件工程导论与计算之美一个档次
主要问题是实验,可能是之前期望过高了,第一个实验李诚老师编译实验级别,后三个实验奋斗之美级别......这真的是我见过最最糟糕的文档设计了。之前在考前写最后两个实验,直接气的我打1分
如果能够改良的话,这门课还是很有希望成为cs选修课的典范的,所以还是推荐吧(前提是改良了)
哦有个细节得提一下......希望老师助教及邀请的研究员不要随意发表关于挖矿等敏感问题的言论,包括但不限于“不想玩币为啥要选这课”等(就不点名是谁了)
出分后追评,并下调至3分
给分不算好但也不算差吧,主要期末较为简单,分不开差距
实验的问题非常大。实验三和实验四本质是环境配置,涉及的代码编写部分可以在五分钟内完成。然而,该实验的参考资料较少,谷歌出来结果在五条以内的那种,且环境配置的坑非常多。实验文档更像是写完实验后凌乱记录的日记,而非具体的参考文档。无法找出认为文档和实验设计没有问题的同学,而助教似乎认为有问题私聊他就行了,这最终导致了临近DDL助教被问到自闭,而大部分同学也做到自闭。在实验截止二十多天前,我就提交了关于文档和平台问题的汇报,而助教置若罔闻。非常奇怪,我不认为助教会真的认为实验设计的很好,而助教最终被问到崩溃,助教和老师都还是比较负责的,那为何不修改文档呢?这相当迷惑。
热切的希望能在明年得到改善
2021年春季学期修读 & 第一次开课
课程内容:
作业只有一次
实验有四次
考试题型
选课之前基本上只要了解基础的数据结构、网络以及加密知识就足够了。课堂上的很多知识,就算离开区块链本身也是很有用的(比如共识层涉及到的分布式系统,以及主流的一致性算法、共识算法)。再加上总体上课程任务量不大,(今年)考试也是半开卷,因此推荐选课
区块链今年是第一次开课,选的人不算太多。
课程主要讲解了区块链的五层体系架构,区块链1.0(比特币)、区块链2.0(以太坊)、区块链3.0(fabric),考试的重点内容也是这些。
共有4次实验和1次作业,每个实验并不用花太多的时间,有些实验会有一些额外的bonus。作业是一些伪代码和一些偏调研性质的内容,大概在课程过半时才布置。
期末考试是半开卷。老师也纠结了很久考试模式,半开卷而非全开卷是为了降低一下考试的难度。今年考试大概考了选择、填空、简答(6选5,貌似总共占了50分)和综合题。选择、填空都挺基础的,简答主要看A4纸,大题一道作业的伪代码题(关于默克尔树的),一道fabric部署题(基本就是PPT改编的)。
还没出总评,但听说老师给分不错。
这门课总体来看是偏介绍性质的,学完之后你会知道区块链系统的整体架构、怎么运转,比特币、以太坊到底是什么等等。
最后附上自己做的期末大抄,造福一下学弟学妹。
更多计算机学院的个人学习资料分享可参见 https://github.com/QizhiPei/USTC-Resource-CS
@评课小白 的评课已经说的很详细了,这课总体来说任务不大,考试也可以 0 小时复习考场速成,也有调分,算是完美水课了(不过选课博弈论,说不定就变卷了)。
收获还是能对得起付出的,最起码上课听了实验做了能明白区块链大概是在干什么,虽然可能对以太坊这种具体细节照顾不到,但上课铺垫了这些基本概念还是有助于感兴趣的前提下进一步通过网络资源自学的。有个评课说区块链必须要教挖矿啥的,这我不太赞同,我认为这课还是对区块链技术有个概览的,「分布式的不可篡改的数据库」显然比怎么挖矿赚钱更接近区块链技术的核心。
课还是不错的,主要类似于新手入门课的感觉,考试难度也不是很大,感谢楼上学长的A4纸。
讲解的内容比较全面但不是很深,首先是介绍区块链的各个层,然后再介绍了比特币,以太坊,Fabric这三块。
今年主要槽点可能在于实验文档初看有点懵逼,这个的话确实有点砸人的体验,不过可以跟助教聊聊,然后基本就能解决问题了,助教也会根据聊的内容去修改对应的地方。
我在文档上遇到了不少坑,跟助教聊过之后发现后来的版本基本上都修改了,应该能在一定程度上改善之后做实验的同学的体验,所以之后大伙做实验有问题不妨多跟助教侃两句~
总的来说,是门入门大于硬核的课程,对新手也比较友好,考试难度不高(记得打印楼上学长的A4纸然后修修改改)但是最后两个实验发布的时间有点过晚,已经半进入考试周了,然后实验文档初期有点不清晰,有点影响体验。但是助教也在不断的完善内容,很支持,只要在不断改进就是好的。
水课,内容简单+作业少+祖传实验+考试开卷,中间会有一次点名。实验平台确实是一坨,响应速度慢就算了,隔一段时间就会给你自动登出。看在最后给分不错的情况下值个四星。
现附上本人根据pksq往年大抄和今年ppt整理的大抄,可能每年都会改动blockchain.docx
老师人很和善,讲课也很认真(鄙人基本没听,听了的话收获应该还是有的),推荐cs摸鱼人来选
本学期布置了一次作业和四次实验,实验可能做起来稍微麻烦一点,不过可以参考github的一些代码,张助教也算比较负责的(因为实验平台老出bug,助教应该忙活了不少)(只有在期末考试才知道还有其他的助教)
上课会有几次纸质签到(5次?),没有小测
期末考试半开卷,考前改了改大抄就上考场了,很多题目都能找到(亲测能找到的题目全写上了就会有一个还不错的分数)
最后总评优秀,还算满意,老师应该是捞了的==
不知道是我的错觉还是什么,感觉每年讲的东西不太一样啊?怎么感觉每年知识点都在增加啊?
实验平台非常荒谬,难用的要死,IOS用户更是雪上加霜。没必要,真的没必要,写个脚本测评本地跑一下就行了,没必要搞这个破平台,用的我血压都上来了。
实验文档不清晰,测试样例有错,希望修正一下。
作业近似于无,实验请合理上网+骚扰助教,考试自求多福。
有5次点名,不过都在第一堂课间,可以上完开溜。
老师上课中规中矩,可能是因为本来区块链涉及各种协议就比较枯燥,不过老师是我见过最好的ppt reader:你感受不到他在读ppt,但是只要你稍加留意,会发现他会把ppt上每个字都说出来,而很多ppt都有大几十字。
无作业,前两个实验比较水,后两个实验主要是文档没写清楚,做的时候试了不少错,做完之后发现十分钟从零开始复现不在话下!(bushi)
考试半开卷,说实话考得很简单,最高91均分83+。很有文科特点,问优点/作用一定得把能想到的都答上去啊,改卷是看点给分的orz
本课程最大亮点:助教。天知道我在做实验三的时候“骚扰”了多少次助教,但是助教实在是太耐心了((
给分未知。
这个评课只是为了分享本学期的PPT。
下载链接如下:
https://pan.ustc.edu.cn/share/index/d7b38c4b94cd45a3b91b
使用科大云盘保存资料,校内下载应该很快。
以下为帮助大家在评课社区快速寻找资料而列出的关键词,直接使用网页搜索就能检测到,除此之外,别无他用。
.xsl .xswl
.pdf .doc .docx .ppt
.txt .xls .xlsx .pptx .rtf .jpg .jpeg .png
.gif .bmp .svg .tiff
.mp3 .wav .flac .aac .ogg
.mp4 .avi .mkv .mov .wmv
.zip .rar .7z .tar .gz .xz
.html .css .js .py .c .cpp .php .sh .bat
.exe .dll .apk .iso
.md .db .bak .tmp
好课,
基本上属于科普性质,内容没有很深,零基础也能学会.
老师讲课比较有趣,ppt做的也很好,就是节奏可能比较慢
唯一的槽点是实验,实验文档比较抽象,实验平台更是难评(不过可以先在本地做好再放上去). 估计主要是区块链这个东西现在没那么火了,选的人少没有更新实验的动力了
考试是半开卷,内容比较多,一张A4纸不能覆盖全部内容,一些基本的概念需要有些印象
给分不错,分享一下自己的大抄: