区块链入门教程,新手如何学习编程

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

区块链入门教程,新手如何学习编程

一、学编程的要求有哪些

俗话说,没有金刚钻,就别揽瓷器活儿。套用到

IT

业,英语不行,就别做程序员。网上关

于程序员学英语的文章不少,

但我想谈谈我自己的看法。

首先详细讨论一下为什么程序员离

了英语不行,然后针对程序员应该怎么学英语说说我的体会。

英语是计算机的母语,是程序的母语,所以必然是程序员的母语。

程序中的变量名、函数名

起得好不好是决定代码质量和可维护性的最关键因素。

高质量的代码应该是这样的:

代码基

本上是自解释的(

self-explanatory

),不需要太多注释,不管代码的规模有多大,具有相

关知识背景的读过文档的人都可以立刻上手、

立刻参与维护和开发。

要想使代码能够自解释,

给变量和函数起个好名字很关键,

很显然,

只能用英文起名字,

一是用汉语拼音起名字可读

性很差,二是英文单词通常比汉语更

expressive

(看吧,如果用汉语来说,就得说“表达

能力更强”、“更有表现力”这么罗嗦)

,由于程序的复杂性,变量和函数往往表示一些很

抽象的概念,

起个既准确又简洁的名字并不容易,

可是很多时候,

用汉语需要很多字才能说

清楚的一件事,用英文一个单词再加点词形变化就能说清楚了。例如

APUE

上讲

sleep

函数

的实现,

其中有个变量表示“本来应该睡到某个时刻,

但是提前被信号唤醒了,

唤醒时与本

来应该睡到的时刻相差的时间”,

如果为了简洁而不求准确,

这个变量名至少也得叫“未睡

到”,而书中只用了一个单词

unslept

,非常准确、简洁地表达了这个意思。为了写程序而

学英语需要学到什么水平?我认为能起出这种变量名就够水平了。很多在

IT

外企工作的中

国人,说话写文章经常夹杂着英文单词(比我严重多了因为我不在外企),非常可以理解,

确实是为了表达得更准确简洁的需要,而不是纯为了

play

zhuangbility

。总之,要写程序

必须学好英语,

否则连变量名都起不好,

这虽然是一个非技术问题,但却是个根本问题,比

任何技术问题都重要。当然,现在很多编程语言也支持用

Unicode

字符给变量和函数起名,

但是你见过有人用汉字写程序吗?根本不实用。

有人会辩驳说一页英文翻译成中文往往只占

半页,中文不是更简洁吗?但是你算算打一页英文和打半页中文哪个敲键盘次数多。另外,

要读别人的代码也必须学好英语,如果你不知道

unslept

是由

sleep

变形而来的,就体会

不到其中的精妙,

只有大量阅读高质量的代码,

才能写出高质量的代码,

创作都是从模仿开

始的。

说说英语对于看书学习的重要性。

中文技术书和英文技术书的水平根本不在一个量级上,

是有很多原因的,

不能全归结于中文书的作者水平差。

最重要的是,

出中文书的低回报率决

定了作者不可能花太多心血在上面,你去

amazon

看看一本书卖多少美刀,再去

chinapub

看看一本书卖几块钱。

老外写一本书,

可以做到全书没有一个拼写错误

(当然英文的拼写检

查工具更完善也是部分原因),中文能找出一本没有错别字的书吗?

Knuth

可以悬赏让全世

界读者来找磋,

中文书作者有哪个敢这么做?不是因为老外态度有多认真治学有多严谨,

是因为他们赚到了,就应该拿出高质量的作品来,不然会被读者骂的。

英文技术书的翻译质量通常很差。

也不能归结于译者的水平差,

我也翻译过书,

也努力想译

好,但真的很难译好。

IT

业的新名词层出不穷,像“内核”、“网络”这种常见术语还好,

稍微专一点的术语都没有统一的译名。

我们在教学中发现,

很多学员看书时搞不清这本书的

名词

A

和那本书的名词

B

是什么区别,

来问老师,

才发现原来

A

B

就是一回事儿。

这是一

个单词对应多个译名的情况,

还有一个译名对应多个单词的情况,

比如

field

domain

realm

都译成“域”,

block

bulk

都译成“块”,

argument

parameter

都译成“参数”,

attribute

property

都译成“属性”,虽然这些词的意思本来就差不多,但是在一篇文章

里,作者可以换着用,不同的单词表示不同的概念,翻译完了一看,都成一个概念了。英文

书背后都有

index

,看到一半忘了某个名词是怎么定义的就可以翻

index

,而译文通常没有

index

,名词都已经乱七八糟了,没法做

index

。还有更发指的是,老外喜欢造词,现有的

单词上加一点变化和组合(例如有人喜欢说

automagically

),看着心领神会,想译出来就

很费劲。

老外即使在技术书中也经常用一些生动的表达方式和俏皮话,

而中文的书面语言非

常死板,

生动的表达方式只存在于口语中,

如果写在书上就很不像话,

这也是很难翻译的一

个重要原因。看中文译本,不仅质量差,而且跟不上时代,通常一本英文书出来,至少要等

一到两年才能看到中文译本。

两年啊!

等你看到这本书的中文译本时,

这个版本都快淘汰了。

然后说说英语在开发工作中的重要性。

看书学习通常只起一个引导入门的作用,

在工作中更

有用的是手册、文档。学完了

C

语言开始写程序了,谁还会去查

K&R

附录中的库函数?查

man page

才是最有效率的。然而手册比入门书更少有中文译版,因为手册是随时变的,会

随着软件版本更新,

而且需要看这些开发手册的人通常不会有英文障碍,

有英文障碍的人即

使看了翻译的手册也写不出好程序来,

所以当然没必要翻译了。

不管什么技术,

官方的手册

和技术标准才是最原始的第一手资料,

看别的书都是以讹传讹,

由于自然语言不可避免是有

歧义的,

文档中表达得不准确的地方就会被文档的读者也就是技术书的作者误解,

技术书中

再有表达不准确的地方又被译者误解。

我们小时候都玩过传话的游戏,

几个人站一排,

通过

悄悄话传一句话,传到最后变成什么了?所以,学网络协议,就得看

RFC

,学

ARM

,就得看

ARM

公司的

Architecture Reference Manual

,要学习

C

语言就得看

C99

,有歧义不要紧,

自己去揣测原作者的意思,总比道听途说的可靠。

我们的学员出去面试经常被问到的一个问题就是:

在开发工作中遇到问题,

书和文档上都没

有答案,网上搜一下也没有答案,怎么办?要我说,能看懂源代码的就去源代码中找答案,

这称为

hacking

,不管是内核、

libc

还是各种

framework

,你调用的东西有问题都能从它的

代码中找到原因。如果没有能力

hacking

,或者时间紧不想去

hacking

,最好的办法就是去

官方邮件列表和

IRC

问。

如果英文不行就没办法了,

只能去一些中文论坛:

“各位大虾帮忙,

小弟有一个问题求救!

跪求!

在线等!

”在线等了好几天也无人问津,

或者答非所问。

岂不知逛这些论坛的没有大虾,都是菜鸟,大虾们都在

IRC

上聊得正欢呢。我在做

Qt

开发

时曾经有一个问题,

当时在教育网,

上国外网不方便,

去各大中文论坛问了好几天也没人给

出满意的回答,后来花钱连了国外网,去

trolltech

官方新闻组提问,只等了几分钟就得

到了满意的解决办法。这次经历给我留下了深刻印象,从此以后再也没有去中文论坛。

那么,

如果现在英文水平很差,

又想做程序员,

应该怎么学英语呢?我下面说的方法有两个

前提,

一是你的英文至少达到高中毕业水平,

也就是语法基本都学完了,

即使用得不熟练也

知道有那么回事儿,二是你希望尽快在工作中用上英语,写程序够用就行,而不是有考

T

G

这样的更高要求。

学习英语有听说读写四个方面的要求,

做程序员至少需要读和写非常流畅,

如果在外企工作

还需要听和说的能力。技术英语和考

T

G

是不一样的,一是听和说不像读和写那么重要,

不必担心自己是“聋哑英语”,

没关系,

丝毫不影响你成为编程高手,

二是要求的词汇量要

小得多。

T

G

都要拿一本单词书背,

很少有人会觉得背单词很有意思,

至少我是觉得很

痛苦,

幸运的是看技术书不需要多少词汇量。

技术书的描述对象都是局限于一个很窄的领域

的,

就那么几个单词翻来覆去地用,

而且技术书是为了让人看懂的

(不像诗是为了让人看不

懂的)

,比较复杂的词在书中都有定义或解释。有些作者喜欢卖弄词汇量,

用一些很生僻的

单词,也有些作者卖弄一些典故,由于文化背景不同很难理解,不过这些通常都可以无视,

不会影响阅读,

还是因为技术书是为了让人看懂的。

对于学习者来说,

阅读能力是最重要的,

等你完成了学习,成为一个合格的开发者时,

需要写代码注释,需要写文档,需要通过邮件

交流,写作的能力才开始重要了。所以应该首先从阅读开始练习英语。

现在就拿起一本英文原版书开始看吧。

和学游泳一样,

阅读的能力只能通过阅读本身来练习。

我的经验是,

不必先系统学习了单词和语法再看书,

可以在看书时用到什么就补什么。

我建

议初学者看电子版,

因为现在的词典软件都可以鼠标取词,

边看边查很方便,

很多勤快人喜

欢把查过的单词都抄下来,我觉得没有必要,

反正查字典很方便,

下次再看到了就再查,多

查几次总会记住的,

抄下来就打断了看书的思路,

而且不见得抄下来就能记住。

也许是因为

我这人比较懒,

我用的都是懒办法。

很多人不喜欢看电子书,

理由是盯着屏幕看书太累,那

么盯着屏幕写程序累不累?这种人显然不适合做程序员。

语法不熟练怎么办?大多数情况下

单词的意思都明白了就不影响阅读。

技术书有时候喜欢用长句,

其中可能包含各种从句,

果实在读不懂就去查语法书,

同样也不需要把这种从句彻底弄明白,

只要这一句能看过去就

行了,以后多查几遍书,自然就掌握了。另外,技术书是说明文,通常不应该有过去时,看

到过去时就需要注意了,

很可能是虚拟语气,

如果不注意这一点,

看到的意思可能和真实的

意思正好相反。

应该从哪本书开始看起呢?从你当前最需要学的技术书看起。

看书是相当花时间的,

如果能

一边学英语一边学技术,

这时间利用得就很有效率。

比如,

如果你的

C

语言已经学得相当好

了,不要专门为了学英语去重看一遍原版的

K&R

。市面上有一些专门的计算机英语教材,我

的建议是不要看,浪费时间,

nonsense

初学时最好选一本有中文译本的书,有看不懂的地

方可以翻中文版来对照,

但是不要相信中文的翻译,

原因在前面讨论过了。

如果你是初学编

程,没有任何基础,我可以推荐一本英文很浅显技术也很浅显的书:

How To Think Like a

Computer Scientist

,有

Python

Java

C++

版本,可自由下载。

要逐渐养成良好的阅读习惯。

一是不要每个生单词都去查,

有些单词很生僻,

查了也记不住,

记住了也不会再见到它了,

但是前面讲过,

都是作者在卖弄词汇量,

无视它丝毫不影响阅读,

因此要学会猜测单词的意思,能不查就不查,继续贯彻“懒”的原则。二是看书不要动口,

不念出声也不行,

就是不要动口,

要努力在大脑中建立从词形到语义的直接映射,

如果只能

从词形到读音再到语义就太慢了,

严重影响阅读速度。

三是努力做到每句话都从头到尾只看

一遍,

不许回头反复看,

这一点比较难,

必须注意力高度集中,经常在记忆中暂存前面半句

的内容和句式才能做到,

但是一旦神功练成就会成倍地提高阅读速度。

最后一层境界,

学会

skim

就是略读,

很多优秀的作者在组织材料时会给读者一些建议,

比如这一段是扩展的高

级话题,和主线的相关度较低,

可以先

skim

到后面,注意不是让你

skip

到后面,这一段还

是要读的,

但是不必逐字句地读,

而是抓主旨,

大概讲了个什么概念

(有一些下定义的句式)

有哪些要点

(有数字编号或

bullet

列表项)

适用于哪些场合有哪些注意事项

(有

caveat

gotcha

noteworthy

这种字眼),后面可能还会碰到这个概念,虽然你没有仔细看这是个

什么东西,

但大体上也知道了,

这样就能不影响后面的阅读,

这不仅需要高度集中的注意力、

熟练的语言能力,

而且要有足够的背景知识去猜测性地理解。

但是语言能力还是最重要的因

素,我和几个同学交流过,他们也能熟练地看英文书,但是需要

skim

查一个东西时就觉得

还是不如中文书查得快。

skim

的技能在查阅手册时尤其重要,没有人会像看入门书一样把

上千页的手册从头到尾看一遍,

都是用到哪儿就查哪儿。

总之,

锻炼各种阅读习惯就为了一

个目的:如何在最短的时间内,

在保证正确性的前提下,

获取尽可能多的知识。程序员的学

习时间都是非常宝贵的。

以上本着“够用就好”的原则,

多次提到用懒办法,

但是学技术学英语这两件事不能懒,

在坚持。

要养成良好的阅读习惯也有很多东西需要坚持,

其中最根本的是持续高度集中注意

力,充分调动记忆能力、推理能力、猜测能力,就像考试做阅读题一样看每一段话。最根本

也是最重要的,

“有英文原版就不看中文版”这个原则一定要坚持。

一开始看英文书可能会

很慢,

但只要一直坚持就会慢慢达到原来看中文书的速度,

再坚持下去就会比中文书看得更

有效率,因为避免了很多歧义和术语翻译的问题。

有人会说,

项目紧任务急,看英文资料太

慢,

这次就先用中文尽快解决工作中的问题吧,

等以后有时间了再看英文书学习。

可是什么

时候才会有时间呢?工作总是一个接一个的,

老板怎么会付了工资让你闲着呢?如果你有这

样的困难,

我的建议是干脆辞职,学好了英文再去工作。

你只要想想,

你的同行们在外企全

英文的环境下工作,

英文和技术每天都在突飞猛进,

而你还在用效率极其低下的方式学习和

工作,

你和别人的差距不是越来越大了吗?另一方面,

现在的在校学生从小学就开始抓英语,

基础都很好,

很多高校也逐渐重视引进原版教材,

开设很多英文授课的专业课。

你再不奋起

直追,就不觉得以后的职业道路充满危机吗?

最后说说写作。

刚开始练习时不要怕写错,

能表达清楚自己的意思即可。

我看过很多源代码

和文档中的英文,一看就是中国人写的,谓语动词不分单复数,名词复数不加

s

,处处可见

中国式英语,

但是丝毫不影响我对这些编程大牛的景仰,

因为其中的思想我看懂了,

并且我

认为很强大。我有一个朋友,中学毕业就出来混的,由于工作的性质总要跟老外打交道,他

从来不惧和老外交流,

虽然连一个囫囵的句子都说不出来,

但总是能用中学学的那点单词让

老外明白他的意思,

这一点我就非常佩服。

总之就是说,

不要因为不知道怎么写是对的就不

敢动笔写,

只要敢交流,

并且别人能懂你的意思,

就是很有效的交流。

而且随着阅读量的增

加,自然能写出一手好英文,前面讲过了,创作总是从模仿开始的。不怕出错才能有一个好

的开始,

才能逐步练习提高,

而练习的最终目的当然还是希望写好,

不仅字句通顺无语法错

误,还能适当修辞。

二、新手如何学习编程

学编程入门建议:

1.学编程要从根本出发,从理论上来说,需要广泛的阅读。了解算法的博大精深和计算机的基本理论。

2.从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。然后就是创新精神和数学思维能力,这些都是需要培养的。基础要打好学编程要具备一定的基础。

3.逻辑思维能力的培养、学程序设计要有一定的逻辑思维能力。“思维能力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。

三、区块链测评认证标准是什么,区块链测评认证标准是什么内容

CNS是什么标准

CNS是全球热门之Certified

Novell

Salesperson专业业务人员认证制度,透过这项认证您可以悉Novell的产品,具备专业的知识,面对客户环境时,能作最详尽确实的规划,以扩展公司业务。

提升公司及个人之专业形象。提升公司及个人之专业形象。

CNS证书不仅跟Novell其他相关认证一样全球通用外,同时您可于名片上印上认证的标志(Logo),除了个人能力的肯定外,更可提升公司的专业形象。

区块链中ERC20通证标准是什么?

RC20通证标准(ERC20TokenStandard)是通过以太坊创建通证时的一种规范。按照ERC20的规范可以编写一个智能合约,创建“可互换通证”。它并非强制要求,但遵循这个标准,所创建的通证可以与众多交易所、钱包等进行交互,它现在已被行业普遍接受。

ERC20通证标准最早由以太坊开发者费边·沃格尔斯特勒在开源社区中提出,后来以太坊创始人维塔利克(人称“V神”)撰写了第一版文档,当时名为“标准化合约API”(Standardized_Contract_APIs)。

遵循ERC20通证标准可以编写智能合约。它需要实现的通证方法包括:可选的name、symbol、decimals,必须有的balanceOf、transfer、transferFrom、approve、allowance。它需要实现的事件响应包括Transfer、Approve

除了ERC20之外,以太坊受关注的通证标准还有ERC721。与ERC20不同,ERC721是一种不可互换的通证标准(Non-fungibleTokenStandard,NFT)。

ERC20的通证是可互换、同质,而ERC721的通证是不可互换的、非同质的;ERC20通证是可无限分割细分的,而ERC721通证的最小单位是1,无法再分割细分。

2018年6月,ERC721最终被以太坊社区正式接受,成为最终标准。之前大热的加密猫(cryptokitties,谜恋猫)所遵循的就是ERC721标准。

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

区块链在数据安全上有国际标准吗?

有的,由趣链科技牵头制定的“区块链+?联邦计算”的融合技术标准P3227《StandardforaReferenceFrameworkofDataSecurityCirculationSystemBasedonBlockchainandFederatedComputation》(基于区块链和联邦计算的数据安全流通参考框架)在IEEE标准协会标准理事会(IEEESASB)大会正式通过。

区块链行业什么时候有个标准或准则什么的?

近日,《金融分布式账本技术安全规范》(JR/T0184—2020)金融行业标准(以下简称标准)由中国人民银行正式发布,《标准》规定了金融分布式账本技术的安全体系,包括基础硬件、基础软件、密码算法、节点通信、账本数据、共识协议、智能合约、身份管理、隐私保护、监管支撑、运维要求和治理机制等方面。该标准适用于在金融领域从事分布式账本系统建设或服务运营的机构。

据悉,该《标准》由全国金融标准化技术委员会归口管理,由中国人民银行数字货币研究所提出并负责起草,中国人民银行科技司、中国工商银行、中国农业银行、中国银行、中国建设银行、国家开发银行等单位共同参与起草。

在央行看来,区块链技术是一种新型的分布式数据库,也称为分布式账本,所以《金融分布式账本技术安全规范》被业内认为是“国内金融行业首个区块链标准”。

这一标准的发布,有助于金融机构按照规范进行系统部署和维护,避免出现安全问题。金融行业正引导区块链技术的应用走向规范,积极地服务实体经济,同时也将大大提速区块链供应链金融的发展。目前,国内发布的区块链标准已有10项左右,在研究的也有20多项,这些标准都将引导且推动我国区块链技术和产业发展。只不过目前这些标准也主要偏技术层面,落地到产品应用层面还需要一段时间。

如何检测区块链智能合约的风险等级高低

随着上海城市数字化转型脚步的加快,区块链技术在政务、金融、物流、司法等众多领域得到深入应用。在应用过程中,不仅催生了新的业务形态和商业模式,也产生了很多安全问题,因而安全监管显得尤为重要。安全测评作为监管重要手段之一,成为很多区块链研发厂商和应用企业的关注热点。本文就大家关心的区块链合规性安全测评谈谈我们做的一点探索和实践。

一、区块链技术测评

区块链技术测评一般分为功能测试、性能测试和安全测评。

1、功能测试

功能测试是对底层区块链系统支持的基础功能的测试,目的是衡量底层区块链系统的能力范围。

区块链功能测试主要依据GB/T25000.10-2016《系统与软件质量要求和评价(SQuaRE)第10部分:系统与软件质量模型》、GB/T25000.51-2016《系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》等标准,验证被测软件是否满足相关测试标准要求。

区块链功能测试具体包括组网方式和通信、数据存储和传输、加密模块可用性、共识功能和容错、智能合约功能、系统管理稳定性、链稳定性、隐私保护、互操作能力、账户和交易类型、私钥管理方案、审计管理等模块。

2、性能测试

性能测试是为描述测试对象与性能相关的特征并对其进行评价而实施和执行的一类测试,大多在项目验收测评中,用来验证既定的技术指标是否完成。

区块链性能测试具体包括高并发压力测试场景、尖峰冲击测试场景、长时间稳定运行测试场景、查询测试场景等模块。

3、安全测评

区块链安全测评主要是对账户数据、密码学机制、共识机制、智能合约等进行安全测试和评价。

区块链安全测评的主要依据是《DB31/T1331-2021区块链技术安全通用要求》。也可根据实际测试需求参考《JR/T0193-2020区块链技术金融应用评估规则》、《JR/T0184—2020金融分布式账本技术安全规范》等标准。

区块链安全测评具体包括存储、网络、计算、共识机制、密码学机制、时序机制、个人信息保护、组网机制、智能合约、服务与访问等内容。

二、区块链合规性安全测评

区块链合规性安全测评一般包括“区块链信息服务安全评估”、“网络安全等级保护测评”和“专项资金项目验收测评”三类。

1、区块链信息服务安全评估

区块链信息服务安全评估主要依据国家互联网信息办公室2019年1月10日发布的《区块链信息服务管理规定》(以下简称“《规定》”)和参考区块链国家标准《区块链信息服务安全规范(征求意见稿)》进行。

《规定》旨在明确区块链信息服务提供者的信息安全管理责任,规范和促进区块链技术及相关服务的健康发展,规避区块链信息服务安全风险,为区块链信息服务的提供、使用、管理等提供有效的法律依据。《规定》第九条指出:区块链信息服务提供者开发上线新产品、新应用、新功能的,应当按照有关规定报国家和省、自治区、直辖市互联网信息办公室进行安全评估。

《区块链信息服务安全规范》是由中国科学院信息工程研究所牵头,浙江大学、中国电子技术标准化研究院、上海市信息安全测评认证中心等单位共同参与编写的一项建设和评估区块链信息服务安全能力的国家标准。《区块链信息服务安全规范》规定了联盟链和私有链的区块链信息服务提供者应满足的安全要求,包括安全技术要求和安全保障要求以及相应的测试评估方法,适用于指导区块链信息服务安全评估和区块链信息服务安全建设。标准提出的安全技术要求、保障要求框架如下:

图1区块链信息服务安全要求模型

2、网络安全等级保护测评

网络安全等级保护测评的主要依据包括《GB/T22239-2019网络安全等级保护基本要求》、《GB/T28448-2019网络安全等级保护测评要求》。

区块链作为一种新兴信息技术,构建的应用系统同样属于等级保护对象,需要按照规定开展等级保护测评。等级保护安全测评通用要求适用于评估区块链的基础设施部分,但目前并没有提出区块链特有的安全要求。因此,区块链安全测评扩展要求还有待进一步探索和研究。

3、专项资金项目验收测评

根据市经信委有关规定,信息化专项资金项目在项目验收时需出具安全测评报告。区块链应用项目的验收测评将依据上海市最新发布的区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》开展。

三、区块链安全测评探索与实践

1、标准编制

上海测评中心积极参与区块链标准编制工作。由上海测评中心牵头,苏州同济区块链研究院有限公司、上海七印信息科技有限公司、上海墨珩网络科技有限公司、电信科学技术第一研究所等单位参加编写的区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》已于2021年12月正式发布,今年3月1日起正式实施。上海测评中心参与编写的区块链国标《区块链信息服务安全规范》正处于征求意见阶段。

同时,测评中心还参与编写了国家人力资源和社会保障部组织,同济大学牵头编写的区块链工程技术人员初级和中级教材,负责编制“测试区块链系统”章节内容。

2、项目实践

近年来,上海测评中心依据相关技术标准进行了大量的区块链安全测评实践,包括等级保护测评、信息服务安全评估、项目安全测评等。在测评实践中,发现的主要安全问题如下:

表1区块链主要是安全问题

序号

测评项

问题描述

1

共识算法

共识算法采用Kafka或Raft共识,不支持拜占庭容错,不支持容忍节点恶意行为。

2

上链数据

上链敏感信息未进行加密处理,通过查询接口或区块链浏览器可访问链上所有数据。

3

密码算法

密码算法中使用的随机数不符合GB/T32915-2016对随机性的要求。

4

节点防护

对于联盟链,未能对节点服务器所在区域配置安全防护措施。

5

通信传输

节点间通信、区块链与上层应用之间通信时,未建立安全的信息传输通道。

6

共识算法

系统部署节点数量较少,有时甚至没有达到共识算法要求的容错数量。

7

智能合约

未对智能合约的运行进行监测,无法及时发现、处置智能合约运行过程中出现的问题。

8

服务与访问

上层应用存在未授权、越权等访问控制缺陷,导致业务错乱、数据泄露。

9

智能合约

智能合约编码不规范,当智能合约出现错误时,不提供智能合约冻结功能。

10

智能合约

智能合约的运行环境没有与外部隔离,存在外部攻击的风险。

3、工具应用

测评中心在组织编制《DB31/T1331-2021区块链技术安全通用要求》时,已考虑与等级保护测评的衔接需求。DB31/T1331中的“基础设施层”安全与等级保护的安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心等相关要求保持一致,“协议层安全”、“扩展层安全”则更多体现区块链特有的安全保护要求。

测评中心依据DB31/T1331相关安全要求,正在组织编写区块链测评扩展要求,相关成果将应用于网络安全等级保护测评工具——测评能手。届时,使用“测评能手”软件的测评机构就能准确、规范、高效地开展区块链安全测评,发现区块链安全风险,并提出对应的整改建议

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://www.ssyg068.com/biquanzx/20407.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年03月04日
下一篇 2025年03月04日

相关推荐

  • 区块链技术有哪些,到底啥是区块链分叉

    一、什么是比特币区块链的分叉分叉有区别为普通的升级,普通的升级在升级前后是没有影响协议共识的,也一般不需要社区共识或算力共识的参与。而分叉根据对协议的修改情况分为软分叉和硬分叉。现有的定义:【闪电定义】硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“

    2025-05-01 05:55:01
    3 0
  • 区块链和加密货币,数字货币与区块链的关系

    一、什么是数字货币区块链一、区块链是记录数字货币交易的账本以比特币为例,它并没有实体形式,而是存在于一个专用账本当中。账本里记录了所有比特币交易,通过交易记录我们可以计算出每个用户拥有的比特币数量,如果一个人拥有比特币,就意味着在账本里可以找到与他相关的交

    2025-05-01 05:00:01
    3 0
  • 区块链应收款业务,区块链物流有哪些(区块链在物流系统中的应用)

    一、区块链系统应用场景有哪些,浅谈区块链的七大应用场景如何定义区块链?区块链的应用场景有哪些?现在很多人认为区块链是一种万能的技术,无所不能,多少有点把区块链技术神话了!在区块链技术的定义上,美国学者梅兰妮斯万在其著作《区块链:新经济蓝图及导读》定义区块链

    2025-05-01 05:00:01
    5 0
  • 区块链的应用,什么是区块链超级节点(区块链节点越多越好)

    一、区块链的共识机制一、区块链共识机制的目标区块链是什么?简单而言,区块链是一种去中心化的数据库,或可以叫作分布式账本(distributed ledger)。传统上所有的数据库都是中心化的,例如一间银行的账本就储存在银行的中心服务器里。中心化数据库的弊端是数据的安全及正确性

    2025-05-01 04:55:01
    2 0
  • 怎么做区块链,区块链学院有哪些(区块链专业学校)

    一、区块链有哪些大学学,区块链工程有哪些学校开设大连民族大学区块链专业怎么样很好。1、大连民族大学区块链工程是培养适应国家核心信息技术自主研发战略、发展数字经济战略及包括民族地区在内的社会治理精准化战略需要,掌握区块链技术基本理论和区块链项目开发方法,具有区

    2025-05-01 04:55:01
    3 0
  • 互联网和区块链的区别,区块链可以在web做什么(区块链在前端应用)

    一、区块链可以在web做什么(区块链在前端应用)Web3.0初探:一个基于区块链技术、用户主导、去中心化的网络生态Web3.0是一个基于区块链技术、用户主导、去中心化的网络生态系统。它致力于构建一个用户可以自主交互、创造和分配价值的网络环境。在这个系统中,用户不再是被动的

    2025-05-01 04:00:01
    3 0

发表回复

8206

评论列表(0条)

    暂无评论

binance币安交易所
已有2000万用户加入币安交易所

立即下载