🗒️区块链基础

type
status
date
slug
summary
tags
category
icon
password
✅一些区块链基础知识。简单记录,方便回顾。

区块链简介

  1. 区块链定义
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
  1. 什么是公有链?其典型应用场景是什么?
任何人都可以参与试用和维护,参与者多为匿名,信息是完全公开的。
凡是需要公众参与,及最大限度保证数据公开透明的系统;比如数字货币系统、众筹系统、金融交易系统等。
  1. 什么是联盟链?其典型应用场景是什么?
由若干组织一起合作维护,相关信息会得到保护,但不一定要完全管控。
使用在多个成员角色的环境中,可以解决结算问题,降低两地结算的成本和时间,适用于机构间的交易、结算等B2B场景,因此金融行业应用最广泛;比如银行之间的支付结算、企业之间的物流等。
  1. 什么是私有链?其典型应用场景是什么?
不对外开放,仅仅在组织内部使用的系统,信息不公开。
限于企业、机构或者单独个体使用,彼此之间需要透明,但没必要对外公众透明;比如企业的票据管理、财务审计、供应链管理等,或者一些财务管理系统等。
  1. 区块链的主要特点有哪些?
①去中心化:不依赖任何第三方中介机构做信用背书,所有的参与者自己给自己做背书。 ②安全且不可篡改:一个人的账本被攻破,还有其他所有参与者的账本作为备案,要想篡改信息,就必须攻破超过51%参与者的账本。 ③信息公开:记账结果对所有参与者公开,防止中心机构的数据作假。 ④参与者匿名:记账信息公开,但记账人的实际对应人匿名,这也保护了记账人和交易人的信息安全。 ⑤信息可追溯:区块链固话了交易历史,并提供对交易历史的追溯查询,保证交易的不可篡改和不可抵赖。
  1. 请描述区块链的交易流程。
①A创建一个向B转账的交易 ②A将新创建的交易向网络发布,所有接收到交易消息的节点也将交易信息向其他节点传播③接收到交易信息的节点对交易进行校验,如果有效,交易被记录到一个区块中 ④参与节点通过共识机制决定以哪个节点的区块为准进行记账,获得记账权利的节点,将该节点生成的包含该交易的区块向全网进行广播 ⑤收到新区块的节点检查新区块的有效性 ⑥如果新区块校验成功,节点会把新区块记录在自己的账本 ⑦当网络中大部分的节点都确认写入后,这个交易就算成功了。
创建 签名 校验 广播 达成共识 广播 验证 放在自己区块上

区块链加密技术

  1. 什么是信息安全的机密性?
是网络信息不被泄露给非授权的用户、实体或过程,或供其利用的特性;即防止信息泄露给非授权个人或实体,信息只为授权用户使用的特性。
  1. 什么是信息安全的完整性?
是网络信息未经授权不能进行改变的特性;即网络信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性;要求保持信息的原样,即信息的正确生成和正确存储和传输。
  1. 什么是信息安全的可认证性?
确保发送方和接收方声称的身份是真实有效的,防止冒充和重放。
  1. 什么是信息安全的不可抵赖性?
在网络信息系统的信息交互过程中,确信参与者的真实统一性;即所有参与者都不可能否认或抵赖曾经完成的操作和承诺;利用信息源证据可以防止发信方不真实地否认已发送信息;利用递交接收证据可以防止收信方事后否认已经接收的信息。
  1. 什么是数字签名?
数字签名是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
  1. 什么是盲签名?
盲签名是接受者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术。
  1. 什么是群签名?
群签名是一个群体中任意一个成员可以以匿名的方式代表整个群体对消息进行签名的数字签名技术。

比特币

  1. 什么是数字货币的“双花”问题?
即双重支付,指的是在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。
  1. 简述比特币的交易流程(假设Alice转账给Bob)。
①Alice打开自己的比特币钱包 ②Alice获取Bob的比特币地址 ③Alice填写交易账单 ④Alice提交交易账单给钱包 ⑤钱包使用Nick的私钥对交易账单签名 ⑥交易被发送到比特币网络上最近的节点 ⑦矿工将交易打包到下一个要挖掘的区块 ⑧矿工开始挖矿 ⑨获取该块记账权的矿工将新区块传播到网络 ⑩其他节点验证挖矿结果并传播新区块
11Bob看到了第一个确认
12创建每个新区块都会出现新的确认
  1. 简述从账户私钥生成比特币地址的步骤。
私钥经过压缩处理、十六进制处理、椭圆曲线变换得到公钥,公钥经过系列哈希其他处理得到比特币地址。
  1. 什么是比特币的锁定脚本。
放置在输出上面的花费条件,指定了今后花费这笔UTXO必须要满足的条件。
  1. 什么是比特币的解锁脚本。
解锁脚本是一个满足被锁定脚本在一个输出上设定的花费条件的脚本。
  1. 什么是“未花费的交易输出(UTXO)”?
比特币系统中记录着当前每一笔未花费的交易输出;当节点接收到一笔交易信息的时候,它需要去UTXO数据库里查看这笔交易所引起的UTXO是否存在,它的拥有者是不是当前新交易的付款者。
  1. 简述对交易进行签名验证的方法。
①验证软件将复制解锁脚本②检索输入所引用的UTXO③从该UTXO复制锁定脚本④依次执行解锁和锁定脚本⑤如果解锁脚本满足锁定脚本条件,则输入有效
  1. 什么是工作量证明(Proof of Work)?
每一个节点必须要做一定的工作后才能赢得记账权。
  1. 交易优先级的计算公式是什么?
交易优先级=交易UTXO的值(聪)*UTXO的块龄/交易大小(字节)
  1. 什么是“孤块”?
如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。
  1. 为什么会出现“孤块”?
当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。
  1. 什么是区块链分叉?
当两个节点恰好同时抢到了记账权,都能将自己生成的新区块广播网络中;网络上的其他节点就会收到两个合法的新区块,因为网络节点的地域分布不同,所以,不同的节点收到这两个新区块的先后次序就会不同;此时,所有的节点会暂时保留两个新区块,并且把区块链做一个临时的分叉。

以太坊

  1. 什么是以太坊?
一个开源的具有智能合约功能的基于公共区块链的分布式账本;一个可编程的区块链,允许用户创建他们自己的任意复杂的操作,成为了多种不同类型去中心化区块链的平台,包括但是不限于密码学货币;可以用来编程、分散、担保和交易任何事物。
  1. 以太坊核心模块层包含哪项功能模块。
①以太坊虚拟机︰智能合约的运行环境 ②分布式账本:交易、区块、区块校验、回执、状态数据、交易池相关信息 ③共识算法:PoS、DPoS ④共识机制:矿工、代理、CPU挖矿、GPU挖矿 ⑤网络服务︰点对点节点发现及链接服务,区块链同步服务
  1. 什么是以太坊智能合约。
智能合约是存储在区块链节点中的一段代码,代码的逻辑定义了合约的规则。
  1. 以太坊虚拟机的主要作用是什么?
以太坊虚拟机的作用是将智能合约代码编译成可在以太坊上执行的机器码,并提供智能合约的运行环境。
  1. 以太坊虚拟机的主要特点有哪些?
①EVM是一种基于栈的虚拟机,用于编译、执行智能合约; ②EVM是图灵完备的(具有无限存储能力的通用物理机器或编程语言); ③EVM是一个完全隔离的环境,在EVM中运行的代码不能访问网络、文件系统和其他进程,甚至智能合约之间的访问也是受限的; ④智能合约以字节码的格式(EVM bytecode)存在于区块链上; ⑤智能合约通常以高级语言(Solidity )编写,通过EVM编译器编译为字节码,最终通过客户端上载部署到区块链网络中。
  1. 以太坊交易包含哪些数据项?
Nonce,gasPrice,gasLimit,to,Value,v,r,s,init,data
  1. 以太坊转账交易的流程是什么?
①构建原始交易对象 ②签署交易 ③交易经由本地验证 ④发送交易请求 ⑤交易请求验证和广播 ⑥矿工节点接收交易 ⑦记账节点打包交易和执行合约 ⑧区块广播 ⑨区块验证同步
  1. 什么是权益证明(Proof of Stake)?
当我们需要创造一个新区块时,依据算法会按照我们事先设定的比例,把一些币发送给矿工。
上一篇
Python基础
下一篇
区块链进阶
Loading...