区块链基础知识(一)

合集下载

区块链工程基础知识单选题100道及答案解析

区块链工程基础知识单选题100道及答案解析

区块链工程基础知识单选题100道及答案解析1. 区块链的核心特点不包括()A. 去中心化B. 不可篡改C. 高扩展性D. 安全可靠答案:C解析:区块链的核心特点包括去中心化、不可篡改、安全可靠等,高扩展性不是其核心特点。

2. 区块链中每个区块都包含了()A. 上一个区块的哈希值B. 下一个区块的哈希值C. 随机数D. 所有交易的详细信息答案:A解析:每个区块都包含了上一个区块的哈希值,以此形成链式结构。

3. 以下哪种共识机制耗能较低()A. PoWB. PoSC. DPoSD. PBFT答案:B解析:PoW 耗能较高,PoS 相对耗能较低,DPoS 和PBFT 耗能也低于PoW。

4. 区块链中的智能合约是()A. 一段自动执行的代码B. 一种法律合同C. 人工审核的合约D. 纸质合同的数字化版本答案:A解析:智能合约是一段部署在区块链上能自动执行的代码。

5. 区块链1.0 时代的主要应用是()A. 数字货币B. 智能合约C. 去中心化应用D. 跨链技术答案:A解析:区块链1.0 时代主要以数字货币为代表应用。

6. 以下哪个不是区块链的分类()A. 公有链B. 私有链C. 联盟链D. 混合链答案:D解析:常见的区块链分类为公有链、私有链和联盟链。

7. 区块链中用于确保交易合法性的是()A. 加密算法B. 共识机制C. 哈希函数D. 数字签名答案:D解析:数字签名用于确保交易的合法性和不可否认性。

8. 比特币使用的区块链技术属于()A. 公有链B. 私有链C. 联盟链D. 以上都不是答案:A解析:比特币的区块链是典型的公有链。

9. 区块链中的分叉分为()A. 硬分叉和软分叉B. 前向分叉和后向分叉C. 左分叉和右分叉D. 以上都不是答案:A解析:区块链中的分叉主要分为硬分叉和软分叉。

10. 区块链中的哈希函数具有()A. 单向性B. 双向性C. 随机性D. 可预测性答案:A解析:哈希函数具有单向性,即从输入计算输出容易,但从输出反推输入几乎不可能。

区块链面试题目大全简单(3篇)

区块链面试题目大全简单(3篇)

第1篇一、基础知识1. 请简述区块链的定义及其核心特点。

2. 区块链的三个关键技术分别是什么?3. 请解释什么是挖矿?4. 区块链的共识机制有哪些?5. 什么是工作量证明(PoW)?6. 什么是权益证明(PoS)?7. 什么是拜占庭容错(BFT)?8. 请简述区块链的数据结构。

9. 区块链的四大功能是什么?10. 区块链有哪些应用场景?二、技术实现1. 请简述比特币的区块结构。

2. 请解释区块链的挖矿过程。

3. 请解释区块链的共识机制。

4. 请简述工作量证明(PoW)的原理。

5. 请简述权益证明(PoS)的原理。

6. 请简述拜占庭容错(BFT)的原理。

7. 请解释区块链的数据结构。

8. 请简述区块链的四大功能。

9. 请简述区块链的应用场景。

10. 请解释智能合约的概念。

三、开发与部署1. 请简述区块链开发的基本流程。

2. 请简述区块链部署的基本流程。

3. 请简述区块链开发中的常见问题及解决方案。

4. 请简述区块链部署中的常见问题及解决方案。

5. 请简述区块链开发中的性能优化方法。

6. 请简述区块链部署中的性能优化方法。

7. 请简述区块链开发中的安全性保障措施。

8. 请简述区块链部署中的安全性保障措施。

9. 请简述区块链开发中的可扩展性设计。

10. 请简述区块链部署中的可扩展性设计。

四、应用案例1. 请简述比特币的原理和应用。

2. 请简述以太坊的原理和应用。

3. 请简述供应链管理在区块链中的应用。

4. 请简述金融服务在区块链中的应用。

5. 请简述版权保护在区块链中的应用。

6. 请简述身份认证在区块链中的应用。

7. 请简述物联网(IoT)在区块链中的应用。

8. 请简述去中心化存储在区块链中的应用。

9. 请简述去中心化身份认证在区块链中的应用。

10. 请简述去中心化金融(DeFi)在区块链中的应用。

五、安全与隐私1. 请简述区块链的安全机制。

2. 请简述区块链的隐私保护机制。

3. 请简述区块链的防篡改机制。

区块链理论题及答案 (1)

区块链理论题及答案 (1)

区块链理论题及答案01.单选题 (2分)烟草溯源的根本原因是产业链太过庞大卷烟数据信息收集处理机制不畅()A. 对(正确答案)B. 错02.单选题 (2分)每一区块数据对象中只能包含一个事务数据对象,这个事务对象包括属性类的实体数据对象,还包括事务的业务逻辑,即合约数据对象。

()A. 对B. 错(正确答案)03.单选题 (2分)在部署合约的时候我们会在部署代码中有一个参数是gas,我们可以将它改为0 ()A. 对(正确答案)B. 错04.单选题 (2分)我们用remix写完solidity合约后在部署合约的代码中有一个data数据,这个data数据是这个交易的输出数据,也是用来创建合约的EVM字节码()A. 对B. 错(正确答案)05.单选题 (2分)基于互联网产品,以最低预算,最优路径,最高效执行,最有效手段吸引大批用户,建立产品在市场上竞争壁垒,并最终促进产品在市场上盈利的智能岗位是用户运营()A. 对B. 错(正确答案)06.单选题 (2分)配置数据对象和区块链核心数据对象共同构建了区块链运行所需的基础数据基础。

()A. 对(正确答案)B. 错07.单选题 (2分)每一区块数据对象中只一个事务数据对象,每个事务对象包括属性类的实体数据对象,还包括事务的业务逻辑,及合约数据()A. 对B. 错(正确答案)08.单选题 (2分)比特币钱包可以生成许多钱包地址,所有的比特币地址的余额都会整合到这一个钱包中。

(AA. 对(正确答案)B. 错09.单选题 (2分)哈希摘要上链主要用于文件上链的场景,特别适合大文件的上链()A. 对(正确答案)B. 错10.单选题 (2分)以太坊的账户分为外部拥有账户和合约账户,与比特币中的UTXO 相似()A. 对(正确答案)B. 错11.单选题 (2分)pow工作量证明的实质就是通过SHA256算法计算一个数值,然后再次通过SHA256将该区块哈希计算出来,从而出块成功,那么这个数值在区块体中的专业术语被称为什么? ()A. 难度值B. 区块哈希C. 随机数(正确答案)D. 时间戳12.单选题 (2分)比特币pow工作量证明在计算随机数(nonce)最常用的技术中是以下哪个算法? ()A. 椭圆曲线加密算法B. 对称加密算法C. 非对称加密算法D. SHA256(正确答案)13.单选题 (2分)比特币截止目前为止使用的是以下哪种共识机制来挖矿? ()A. posB. dposC. pow(正确答案)D. poa14.单选题 (2分)在区块链中公钥加密私钥解密的这个技术专业术语叫做什么? ()A. 对称加密B. 非对称加密(正确答案)C. 轴对称加密D. 空间对称加密15.单选题 (2分)在区块链中我们通过什么技术使得某些数据只给特定的人看? ()A. 公钥加密私钥解密(正确答案)B. 私钥加密公钥解密C. 公钥加密公钥解密D. 私钥加密私钥解密16.单选题 (2分)区块链数据按照数据对象可以将其分为以下哪6种? 1.账户数据2.区块数据3.事情数据4.事务数据5.实体数据6.实用数据7.合约数据8.配置数据()A. 1,2,3,5,7,8B. 1,2,4,5,7,8(正确答案)C. 1,2,4,6,7,8D. 1,2,3,6,7,817.单选题 (2分)以太坊编辑器remix下的Environment,在这个环境选择JavascriptVM ,那么这个环镜的作用是? ()A. 连接自定义的节点B. 连接MetaMask提供的环境C. 连接本地的虚拟环境D. 提供JavaScript虚拟机环境(正确答案)18.单选题 (2分)在我们开发dapp的时候使用的编辑器是remix,那么与以太坊主链或测试链交互使用的是哪款浏览器插件? ()A. MetaMask(正确答案)B. TronLinkC. AlgoSignerD. MetaMsk19.单选题 (2分)在部署合约的时候我们会在部署代码中使用var simplestorageContract =web3.eth.contract构造一个函数,那么它的参数被我们称为什么? ()A. APIB. ABI(正确答案)C. AOID. ACI20.单选题 (2分)在以太坊公链下进行部署合约那么部署代码是用什么语言进行书写? ()A. Javascript(正确答案)B. JavaC. solidityD. go21.单选题 (2分)()是矿工创建的,主要是为了奖励矿工为了进行POW挖矿而付出的努力。

区块链技术入门及应用实践

区块链技术入门及应用实践

区块链技术入门及应用实践一、什么是区块链技术区块链技术是利用点对点的网络结构和密码学的方法实现数据传输和处理的新型技术。

它是一种分布式、去中心化的数据库技术,可以实现任何形式的数据传输和存储,且所有数据都是透明、公开和不可篡改的。

区块链技术是将数据整合成数据块并通过加密和验证技术链接起来。

每个块都包含了前一个块的哈希值,这样每个块都连接在一起,形成一个区块链。

由于区块链技术的去中心化特性,数据的验证和存储可以通过网络中的多个节点来实现,保证了数据的安全性和不可篡改性。

二、区块链技术的应用1. 数字货币比特币是区块链技术最早的应用之一。

它是一种去中心化的数字货币,通过区块链技术实现安全的转账和交易。

2. 智能合约智能合约是一种基于区块链技术的可编程合约,可以自动执行合约条款。

它可以用于电子商务、金融、物流等领域的合约处理和管理。

3. 去中心化应用区块链技术可以实现分布式应用的构建。

去中心化应用可以避免单点故障和数据泄露问题,同时可以保护用户数据的隐私性。

4. 物联网区块链技术可以用于物联网设备之间的安全通信和数据交换。

通过区块链技术,可以实现设备之间的安全验证和数据共享。

5. 防伪溯源利用区块链技术可以实现产品的防伪和溯源。

每个产品可以被标记为唯一的数字标识,这个标识可以被写入区块链上,从而可以通过区块链实现追踪和验证。

三、如何学习和应用区块链技术1. 学习学习区块链技术需要掌握一定的计算机基础知识。

首先需要了解密码学、分布式系统和网络安全等方面的知识。

之后可以学习区块链技术的原理和实现,了解区块链的数据结构、算法、共识机制等核心知识。

2. 应用要应用区块链技术,需要先确定需要解决的具体问题和目标。

对于不同的行业和场景,需要根据具体的需求进行技术的选择和应用。

应用区块链技术需要考虑技术的成本和可行性,同时需要遵守相关的法规和规范。

四、总结区块链技术是一种新型的分布式数据库技术,可以实现多种数据传输和存储的需求。

区块链金融基础知识

区块链金融基础知识

区块链金融基础知识区块链金融基础知识随着数字经济的发展,区块链技术在金融领域的应用越来越广泛。

区块链金融作为一种新兴的金融模式,正在逐渐改变着传统金融的格局。

那么,什么是区块链金融?它有哪些基础知识呢?一、什么是区块链金融?区块链金融是指利用区块链技术来实现金融业务的一种新型金融模式。

它通过去中心化、不可篡改、安全可靠等特点,实现了金融交易的高效、透明和安全。

区块链金融可以应用于多个领域,如数字货币、智能合约、供应链金融等。

二、区块链金融的基础知识1. 区块链技术区块链技术是区块链金融的基础。

它是一种去中心化的分布式数据库技术,通过多个节点的共同验证和维护,实现了数据的安全可靠和不可篡改。

区块链技术的核心是区块,每个区块包含了多个交易记录和上一个区块的哈希值,形成了一个不可篡改的链式结构。

2. 数字货币数字货币是区块链金融的重要应用之一。

它是一种基于区块链技术的加密货币,具有去中心化、匿名性、不可篡改等特点。

比特币是最早的数字货币,目前已经成为了全球范围内的数字货币标准。

3. 智能合约智能合约是区块链金融的另一个重要应用。

它是一种基于区块链技术的自动化合约,可以自动执行合约条款,实现交易的自动化和去中心化。

智能合约可以应用于多个领域,如金融、物流、医疗等。

4. 供应链金融供应链金融是区块链金融的另一个应用领域。

它是一种基于区块链技术的金融服务,可以为供应链上的各个环节提供融资、结算、风险管理等服务。

供应链金融可以提高供应链的效率和透明度,降低融资成本和风险。

三、总结区块链金融是一种新型的金融模式,它利用区块链技术实现了金融交易的高效、透明和安全。

区块链金融的基础知识包括区块链技术、数字货币、智能合约和供应链金融等。

随着数字经济的发展,区块链金融将会在更多的领域得到应用,成为数字经济发展的重要推动力量。

区块链选拔考试试题

区块链选拔考试试题

区块链选拔考试试题区块链选拔考试试题区块链技术作为一种去中心化的分布式账本技术,正逐渐在各个行业得到广泛应用。

为了选拔具备优秀区块链技术能力的人才,下面是一些区块链选拔考试试题,希望能够帮助大家更好地了解和掌握区块链技术。

一、基础知识题1. 什么是区块链?请简要描述其基本原理和特点。

2. 区块链中的“去中心化”是指什么?为什么去中心化是区块链的核心特点之一?3. 区块链中的“共识机制”是什么?请列举几种常见的共识机制,并比较它们的优缺点。

4. 区块链中的“智能合约”是什么?请简要描述其作用和实现原理。

5. 区块链技术有哪些应用场景?请列举几个具体的应用案例,并阐述区块链在这些场景中的优势。

二、技术实践题1. 请使用Solidity语言编写一个简单的智能合约,实现一个简单的投票系统。

要求包括投票人注册、投票、查询投票结果等功能。

2. 假设有一个区块链网络,包含三个节点A、B、C。

节点A向节点B发送一笔交易,交易金额为10个比特币。

请描述该笔交易在区块链网络中的传播和确认过程。

3. 请设计一个区块链应用,实现商品溯源功能。

要求能够记录商品的生产、流通和销售等信息,并保证信息的真实性和不可篡改性。

4. 请简要描述区块链技术在金融领域的应用,并分析其对金融行业的影响和挑战。

5. 区块链技术在保护个人隐私方面有何优势?请结合实际案例进行说明。

三、综合分析题1. 区块链技术的发展前景如何?请分析其优势和局限性,并对未来的发展趋势进行预测。

2. 区块链技术与传统数据库技术相比,有何优势和不足之处?请结合实际案例进行分析。

3. 区块链技术的安全性如何保障?请列举几种常见的安全攻击方式,并提出相应的防范措施。

4. 区块链技术在解决社会信任问题方面有何作用?请结合实际案例进行说明。

5. 区块链技术在政府治理中的应用前景如何?请提出相应的建议和措施。

通过以上试题,我们可以考察考生对区块链技术的理解和应用能力。

希望这些试题能够帮助大家更好地了解和掌握区块链技术,为区块链行业的发展培养更多的人才。

区块链基础知识点整理

区块链基础知识点整理

区块链基础知识点整理一、区块链技术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(分布式系统状态同步协议)JXTA4.使用HASH算法及非对称加密及签名技术每个节点、每个人有唯一的一对公钥及私钥公钥同时也是每个节点、个人的地址和账号私钥是证明”我就是我“的唯一手段HASH算法对数据进行规整5.算法RSA、Elgamal、D-H、ECCSHA256、RIMPED1606.通常使用椭圆曲线算法生成密钥对比特币密钥长度:256位公钥哈希值=RIMPED160(SHA256(公钥))比特币地址=1+Base58(0+公钥哈希值+校验码)校验码=前四字节(SHA256(SHA256(0+公钥哈希值)))7.加密发送方使用接收方的公钥加密数据接收方使用本方的私钥解密数据通常使用本方面交换对称加密的Key8.签名发送方使用HASH算法计算数据的HASH值发送方使用本方的私钥加密HASH值,得到签名接收方使用HASH算法计算数据的HASH值接收方使用发送方的公钥解密签名得到发送的HASH值比较两个HASH值的一致性9.参考ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。

区块链基本知识

区块链基本知识

区块链基本知识1. 区块链概述区块链技术是一种革命性的分布式数据库技术,它通过去中心化、加密安全、不可篡改和可追溯性等特性,为众多领域带来了前所未有的信任和透明度。

其核心概念是将数据打包成一个个区块,并按照一定顺序连接起来形成链式结构,每一个区块中都包含了一定数量的交易记录或其他数据信息。

在区块链系统中,数据的存储、维护和更新是由网络中的多个参与者共同完成的。

这种去中心化的特点使得区块链具有较高的抗篡改性,因为攻击者很难同时篡改多个区块中的数据。

由于每个区块都包含了前一个区块的哈希值,因此一旦某个区块的数据被篡改,其后的所有区块的哈希值都将发生变化,这使得篡改行为很容易被发现。

区块链技术最初是为比特币这种加密货币而设计的,用于确保交易的安全和透明。

它的潜力远远超出了金融领域,已经被应用于供应链管理、物联网、版权保护、医疗保健等多个行业。

通过智能合约等功能,区块链还可以实现复杂的业务流程自动化和优化。

区块链技术以其独特的优势和广泛的应用前景,正在改变着我们的生活和社会。

1.1 什么是区块链区块链是一种分布式数据库技术,它通过将数据以区块的形式链接在一起,形成一个不断增长的链式结构。

每个区块都包含一定数量的交易记录,并通过加密算法和共识机制确保数据的安全性和不可篡改性。

区块链技术最初是为比特币而设计的,但现在已经发展成为一种广泛应用于各种领域的通用技术。

去中心化:区块链网络中的节点不需要中央机构进行协调和管理,而是通过分布式共识机制来达成一致。

这使得区块链具有高度的去中心化特性,降低了单点故障的风险。

数据不可篡改:区块链中的每个区块都包含了前一个区块的哈希值,这使得一旦有区块被篡改,其后的区块将无法通过验证。

区块链的数据具有很高的抗篡改性。

智能合约:区块链上的交易可以通过智能合约自动执行,无需第三方介入。

智能合约是一段可编程的代码,当满足特定条件时,会自动执行相应的操作。

加密货币:区块链技术最初是为了支持比特币等加密货币的发展而诞生的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、区块链技术
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密钥短的优点是非常明显的,随加密强度的提高,密钥长度变化不大。

DH Diffie-Hellman算法(D-H算法),密钥一致协议,是由公开密钥密码体制的奠基人Diffie 和Hellman所提出的一种思想。

简单的说就是允许两名用户在公开媒体上交换信息以生成”一致”的、可以共享的密钥。

换句话说,就是由甲方产出一对密钥(公钥、私钥),乙方依照甲方公钥产生乙方密钥对(公钥、私钥)。

以此为基线,作为数据传输保密基础,同时双方使用同一种对称加密算法构建本地密钥(SecretKey)对数据加密。

这样,在互通了本地密钥(SecretKey)算法后,甲乙双方公开自己的公钥,使用对方的公钥和刚才产生的私钥加密数据,同时可以使用对方的公钥和自己的私钥对数据解密。

不单单是甲乙双方两方,可以扩展为多方共享数据通讯,这样就完成了网络交互数据的安全通讯!该算法源于中国的同余定理——中国馀数定理。

三、区块链化数据库
1. 典型特征
去中心化的、分布式的、区块化存储的数据库
区块(Header + Body)

随机数
时间戳
包含父区块创建之后、本区块创建之前的全部交易;
满足某个条件的区块HASH;
a) SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET
b) Target值由动态的难度系数确定,Target越小,难度越高;
2. 参考
默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成。

最下面的大量的叶节点包含基础数据,每个中间节点是它的两个子节点的哈希,根节点也是由它的两个子节点的哈希,代表了默克尔树的顶部。

默克尔树的目的是允许区块的数据可以零散地传送:节点可以从一个源下载区块头,从另外的源下载与其有关的树的其它部分,而依然能够确认所有的数据都是正确的。

默克尔树协议对比特币的长期持续性可以说是至关重要的。

在2014年4月,比特币网络中的一个全节点-存储和处理所有区块的全部数据的节点-需要占用15GB的内存空间,而且还以每个月超过1GB的速度增长。

简化支付确认(SPV)协议允许另一种节点存在,这样的节点被成为“轻节点”,它下载区块头,使用区块头确认工作量证明,然后只下载与其交易相关的默克尔树“分支”。

这使得轻节点只要下载整个区块链的一小部分,就可以安全地确定任何一笔比特币交易的状态和账户的当前余额。

四、记账权竞争及奖励制度(挖矿)
1. 概述
为防止可预期的记账节点被控制或攻击,导致错误记账行为,区块链技术采用竞争记账权的做法:
任何一个节点均可以参与记账,因而记账节点无法预期,也就不容易被控
竞争的过程就是看谁最先计算出满足条件的HASH值
每次计算必须以最后1个有效的区块为起点,必须消耗大量的计算机CPU,增加伪造记账数
据的成本
计算的结果必须得到大部分节点的认可(共识算法),才会成为新的区块。

实际算法中,如
果该区块位于最长的区块链上,则为正式被认可的区块,也即大部分节点认可计算结果,并
愿意在该结果下继续计算
这个过程被称为挖矿,或工作量证明(POW)。

参与挖矿的节点称为矿工,协同挖矿的矿工
联合体称为矿池
a ) 以前1区块为起点,计算满足条件的HASH值;
b ) 将计算的结果广播给其他节点;
c ) 其他节点验证计算结果无误时,认可该结果,并以该结果为起点重新进行计算;
d ) 单位时间内达到共识认可要求时,该区块成为正式认可的区块。

这个过程被称系统为鼓励挖矿的积极性,给予竞争成功的记账节点奖励
a ) 给予每个区块挖矿者直接的“现金”奖励。

例如,比特币网络给予25个比特币,以太坊给
予5个以太币;
b ) 以太坊:纳入该区块的交易的手续费,由发起节点和记账节点分成(发起75%,记账25%)。

2. 参考
比特币使用的SHA256算法,会有2^256种输出,如果我们进行2^256+1次输入,那么必然
会产生一次碰撞;甚至从概率的角度看,进行2^130次输入就会有99%的可能发生一次碰撞。

不过我们可以计算一下,假设一台计算机以每秒10000次的速度进行哈希运算,要经过
10^27年才能完成2^128次哈希!这时要考虑一种情况:如果同时有两个矿工各自得到一个
正确答案,并各自生成了一个区块广播出去会发生什么呢?这时候在区块链上同一个位置就
有了两个区块,所谓的“分叉”就出现了。

分叉是绝对不允许的,所以当矿工发现区块链分叉
之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。

这里的长短,不是简单意义
上的长短,而是工作量证明合计值最大的那个链。

OGC网游区块链游戏产业生态平台,将形成流量价值循环。

缺少开发商中心化控制,玩家行使
话语权,打破玩家与开发商权益不平衡状态,让游戏玩家的权益得到最强有力的保障。

相关文档
最新文档