当前位置:文档之家› 区块链基本知识

区块链基本知识

区块链基本知识
区块链基本知识

区块链基础知识

区块链(BlockChain),是区块(Block)和链(Chain)的直译,其数据结构如图1所示,即每个区块保存规定时间段内的数据记录,并通过密码学的方式,构建一条安全可信的链条,形成一个不可篡改、全员共有的分布式账本。

比特币的区块分为区块头和区块体两部分。区块头的大小为80字节,包括4字节的版本号、32字节(256位)的上一区块哈希值、32字节的Merkle根节点、4字节的时间戳、4字节的难度值和4字节的随机数。区块体包含10分钟内选定的交易记录,第一笔交易(coinbase 交易)是用于奖励矿工比特币的特殊交易,由矿工自己添加进区块。

图1 区块链的数据结构示意图

基本概念

区块链是很多现有技术交叉融合在一起的集成创新。因此,要了解区块链,首先要了解区块链到底集成了哪些技术。

P2P网络

如图2所示,P2P(Peer-to-Peer)网络是一种端到端的网络。P2P网络分为结构化(例如基于Chord的P2P网络)和非结构化的P2P网络(例如Gnutella)。比特币的区块链采用的是非结构化P2P网络,整个网络没有中心化的硬件或管理机构,任一节点既是服务端,也是客户端。任何节点只要安装相应的客户端软件,就能接入P2P网络(例如BT软件),参与区块链的记录和验证,不超过1/3节点的损坏、退出甚至被植入恶意代码,都不会影响整个系统的运作。

图2 传统中心化系统和P2P网络的拓扑对比图

加密算法和数字签名

加密技术分为对称、非对称和哈希(Hash)加密。对称加密是指用同样的密钥来进行加密和解密,非对称加密是指用一个密钥对来进行加密和解密,哈希加密主要是通过对数据进行哈希运算,用固定的哈希结果值验证信息是否被篡改。

非对称加密

在非对称加密技术中,对外公开、分发出去的密钥叫做公钥,不能公开、自己留存的密钥叫做私钥。公钥加密的,对应的私钥才能解密。反之亦然。如图3所示。

图3 非对称加密RSA算法的简化示例图

非对称加密算法有RSA、DSA和ECC等种类,区块链使用的是基于椭圆曲线加密技术的数字签名(ECDSA),具体实现是secp256k1。ECDSA相当于是DSA和非对称加密ECC的结合。相比RSA算法,ECDSA具有计算量小、存储空间小、带宽要求低等特点。

数字签名

基于数字签名的通信机制工作原理,如图4所示,发送报文时,发送方用一个哈希函数从报文文本中生成文件摘要,然后用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方。接收方首先用与发送方一样的哈希函数从接收到的原始报

文中计算出报文摘要,接着再用发送方的公钥来对报文附加的数字签名进行解密,如果得到的明文相同,那么接收方就能确认传输的文件并未受到篡改,是安全可信的。

图4 数字签名的流程示意图

哈希加密

安全哈希算法(Secure Hash Algorithm,SHA)是由美国国家安全局研发,由美国国家标准与技术研究院(NIST)发布的一系列密码哈希函数,包括SHA-0、SHA-1、SHA-2和SHA-3等系列。比特币的区块链使用的是SHA-256哈希加密算法,于2001年发布,属于SHA-2分支。由于SHA256伪随机性的特点,只要是相同的数据输入,一定会得到相同的结果,如果输入数据稍有变化,将得到一个千差万别的结果,如图5所示。SHA256还是一个单向不可逆的算法,即根据一个输入数算SHA256的结果很容易,但根据SHA256的结果反算输入数几乎是不可能。除此之外,比特币还使用ripemd160算法来生成比特币钱包的地址。

图5 哈希加密的示意图

梅克尔树

梅克尔(Merkle)树是区块链的基本组成部分。如果没有梅克尔树,区块链也是可以运转,

但是要在区块头里包含所有交易记录,扩展性方面存在很大挑战。如图6所示,区块链中的每个区块,由区块头和区块体构成,区块头中含有一个Merkle根节点的字段,通过对区块体中所有交易记录,以二叉树的形式迭代地两两拼接、进行哈希操作,可以得到一个最终的哈希值,我们称之为Merkle根哈希。Merkle根哈希相当于是对区块中所有交易记录进行了一个快照,区块中交易记录的任意改动都可以通过比较Merkle根哈希而很容易地察觉。Merkle根哈希主要用于简单支付验证(SPV),在验证某个交易是否在区块中时,也能极大地减少网络传输成本。

图6 Merkle树示意图

工作量证明机制

工作量证明机制,简单地说,就是一种共识机制,用来确认你是否做过一定量工作的证明。比特币的区块链主要是依托计算数学难题来衡量工作量。每个区块,当选定一定数量的交易记录之后,填充版本号、时间戳、难度值,生成相应的Merkle根哈希。很容易看到,这些数值在选定交易记录以后,都是确定的,唯一能够改变的就只有随机数(Nonce)这个值。如图7所示,系统根据难度值,要求计算整个区块头的两次SHA256算法,得到的哈希结果要小于一个阈值。根据前面描述的SHA256算法的伪随机性,只有通过不断地尝试和枚举,才能找到相应的随机数,证明自己的工作量。

图7 工作量证明机制示意图

除了工作量证明机制(PoW)这类共识机制之外,还有股权证明机制(PoS)、授权股权证明机制(DPoS)、拜占庭容错机制(BFT)、实用拜占庭容错机制(PBFT)这些在不可信环境下的共识机制以及要求在可信环境下的共识机制,例如PaxOS和Raft。表1是做了简单的对比。

表1 共识机制的简单对比表

运行机制

接入网络和验证

节点通过安装相应的软件(例如比特币核心),接入区块链。节点启动以后,主要是在P2P 网络上发现邻居节点、链接邻居节点、传递P2P消息和下载区块链验证。节点可以选择下载全量的区块链进行验证,或者是只下载区块头,通过Merkle树节点来进行简单支付验证(SPV)。

钱包软件可以分为移动钱包、桌面钱包、互联网钱包和纸钱包,都支持保存用户的私钥,钱包也可以根据私钥是否是种子产生的,而分为决定性钱包和非决定性钱包,关键区别在于私钥的备份和易恢复性。

区块链的存储和接受

比特币的区块链使用Berkeley DB(文件数据库)作为钱包数据库,使用LevelDB(键值数据库)存储区块的索引和UTXO(Unspent Transaction Output,未开销的比特币交易输出)。节点在启动的时候,将整个区块链的索引从LevelDB加载入内存。当收到一个新区块时,节点对新区块中的所有交易进行检测,验证交易格式、交易大小、交易签名、UTXO是否匹配、交易签名、脚本合规等方面。

如果验证成功,检查上一区块头与链头区块哈希值是否一致,如果是一致,则更新UTXO数据库和回滚交易数据库,如果不是,则将该区块放在孤儿区块池中。当节点发现网络中存在另一条更长的区块链时,就需要断开现有的区块并对区块链进行重组。如果验证不成功,会抛弃该区块,继续等待新区块的到来(矿工会继续计算新区块的数学难题)。

区块链的工作量证明计算机制

“矿工”角色的节点一直收集网络中广播的交易记录,并致力于计算新区块的数学难题,即工作量证明。如果其他节点发来的新区块验证成功,节点除了更新UTXO数据库和回滚交易

数据库,节点会立即开始下一个新区块的计算。新区块的构建优先选取交易内存池中优先级高的交易记录。优先级的计算方式为:

如果自己的工作量证明计算成功,节点会第一时间将这个区块广播至整个网络中,其他节点收到该新区块,如上所述,会进行相应的验证和存储。

整个区块链的运转机制如图8所示。

图8 区块链运转机制示意图

其他相关

脚本语言

区块链采用的脚本语言并不是图灵完备的语言,不支持循环,只能进行堆栈式操作。这种脚本语言的好处是,不允许矿工提交一个死循环的脚本,更注重的是安全方面的考量,但其扩展能力有限。从以太坊为首的区块链编程平台支持图灵完备的编程语言,引领区块链跨入2.0时代。由于支持循环等复杂操作,以太坊用Gas(燃料)机制来防止死循环的出现,确保系统的安全。

消息队列

比特币区块链采用Zero MQ(ZMQ)作为消息分发和消息队列管理工具。与很多人熟悉的RabbitMQ相比,ZMQ不像传统意义的消息服务器,更像一个底层的网络通信库,在多个线程、内核和主机盒之间弹性伸缩,在Socket API之上将网络通信、进程通信和线程通信抽象为统一的API接口。

挖矿设备和算法演进

挖矿设备从支持复杂指令(CISC)、适合串行计算的CPU矿机时代,经由基于众核体系、适合并行简单计算的GPU挖矿和低功耗却价格昂贵的FPGA挖矿,逐渐向集约高速的ASIC矿机和规模效应的矿池演进。

基于工作量证明机制的算法,容易导致矿工算力集中的问题。有人将这种“中心化”的责任归咎于SHA256算法。此时,基于SCRYPT算法的莱特币(Litecoin)进入了人们视线,其占用内存多、计算时间长、并行计算困难的特点,限制了矿工的“军备竞赛”。莱特币的成功催生了更多算法的交叉融合,衍生出串联算法(夸克币)、并联算法(HeavyCoin)和多用途算法(在工作量证明的同时,寻找大素数的素数币,PrimeCoin)。

OGC全力打造全球首款以技术驱动的区块链游戏产业生态平台,游戏始于社区,OGC制造了一个共建共享、高活跃度的去中心化社区。在这样一个社区里,所有的参与者将发挥协同效能、价值互通。并且OGC能够提供信任和安全的环境,可以解决玩家、游戏制作和发行商的信任问题。

区块链入门教程 (2)

区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。 下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。 需要说明的是,我并非这方面的专家。虽然很早就关注,但是仔细地了解区块链,还是从今年初开始。文中的错误和不准确的地方,欢迎大家指正。 一、区块链的本质 区块链是什么?一句话,它是一种特殊的分布式数据库。

首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。 二、区块链的最大特点 分布式数据库并非新发明,市场上早有此类产品。但是,区块链有一个革命性特点。 区块链没有管理员,它是彻底无中心的。其他的数据库都有管理员,但是区块链没有。如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。 正是因为无法管理,区块链才能做到无法被控制。否则一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。 但是,没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?被坏人改了怎么办?请接着往下读,这就是区块链奇妙的地方。

区块链概念及架构设计知识图谱

1、前言 区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。 无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品。与此同时,梳理与之相关的知识图谱和体系,帮助大家系统的去学习研究。 2、基本概念 区块链的概念最近很火,它来自于比特币等加密货币的实现,但是目前,这项技术已经逐步运用在各个领域。什么是区块链技术?为了感性认识这个问题,我们可以使用谷歌地球的例子做类比,ajax不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P网络等组合在一起,就诞生了比特币。技术人员,特别是Web开发工程师,学习了解ajax

技术最早是被谷歌地球酷炫的效果所吸引。而现在,历史再一次重演,很多人被比特币的疯狂发展所吸引,进而开始研究其背后的技术——区块链。 区块链原本是比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息,每条记录从后向前有序链接起来,具备公开透明、无法篡改、方便追溯的特点。实际上,这种特性也直接体现了整个比特币的特点,因此使用区块链来概括加密货币背后的技术实现是非常直观和恰当的。区块链是一项技术,加密货币是其开发实现的一类产品(含有代币,也有不含代币的区块链产品),不能等同或混淆。与加密货币相比,区块链这个名字抛开了代币的概念,更加形象化、技术化、去政治化,更适合作为一门技术去研究、去推广。 所以,目前当大家单独说到区块链的时候,就是指的区块链技术,是实现了数据公开、透明、可追溯的产品的架构设计方法,算作广义的区块链。而当在具体产品中谈到区块链的时候,可以指类似比特币

区块链技术深度剖析课程大纲_1.1

课程名称:区块链技术深度剖析 课程编码: 课程学分:2学分 课程学时:32学时 适用专业:网络空间安全,信息安全 《区块链技术深度剖析》 The Depth of Analysis Blockchain Technology 教学大纲 一、课程性质与教学目标 性质:本课程属于网络空间安全专业的兴趣选修课程。本课程的主要目的是让学生学习和了解区块链的起源、发展以及各行业的应用需求;理解和掌握区块及链、密码技术、共识机制、激励机制、智能合约、P2P网络等的基本原理和实践应用,掌握比特币源码及典型密码算法的应用;领会区块链中安全机制的设计思想、区块链未来的应用价值和发展趋势。 教学目标:让学生掌握区块链中安全设计与分析的基础知识,培养其应用区块链原理,准确分析各行业中存在的去中心化信任、公开透明、不可篡改、不可伪造以及跟踪溯源等安全问题,设计和使用区块链技术解决各行业应用问题。二、教学基本内容及基本要求 通过课堂教学结合实践应用使学生了解区块链的发展及其研究的主要内容,掌握区块链的主要知识体系、基本理论;学会使用典型的密码算法,解决各行业应用的安全问题;通过课堂讲解、讨论和学生课下阅读、思考以及上机调试代码,了解区块链在各行业中的应用需求,能够把密码思想融入到社会生活中,把密码工具应用到区块链系统中,解决一些实际问题。 第1章区块链概述 (一)基本要求 1、掌握:区块链安全思想,区块链分类,区块链技术原理; 2、理解:区块链和信息安全、密码技术的关系; 3、了解:区块链的发展史、能解决的行业问题以及未来的发展趋势。(二)教学及考核内容 1.1 构建信任社会 1.2 区块链与密码学 1.3 区块链技术原理

区块链培训课程要掌握哪些内容

区块链培训课程要掌握哪些内容 猎聘发布的《2018第一季度中高端人才薪酬与流动大数据报告》显示,相较于2017年,2018年第一季度区块链相关岗位需求提升了3倍。而且区块链从业者平均年薪达34.09万元,超过AI人工智能领域平均年薪,居薪酬排行榜首位。想学区块链?区块链培训课程要掌握哪些内容? 1)、区块链基本理论 2)、编程基础入门 (计算机软硬件基础、字符集及字符编码、HTML5+CSS3等前端技术、ECMAScript + BOM + DOM、jQuery、node.js、Ajax及Express框架)3)、Go编程语言及数据库操作 4)、区块链1.0编程——比特币 5)、区块链2.0——Ethereum 6)、星云链及EOS开发实战 7)、区块链3.0——超级账本之Fabric

目前区块链人才缺口很大,远远不能满足市场需求。据领英全球统计数据显示,从目前的5.5亿用户来看,在职业技能中标注自己具有区块链相关技术的人在2015年到2017年增加了19倍。不过,尽管增幅明显,人才总量仍然少,仅相当于领英平台上全球AI人才数量的2%左右。 近期北京有一则区块链招聘广告刷爆朋友圈,要求应聘者对区块链技术和密码学有深入研究,给出的年薪不低于500万元人民币,并且上不封顶。真正的区块链技术培训市场是一片蓝海,具有很好的市场前景。 所以如果你也很想掌握区块链技术,千锋区块链培训课程深入浅出,用浅显易懂语言讲述计算机术语,保证人人能听懂;带领学员“寻根问底”黑科技,从学生遇到的问题中发现根本原因,对学习中存在的问题能给予有针对性的解决方 案;案例丰富,结合开发案例讲解商业项目中的编程经验,做到举一反三。

研究院区块链知识试题

一、单选题(每题3分,总分27分) 1、创世区块是由谁创造的?() A、中本聪 B、马斯克 C、Vitalik Buterin D、Bytemaster 2、区块链运用的技术不包含哪一项?() A、P2P网络 B、密码学 C、共识算法 D、大数据 3、以下哪项不是区块链目前的分类?() A、公有链 B、私有链 C、唯链 D、联盟链 4、以下哪个不是区块链特性?() A、不可篡改 B、去中心化 C、高升值 D、可追溯 5、中本聪是哪里人?() A.中国人 B.美国人 C.日本人 D.不确定 6、拜占庭将军问题解决了以下哪个问题?() A、分布式通讯 B、内容加密 C、共识机制 D、投票机制 7、EOS经过所有持币用户投票选举诞生的最终获得记帐权的超级节点一共多少个()

A、100个 B、50个 C、41个 D、21个 8、如果一笔比特币交易没有包含挖矿费用,最终会怎样? A.不被确认 B.正常确认速度 C.24小时内 D.不确定时间,但最终还是会被确认 9、下面哪个区块链图中哪个顺序是正确的() A.甲乙丙 B.丙乙甲 C.丙甲乙 D.甲丙乙 二、多选题(每题5分,总分25分) 1、下面哪些属于师出同门的?() A.ETC和ETH B.Ripple和Stellar C.比特币和比特股 D.比特币和莱特币 2、对于基于区块链的数字货币资产的拥有者来说,最重要是保护好自己的() A.公钥 B.私钥 C.账号密码 D.数字签名 E.钱包 3、比特币在区块链中记录的是?() A.账户信息 B.账户余额 C.交易记录 D.未花费的输出

4、区块链2.0的标志是哪些?() A.虚拟机EVM B.智能合约 C.智能资产 D.去中心化自治组织 E.联盟链 5、51%攻击能做什么?() A.修改自己的交易记录,这可以使他进行双重支付 B.改变每个区块产生的比特币数量 C.凭空产生比特币 D.把不属于他的比特币发送給自己或其他人 E.阻止区块确认部分或全部交易 三、判断题(每题2分,总分20分) 1、区块链上的数据默认加密的() 2、区块链上的记录都是真实的() 3、区块链记录所有事件是不可篡改的() 4、区块链没有拒绝服务攻击(DDOS)的问题() 5、加密数字货币都是使用区块链技术() 6、比特币的每个节点同步的账本都是全账本() 7、当最后一个比特币挖出来后,比特币不需要继续挖矿了()

学习区块链必看!区块链小知识(第三期)

学习区块链必看!区块链小知识(第三期) ▌今日币价:Btc$6,610 / Eth$370现如今,区块链已经成为全民关注的领域,不少企业也早已深入其中研究该技术的落地情况。但目前仍有很大一部分人对区块链技术的相关概念并不熟悉。近日,维京研究院和甲子智库联合出品了《区块链行业词典》,区块链福利社作为媒体合作方,将每天为 大家普及区块链的相关小知识。区块链小知识第(9)话: 分布式存储的相关定义介绍1、分布式存储/ Distributed Data Store / DDS传统上的分布式存储本质上是一个中心化的系统,是将数据分散存储在多台独立的设备上,采用可扩展的系统结构、利用多台存储服务器分担存储负荷、利用位置服务器定位存储信息。而基于P2P 网络的分布式存储是区块链的核心技术,是将数据存储于区块上并通过开放节点的存储空间建立的一种分布式数据库,解决传统分布式存储的问题。2、P2P 存储/ Peer-to-Peer Storage / P2P StorageP2P 存储是一种不存在中心化控制机制的存储技术。P2P 存储通过开放节点的存储空间,以提高网络的运作效率,解决传统分布式存储的服务器瓶颈、带宽而带来的访问不便等问题。 3、分布式/ Distributed分布式是通过区块链的P2P 技术实现,分布式是描述一个计算机系统具有在多台计算机上同时运行和维护的完整副本,没有任何人或组织来控制这个系统。

4、账本/ Ledger账本是指包括区块链的数据结构、所有的 交易信息和当前状态的数字记录。5、分布式账本/ Distributed ledger Technology / DLT分布式账本是指一种在网络成员 之间共享、复制和同步的数据库,分布式账本在区块链中是一个通过共识机制建立的数字记录,区块链网络中的参与者可以获得一个唯一、真实账本的副本,因此难以对分布式账本进行篡改。更改记录的方式非常困难,技术非常安全。6、节点/ Node节点是区块链分布式系统中的网络节点,是通过网络连接的服务器、计算机、电话等,针对不同性质的区块链,成为节点的方式也会有所不同。以比特币为例,参与交易或挖矿即构成一个节点。7、全节点/ 完整节点/ Full Node 全节点是是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。区块链小知识第(10)话:共识机制的相关定义介绍Ⅰ1、共识机制/ Consensus由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务 的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。2、工作量证明/ Proof of Work / PoW工作量证明简单理解就是一份证明,用来确认节点做过一定量的工作。监测工作的整个过程通常是

区块链基础知识点整理

一、区块链技术 1.什么是区块链? 去中心化的、分布式的、区块化存储的数据库 存储全部账户余额及交易流水的总账本 每个节点有完整的账本数据 账本数据记录了全部的历史交易数据 交易数据存储在区块上 每个区块包含前一区块ID及HASH,形成链 2.区块链基本原理 如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。 交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录 区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识 链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。3.区块链要解决的问题 如何去中心化地共享数据? 如何确保账户不被冒用? 如何确保账户余额足够? 如何确保交易记录不被篡改? 谁负责记账? 怎么保障记账者的可信? 怎么保障记账者的积极性? 4.区块链特性 去中心化 开放性(没有限制,开源,数据公开) 去信任(仅信任机器) 自治性,集体维护 可靠的数据库(不可更改,永远可访问) 匿名性,隐私保护 5.核心技术 P2P网络、数字签名、区块化数据库,竞争记账权、共识算法、交易回溯。 二、P2P网络及通讯技术(分布式技术网络) 1.自动发现 通过种子文件,获取初始节点(地址及端口) 连接初始节点,获取初始节点知道的Peer 把自己的地址及端口广播给各个Peer 接收各个Peer广播的地址信息,构建出网络的全貌或片段 2.技术领域 分布式存储、分布式计算、分布式协同 组播 流媒体

搜索引擎 3.通信协议 napster、Gnutella、eDonkey、Bittorrent(文件分发协议) XMPP、Jabber(即时通信协议) Paxos、Gossip(分布式系统状态同步协议) JXTA 4.使用HASH算法及非对称加密及签名技术 每个节点、每个人有唯一的一对公钥及私钥 公钥同时也是每个节点、个人的地址和账号 私钥是证明”我就是我“的唯一手段 HASH算法对数据进行规整 5.算法 RSA、Elgamal、D-H、ECC SHA256、RIMPED160 6.通常使用椭圆曲线算法生成密钥对 比特币密钥长度:256位 公钥哈希值=RIMPED160(SHA256(公钥)) 比特币地址=1+Base58(0+公钥哈希值+校验码) 校验码=前四字节(SHA256(SHA256(0+公钥哈希值))) 7.加密 发送方使用接收方的公钥加密数据 接收方使用本方的私钥解密数据 通常使用本方面交换对称加密的Key 8.签名 发送方使用HASH算法计算数据的HASH值 发送方使用本方的私钥加密HASH值,得到签名 接收方使用HASH算法计算数据的HASH值 接收方使用发送方的公钥解密签名得到发送的HASH值 比较两个HASH值的一致性 9.参考 ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K,在密码中主要应用离散对数问题的几个性质:求解离散对数(可能)是困难的,而其逆运算指数运算可以应用平方-乘的方法有效地计算。也就是说,在适当的群G中,指数函数是单向函数。 椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。解椭圆曲线上的离散对数问题的最好算法是Pollard rho方法,其时间复杂度为,是完全指数阶的。其中n为等式(2)中m的二进制表示的位数。当n=234,约为2117,需要1.6x1023 MIPS年的时间。而我们熟知的RSA所利用的是大整数分解的困难问题,目前对于一般情况下的因数分解的最好算法的时间复杂度是子指数阶的,当n=2048时,需要2x1020MIPS年的时间。也就是说当RSA的密钥使用2048位时,ECC的密钥使用234位所获得的安全强度还高出许多。它们之间的密钥长度却相差达9倍,当ECC的密钥更大时它们之间差距将更大。更ECC密钥短的优点是非常明显的,随加密强度的提高,密钥长度变化不大。

区块链基础知识(一)

一、区块链技术 1. 什么是区块链? 去中心化的、分布式的、区块化存储的数据库 存储全部账户余额及交易流水的总账本 每个节点有完整的账本数据 账本数据记录了全部的历史交易数据 交易数据存储在区块上 每个区块包含前一区块ID及HASH,形成链 2. 区块链基本原理 如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。 交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录 区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识 链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。 3. 区块链要解决的问题 如何去中心化地共享数据? 如何确保账户不被冒用? 如何确保账户余额足够? 如何确保交易记录不被篡改? 谁负责记账? 怎么保障记账者的可信? 怎么保障记账者的积极性? 4. 区块链特性 去中心化 开放性(没有限制,开源,数据公开) 去信任(仅信任机器) 自治性,集体维护 可靠的数据库(不可更改,永远可访问) 匿名性,隐私保护 5. 核心技术 P2P网络、数字签名、区块化数据库,竞争记账权、共识算法、交易回溯。 二、P2P网络及通讯技术(分布式技术网络) 1. 自动发现 通过种子文件,获取初始节点(地址及端口) 连接初始节点,获取初始节点知道的Peer 把自己的地址及端口广播给各个Peer 接收各个Peer广播的地址信息,构建出网络的全貌或片段 2. 技术领域 分布式存储、分布式计算、分布式协同 组播 流媒体 搜索引擎

高三2020年语文教学质量检测卷(含答案)

2020年高三语文教学质量检测卷 阅读下面的文字,完成下面1~3题。 近年来,国产动画片的产量颇为壮观。《大闹天宫》《哪吒闹海》《天书奇谭》《葫芦兄弟》等作品将中华优秀传统文化创造性地与动画相结合,形成了木偶、皮影、戏曲等诸多形态的动画形象,鲜明地展示着中国的形象和中国的气质。但是,近年来,国产动画作品整体质量参差不齐,其传统印象逐渐偏离观众的审美视野,虽然有不少动漫作品走向国际,但其所表达的思想深度和传统文化内涵却稍嫌不足。其中,许多作品放弃了具有中国文化传统风格的动画制作理念,放弃了纯正的中华传统文化品位和风格。同时,中国当代动画片在主体受众定位上存在着娱乐化、低龄化的倾向,这在某种程度上也会引导未来的中国人在动画片的接受上,与中华优秀传统文化的文脉有所疏离。 因此,中国动画片在发展过程中出现的对于传统文化借鉴、吸收的诸多实践,实际在当代有所断裂.在动画作品中如何更好地展示、弘扬中华优秀传统文化,提升动画作品的艺术水准,已成为今后国产动画要解决的首要问题。在动画作品的创作过程中,创新性地融入中华优秀传统文化内涵,注入传统文化的精神力量,不仅是实现国产动画业持续健康发展的一条有效路径,更是符合当前市场需求的有效举措。 欧美与日本一直是世界动画产业的前沿阵地,他们的经典作品不仅展示本国的生活面貌、思想精神,还出品了许多与世界各地传统文化相关的优秀动画片。如美国出品的与中国文化有关的《花木兰》《功夫熊猫》等,在这些作品中我们可以感受到外国人视野中的中国传统文化精神和魅力。外国制作的有关中国题材的动画片取得了巨大的成功,而中华优秀传统文化也在一定程度上通过这些动画片为世界各地观众所认知。但是,这种成功的典范,在引起我们的反思之时,也应该成为激励我们国产动画创作思路的一剂强心针,毕竟曾经的中国动画有着鲜明的民族个性。 中华优秀传统文化是国产动画创作的精神食粮。如何像前辈动画人--样有效地汲取和创作,是需要智慧和思考的。一部好的艺术作品总是让人回味无穷,动画片《寻梦环游记》是墨西哥传统文化的有效传播载体,以艺术的形式诠释了墨西哥文化。这种成功难以复制,但是我们可以借鉴其成功的因素。 但应注意,国产动画创作在发掘传统文化题材时,也要把握好传统文化的脉络,把传统文化作为创作素材,并不是要一窝蜂、赶潮流地都去进行有关传统文化题材的创作,也不能在作品中随意地、不经考证地、蜻蜓点水般挪用一点传统素材,或者简单地把传统文化支离破碎地生搬硬套进去,以为沾上一点传统文化的要素,就显得艺术品位高。我们应该对优秀传统文化保持敬畏,在尊重传统、了解传统的基础上,进行取材和再创作,从而使文化形式和作品内容达到水乳交融。中华优秀传统文化,是国产动画片丰富的素材来源。在前辈动画人的努力下,通过汲取这些文化元素,创造了诸多跨时代的经典动画片。将传统文化精髓与时尚潮流、当下的市场需求与动画艺术特色进行有机结合,从而在作品中实现优秀传统文化的创造性转化与创新性发展,让传统文化通过动画这种艺术形式,成功地向世界展示、宣扬,这是今天中国动漫应该选择的重要道路。 (摘编自李春沐《中国动画片创作需要传统文化的滋养》) 1.下列关于原文内容的理解和分析,正确的一项是()(3分)

区块链知识

区块链知识 第一课 简单名词的分享 1,挖矿Minning 2,矿工Minner 3,哈希hash 4,工作量证明Proof of work(pow) 5,区块Block 6,区块链Blockchain 相信大家对其中的一些名词都有所理解,我就不一一讲解了。那么今天就重点讲解哈希,工作量证明,算力和权益证明 哈希: HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。 了解了hash基本定义,就不能不提到一些著名的hash算法,MD5 和SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以MD4 为基础设计的。 工作量证明: 工作证明(Proof Of Work,简称POW),顾名思义,即工作量的证明。通常来说只能从结果证明,因为监测工作过程通常是繁琐与低效的。 比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block 工作证明机制看似很神秘,其实在社会中的应用非常广泛。例如,毕业证、学位证等证书,就是工作证明. 算力: 即计算机的计算能力,也可以说是GPU的计算能力。计算能力一般显卡Mh/s 专业矿机Gh/s 比特币挖矿靠的就是计算能力 计算能力越快比特币挖的就越快

权益证明: “权益证明”,和比特币“工作量证明”相对应的另外一种共识机制。“权益证明”是根据你在这个网络里拥有币的多少来竞争记账的权力,如果你持有的币越多,你的记账的权力的获取概率就越大,这种证明机制在一定程度上缩短了共识的达成时间,也不再需要大量消耗能源挖矿。简而言之「持有越多,获得记账权力概率越大」,这种共识机制叫“权益证明”,英文简称“PoS”。 第二课 我们都知道,比特币以及区块链具有去中心化,不可篡改,不可伪造的特点,那这几个特点,是依赖于什么样的技术得以实现的呢? 1,去中心化 去中心化,本质上是让所有的节点都能验证交易的真伪,中本聪用了非对称加密技术,它是指加密和解密的时候使用不同密钥的加密算法。 非对称加密技术保证了比特币的去中心特点,分布式存储也保证了比特币的去中心化 2,无法被篡改 由比特币采用工作量证明机制和最长链机制来保证的。 3,不可伪造 这和比特币的UTXO结构有关,所谓UTXO,具体的意思是未花费的交易输出。它是比特币交易生成及验证的一个核心概念。在比特币的世界里,每一笔转账都可以追溯到上一笔交易,每一笔收款。也可以追溯到上一笔转账。这个机制,保证了比特币不可被伪造,不可被重复支付,重复支付,在比特币世界里叫“双花”,就是花了2次。在比特币之前,一直没有货币能够解决双花问题。 第三课 比特币价格的由来和发展 一件物品的价格由其价值决定,受供求关系影响。比特币也不例外。比特币的价格由它的价值决定,也就是它现在在全球的应用、接受广泛程度来决定。同时,受政策、竞争币种、技术、重大消息等多方面因素影响,在市场上,人们对它的供求也会不一样,这种供需关系也会影响比特币价格的波动。

98分专业技术人员继续教育《区块链技术应用和产业创新发展》课程题库及参考题答案

《区块链技术应用和产业创新发展》课程题库及参考答案 (一) 单选题,共30 题。 1. 我国预计在()年实现一大批普通本科高等学校向应用型转变。 (A) 2020 (B) 2021 (C) 2022 (D) 2023 正确答案:C 2. 根据本课程,经济学基本原理表明()决定了社会繁荣。 (A) 创新能力 (B) 实践能力 (C) 技术技能 (D) 教育程度 正确答案:C 3. 为了构建自己的网络或者区块链系统,将使用围空在一个公司的围,以此改善()。

(A) 可审计性 (B) 可靠性 (C) 私密性 (D) 可控性 正确答案:A 4. 中国发展区块链三部曲包括简易模型、()和转型模型。 (A) 复合模型 (B) 数据库模型 (C) 深度融合模型 (D) 发展模型 正确答案:C 5. 根据本课程,英国央行行长2019年8月23日提出()取代美元成为世界储备货币。 (A) “合成霸权数字美元” (B) “合成霸权数字英镑”

(C) “合成霸权数字法币” (D) “合成霸权数字日元” 正确答案:C 6. 共识由多个参与节点按照一定机制确认或验证数据,确保数据在账本中具备正确性和()。 (A) 真实性 (B) 多样性 (C) 可靠性 (D) 一致性 正确答案:D 7. 根据本课程,从1996年到2015年这二十年间,我国劳动生产率年平均增长速度为()。 (A) 0.096 (B) 0.076 (C) 0.086

(D) 0.066 8. 区块链的安全性主要是通过()来进行保证的。 (A) 签名算法 (B) 密码学算法 (C) 哈希算法 (D) 共识算法 正确答案:B 9. 根据本课程,目前80%的技能人才布局于()企业。 (A) 国营 (B) 民营 (C) 集体 (D) 外资 10. 区块链的技术分类包括公有链、联盟链和()。 (A) 区域链

区块链知识普及

区块链知识普及 基本概念 1.什么是区块链 把多笔交易的信息以及表明该区块的信息打包放在一起,经验证后的这个包就是区块。每个区块里保存了上一个区块的hash值,使区块之间产生关系,也就是说的链了。合起来就叫区块链。 2.什么是比特币 比特币概念是2009年中本聪提出的,总量是2100万个。比特币链大约每10分钟产生一个区块,这个区块是矿工挖了10分钟挖出来的。作为给矿工奖励,一定数量的比特币会发给矿工们,但是这个一定数量是每四年减半一次。现在是6.25个。照这样下去2140年全部的比特币问世。 3.什么是以太坊 以太坊与比特币最大的区别是有了智能合约。使得开发者在上边可以开发,运行各种应用。 区块链的特点 4.分布式账本 它是一种在网络成员之间共享,复制和同步的数据库。直白说,在区块链上的所有用户都有记账功能,而且内容一致,这样保证了数据不可篡改性。 5.什么是准匿名性

相信大家都有钱包,发送交易都用的钱包地址(一串字符串)这就是准匿名。 6.什么是开放透明性/可追溯 区块链存储了从历史到现在的所有数据,任何人都可以查看,而且还可以查看到历史上的任何数据。 7.什么是不可篡改 历史数据和当前交易的数据不可篡改。数据被存在链上的区块上,有一个hash值,如果修改该区块信息,那么它的hash值也变了,它后边的所有区块的hash值也必须修改,使成为新的链。同时主链还在进行交易产生区块。修改后链也必须一直和主链同步产生区块,保证链的长度一样。代价太大了,只为修改一条数据。 8.什么是抗ddos攻击 ddos:黑客通过控制许多人的电脑或者手机,让他们同时访问一个网站,由于服务器的宽带是有限的,大量流量的涌入可能会使得网站可能无法正常工作,从而遭受损失。 但区块链是分布式的,不存在一个中心服务器,一个节点出现故障,其他节点不受影响。理论上是超过51%的节点遭受攻击,会出现问题。 区块链分类 9.主链的定义 以比特币为例,某个时间点一个区块让2个矿工同时挖出来,然后接下来最先产生6个区块的链就是主链 10.单链/多链 单链指的是一条链上处理所有事物的数据结构。 多链结构,其核心本质是公有链+N个子链构成。只有一条,子链理论上可以有无数条,每

区块链知识

区块链 一、区块链技术的定义: 1、区块链是一种防篡改、共享的数字化账本;集体协作共同维护的可靠数据库方案。 2、区块链是一个分布式账本,一种通过去中心化形式实现所有参与主体共同维护同一可靠数据库的技术方案。区块链是比特币的核心底层技术。 该技术方案主要是让区块通过密码学方法相关联起来,每个数据块包含了一定时间内的系统全部数据信息,并且生成数字签名以验证信息的有效性并链接到下一个数据块形成一条主链。 4、基础技术:分布式计算储存、点对点网络信息传输、共识机制、密码学算法。 5、核心特征:主中心化、去信任、集体维护、可靠数据库 二、区块链1.0应用——以比特币为代表的数字加密货币 1、挖矿:电脑挖矿→显卡挖矿→矿机挖矿→矿池;高耗电项目 奖励比特币:由于比特币总量约为2100万,挖矿难度越来越大,奖励越来越少。 2、比特币交易:国内已禁止比特币与人民币的直接兑换 三、比特币2.0应用:智能合约、以太坊、ICO 1、以太坊:是一款能够在区块链上实现智能合约、开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生。以太坊是一个平台和一种编程语言,使开发人员能够建立和发布下一代分布式应用。 2、智能合约:是运行在计算机里面的,用于保证让参与方执行承诺的代码。之所以目前都是基于区块链的智能合约,是因为区块链的几大特性:去中心化、不可篡改、高可用性。 3、ICO:首次代币发行,是一种为加密数字货币/区块链项目筹措资金的常用方式。基于以太坊(ETH)和比特股(BTS)区块链发行。 央行等七部委发布公告指出ICO是一种未经批准非法公开融资的行为,禁止ICO 活动。 四、区块链3.0应用——服务实体经济 1、区块链3.0的应用生态圈:金融服务、医疗健康、ip版权、教育、物联网、共享经济、通信、社会管理、慈善公益、文化娱乐。

考试经验:TEF考试指南

考试经验:TEF考试指南 第一,制定目标 (1)我坚决认为,真正学满500学时的学生,低于360分是不大可能的(B1级别361——540,Ma??trise limitée de la langue)。而实际上,有良好英文基础的学生,假如针对TEF考试进行法语学习,达到这个目标仅需要400小时的学习。 (2)英文基础较好的学生,只需要200学时有针对性的学习,并且掌握一定的考试技巧,即可达到A2级别(204——360,Ma??trise des structures de base de la langue) (3)把目标定在204以下:比如150?完全没有这个必要。 第二,学习方法 对于作了长期计划,参与500学时循序渐进授课教学的同学,即可不理会我本部分文字,只要跟着老师的进度学完,并参考下一部分“考试技巧”,绝对达到B1级别(361-540)。 我所总结的学习方法,是根据TEF考试的要求所制定,对以下各类人有所帮助: 1.考试前未有足够时间,或因各种原因无法完成500学时学习的同学; 2.只想考个足够的分数,应付签证的同学; 3.不想付钱给培训机构的同学; 4.感觉自己老师暴烂,不得不进行一定的自学的同学 TEF A 1级别Connaissance basique de la langue 对法语的基本认识 TEF 0级(0-68)vous identifies et reproduisez des mots isolés ou expressions apprises TEF 1级(69-203)vous comprenez de courts énoncés s'il sont connus et répétés et prévisibles,vous savez exprimer des besoins élémentaires.

100分的-《区块链及其“新基建”赋能之路》考试参考(1)

区块链及其“新基建”赋能之路 一、单选题: 1.()在中共中央政治局第十八次集体学习上指出:我们要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。(3.0分) A.习近平 B.李克强 C.栗战书 D.汪洋 我的答案:A√答对 2.习近平总书记指出“以区块链为代表的新一代信息技术加速突破应用”是在()。( 3.0分) A.2006年5月 B.2007年5月 C.2008年5月 D.2009年5月 我的答案:C√答对 3.下列不属于新技术基础设施的是()。(3.0分) A.人工智能 B.区块链 C.云计算 D.5G 我的答案:D√答对 4.区块链纳入“新基建”的时间是()年。(3.0分) A.2015 B.2017 C.2018 D.2020 我的答案:D√答对 5.区块链第一个区块诞生的时间是()年。(3.0分) A.2008 B.2009 C.2010 D.2011 我的答案:B√答对 6.2016年,工信部发布()。(3.0分) A.《中国区块链技术和应用发展白皮书(2016)》 B.《软件和信息技术服务业发展规划(2016-2020年)》

C.《国务院关于印发“十三五”国家信息化规划的通知》 D.《2018中国区块链产业白皮书》 我的答案:A√答对 7.关于区块链在数据共享方面的优势,下列表述不正确的是()。(3.0分) A.去中心化 B.可自由篡改 C.访问控制权 D.不可篡改性 我的答案:B√答对 8.在新型基础设施中,信息基础设施不包括()。(3.0分) A.通信网络基础设施 B.新型经济型基础设施 C.新技术基础设施 D.算力基础设施 我的答案:B√答对 9.中共中央政治局就区块链技术发展现状和趋势进行第十八次集体学习的时间是()。(3.0分) A.2019年10月24日 B.2018年10月24日 C.2017年10月4日 D.2018年10月4日 我的答案:A√答对 二、多选题: 1.区块链的类型包括()。(4.0分)) A.公有链 B.专有链 C.私有链 D.联盟链 我的答案:ACD√答对 2.区块链作为“新基建”的建设,必须与5G、物联网(IOT)、工业互联网、人工智能(AI)、云计算等结合,推动新的()等产生。(4.0分)) A.生产模式 B.消费模式 C.商业模式 D.投融资模式 我的答案:ABCD√答对 3.区块链作为信任工具,着力解决“新基建”中“数据”这个核心生产要素的()等痛点问题。( 4.0分)) A.可信认证

兄弟连区块链入门教程eth源码分析core-vm源码分析(二)

兄弟连区块链入门教程eth源码分析core-vm源码分析(二) 兄弟连区块链入门教程eth源码分析core-vm源码分析(二),合约创建Create 会创建一个新的合约。 // Create creates a new contract using code as deployment code. func (evm *EVM) Create(caller ContractRef, code []byte, gas uint64, value *big.Int) (ret []byte, contractAddr common.Address, leftOverGas uint64, err error) { // Depth check execution. Fail if we're trying to execute above the // limit. if evm.depth > int(params.CallCreateDepth) { return nil, common.Address{}, gas, ErrDepth } if !evm.CanTransfer(evm.StateDB, caller.Address(), value) { return nil, common.Address{}, gas, ErrInsufficientBalance } // Ensure there's no existing contract already at the designated address // 确保特定的地址没有合约存在 nonce := evm.StateDB.GetNonce(caller.Address()) evm.StateDB.SetNonce(caller.Address(), nonce+1) contractAddr = crypto.CreateAddress(caller.Address(), nonce) contractHash := evm.StateDB.GetCodeHash(contractAddr) if evm.StateDB.GetNonce(contractAddr) != 0 || (contractHash != (common.Hash{}) && contractHash != emptyCodeHash) { //如果已经存在 return nil, common.Address{}, 0, ErrContractAddressCollision } // Create a new account on the state snapshot := evm.StateDB.Snapshot() //创建一个StateDB的快照,以便回滚 evm.StateDB.CreateAccount(contractAddr) //创建账户 if evm.ChainConfig().IsEIP158(evm.BlockNumber) { evm.StateDB.SetNonce(contractAddr, 1) //设置nonce } evm.Transfer(evm.StateDB, caller.Address(), contractAddr, value) //转账 // initialise a new contract and set the code that is to be used by the // E The contract is a scoped evmironment for this execution context // only. contract := NewContract(caller, AccountRef(contractAddr), value, gas) contract.SetCallCode(&contractAddr, crypto.Keccak256Hash(code), code)

兄弟连教育分享区块链入门教程solidity数据结构详解

兄弟连教育分享区块链入门教程solidity数据结构详解 兄弟连教育分享区块链入门教程solidity数据结构详解“区块链+时代无疑会是下一个风口,然而现在的区块链行业专业型人才正在遭遇瓶颈”兄弟连教育区块链培训学院院长尹成表示,“希望能通过兄弟连教育区块链学院为社会为企业培养并输送更多优质的区块链高精尖型技术人才。 1. Solidity数据结构:数组、枚举、映射/字典、结构体 a. 枚举类型(Enums) i. 枚举类型是在Solidity中的一种用户自定义类型。他可以显示的转换与整数进行转换,但不能进行隐式转换。显示的转换会在运行时检查数值范围,如果不匹配,将会引起异常。枚举类型应至少有一名成员。 ii. 与其它编程语言一样、枚举类型默认从0开始 b. 字节数组(fixed byte arrays) i. 定长字节数组:byte1,……,byte32,允许值以步长1递增,默认byte为byte1 1. 运算符: a. 比较:<=,<,==,!=,>=和> b. 位运算符:&,|,(^异或),(~非) 2. 支持下标访问,取值[0,n),n表示长度 3. .length:表示这个字节数组的长度---只读(长度不可变) 4. 内部字节不可变 ii. 动态字节数组: 1. Bytes:动态长度的字节数组,参见数组(Arrays)。非值类型 2. String:动态长度的UTF-8编码的字符类型,参见数组(Arrays)。非值类型 3. 使用原则: a. 如果想要存储UTF-8的字符串数据,使用string,如果想要存储任意长度的字节数据,使用bytes b. 如果长度确定,尽量使用byte1-byte32中的一个,可以节省空间 c. 数组 i. 数组可以声明时指定长度,或者是变长的。对storage的数组来说,元素类型可以是任意的,类型可以是数组,映射类型,数据结构等。但对于memory的数组来说。如果函数是对外可见的,那么函数参数不能是映射类型的数组,只能是支持ABI的类型ii. 声明方式 1. 定长:T[K] 2. 不定长:T[] 3. 二维数组:uint [][5]x a. 注意,在solidity中,多给数组的行列位置和大多数编程语言是相反的 i. uint[3][5]x代表数组X是5行3列 ii. Uint[][5]x代表数组X有5行,每一行的列是一个动态数组

只要你不傻,您绝对能看懂的区块链基础介绍

只要你不傻,您绝对能看懂的区块链基础介绍 最近易创发现网上对区块链感兴趣的人特别多,而本人都是在这个行业里的,就想着怎么能跟大家来分享一下区块链的概念,可是如果把一些代码和算法搬出来,我估计看懂的人没几个,而且读者朋友们也许只是想要知道个大概,当别人问起来的时候好跟别好好掰扯掰扯,以此来显示自己的“学识渊博”,那么今天易创就以一个简单易懂的方式来跟大家讲讲区块链技术。 区块链是 21 世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现出来。本质上,区块链只是一个分布式数据库而已。不过,使它独一无二的是,区块链是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。只有经过其他数据库管理员的同意,才能向数据库中添加新的记录。此外,也正是由于区块链,才使得加密货币和智能合约成为现实。 综而述之,用一个形象的比喻:区块链就是一个去中心化、分布式“记账本”。 想要明白到底什么是区块链,我们可以把区块链分开来理解,这样也许会比较容易一点。 1.区块 让我们从“区块链”中的“区块”谈起。在区块链中,存储有效信息的是区块。 比如,比特币区块存储的有效信息,就是比特币交易,交易信息也是所有加密货币的本质。除此以外,区块还包含了一些技术信息,比如版本,当前时间戳和前一个区块的哈希。 在比特币技术规范中,Timestamp, PrevBlockHash, Hash 是区块头(block header),区块头是一个单独的数据结构。而交易,也就是 Data, 是另一个单独的数据结构。

2.链 本质上,区块链仅仅是一个有着特定结构的数据库,是一个有序,后向连接的列表。 这也就是说,区块按照插入的顺序进行存储,每个块都被连接到前一个块。这样的结构,能够让我们快速地获取链上的最新块,并且高效地通过哈希来检索一个块。 也许看到这里的小伙伴心里会想,这特么什么,一句没看懂。这都怪易创,想着写简单明白一点,但一下笔就成这样了,别着急,下面易创一定改变风格,用段子来表达区块链。下面易创写的段子你绝对能明白。 想来想去,都不知道该如何开头,那么我们就先来考虑一个中心化集中式处理的过程。比如你要在某宝上买一台电脑,交易流程是:你将钱打给支付宝-支付宝收款后通知卖家发货-卖家发货-你确认收货-支付宝把钱打给卖家。 在这整个过程中,虽然你是在和卖家交易,但是这笔交易还牵扯到了除了你和卖家的第三方,即支付宝,你和卖家的交易都是围绕支付宝展开。因此,如果支付宝系统出了问题便会造成这笔交易的失败。 而去中心化的处理方式就要显得简单很多,你只需要和卖家交换钱和手机,然后双方都声称完成了这笔交易,就可以了。 通过这些我们可以看出在某些特定情况下,去中心化的处理方式会更便捷,同时也无须担心自己的与交易无关的信息泄漏。 其实像这样小规模的单线交易并不能把去中心化的好处完全展示出来,设想如果有成千上万笔交易在进行,去中心化的处理方式会节约很多资源,使得整个交易自主化、简单化,并且排除了被中心化代理控制的风险。 去中心化是区块链技术的颠覆性特点,它不需要中心化代理,实现了一种点对点的直接交互,使得高效率、大规模、无中心化代理的信息交互方式成为了现实。

相关主题
文本预览
相关文档 最新文档