2020年6月22日16:21:41
1.区块是什么
区块是一组数据的存放容器,区块链中的数据只能定义在此容器中。通过父区块指针,与其他区块链接成了一条可无限增长的链条。
2、如今比较出门的区块链
比特币
以太坊
EOS柚子
steam
CKB
NEO
超级账本
瑞波 Eipple
R3 corda
IOTA
波场 TRON
3、如何修改一个区块链的数据?
以往之前,默认区块链是不能修改的(区块的内容修改,哈希值就会变)
但如今可编辑区块链出来了,有这个需求。使用变色龙哈希染色技术,哈希函数存在陷门,可以使得内容修改,但是哈希内容不变。
4、区块链的技术特点:
去中心化
不可篡改
公开透明
分布式账本
5、使用区块链的好处:
不可篡改数据
无需第三方可信中心
用户匿名
节省成本
6、双花交易是什么?
双重支付——同一笔资产被使用多次——是一种攻击
7、merkle树是什么
默克尔树是哈希树,使用树结构来保存数据块。
一组数据修改,就会引起root的变化。
并且,只需要知道树中的一部分数据,就可以验证一组数据中是否存在某项数据。
8、为什么说区块链技术可信?
- 开源:容易与其他业务应用程序兼容。
- 安全:已经被黑客证明和加密的。
- 去中心化:没有中央机构控制。
- 分布式共识:所有参与者同意交易如何写入区块。
- 不可篡改:交易一旦上链,则无法更改。
- 可信:自带时间戳服务,可以信任在历史的某刻发生的事情。
9、DAO是什么?
DAO 分布式自治组织(全名 Decentralized autonomous organization),有时也被称为分布式自治公司(DAC),是个公开透明的计算代码来体现组织。
它的自治规则,被编码成智能合约运行在去中心化的区块链系统中。该自治规则公开透明,受股东控制,但不受政府机构的影响。
关于 DAO 自治过程内容均保持在区块链中,在去中心的区块链中人们可以通过组合等方式交换价值。是否愿意交换价值(如股票)可以由自行决定,是一种权利下放的自治组织。参与者不再局限于人,可以是机器人、智能设备等等。你可以让设备与设备通信,自动控制办公室大门的关闭与否和进出权限。而整个过程都可以自动运行。
10、BIP、EIP是什么
BIP是改进比特币提案,EIP是改进以太坊提案。
任何人都可以向社区发出自己的提案,只是需要按照一定的格式提交。区块链各种功能改进与升级都是通过提案的方式管理的。
11、分叉
硬分叉:不向前兼容的分叉,旧版本不会接受新版本区块
软分叉:向前兼容
12、全节点
拥有完整区块链账本的节点
13、比特币是如何运行的?
从用户的角度来看,比特币就是一个手机应用或电脑程序,可以提供一个个人比特币钱包,用户可以用它支付和接收比特币。
在幕后,整个比特币网络共享一个称作“块链”的公共总帐。这份总帐包含了每一笔处理过的交易,使得用户的电脑可以核实每一笔交易的有效性。每一笔交易的真实性由发送地址对应的电子签名保护,这使得用户能够完全掌控从他们自己的比特币地址转出的比特币。另外,任何人都可以利用专门硬件的计算能力来处理交易并为此获得比特币奖励。这一服务经常被称作“挖矿”。
14、比特币如何产生
新的比特币通过“挖矿”产生,“挖矿”是一个具有竞争力和去中心化的过程。这一过程包括个人为比特币网络服务,并因此得到回报。比特币的矿工使用专用的硬件处理交易和保护比特币网络,并在交易时收集新的比特币。
比特币协议的设计方式是以固定的速率发行新的比特币。任何行为如不符合该系统要求遵循的规则,都将被全世界任何一个比特币节点所拒绝。
比特币以一个可预测的逐步下降的速率发行。新产生的比特币数量会逐年减半,直到比特币的总数达到 2100 万个。到那时,比特币矿工也许只能通过大量的小额交易手续费来支持。
15、比特币与以太坊的有哪些不同之处?
16、coinbase交易是什么
Coinbase 交易是指区块的第一笔交易。
只有本区块矿工才有权限创建的一种独特交易。
矿工使用它来收集其工作的挖矿奖励,矿工收取的任何其他交易费用也将在此交易中发送。
17、在以太坊中创建账户时输入的密码是什么用途?
通过密码将账户随机生成的私钥加密存储在 keystore 中,通过密码才能从 keystore 文件中解密出账户私钥,才能用于签名交易。
即使 keystore 文件泄露,也能从一定程度上保护账户安全性,这取决于密码的复杂度。
18、有哪些方式可以在本地快速搭建以太坊测试私有链?
- 使用 ganache 图像工具
- ganache-cli 命令行工具
- geth --dev 启动模式
19、有哪些方式查看一笔以太坊交易的详细信息?
常见的查看途径有:
- 发送者的钱包
- 通过以太坊节点 API:eth_getTransaction(hash) 获取
- 在以太坊浏览器 https://etherscan.io/ 中查看
20、如果私钥丢失,是否有办法恢复以太坊账户?
是有可能的,如果用户的私钥是使用助记词生成时,则可以利用助记词恢复私钥。
21、 在以太坊中如何取消一笔已广播的交易?
交易不一定能成功取消掉,但可以尝试取消。
具体做法是:重新签名一笔交易,交易的接收方是自己,转账零个以太币,最重要的是交易的 Nonce 值需要保证和待取消交易的 Nonce 相同,且交易的 gasPrice 要大于待取消交易的。
这样,如果当待取消交易没有被矿工处理时,矿工在接收到新交易时,将会丢弃旧交易。
22、IPFS 和 Swarm 的区别是什么
相同点:
- 点对点
- 通过文件内容的哈希值对文件进行寻址
- 去中心化文件存储系统
- 可用于存储(任意)静态文件
不同之处:
IPFS:是一种点对点分布式文件系统。有某些方面,IPFS 和 Web 相似,提供了具有内容寻址超链接的高吞吐量内容寻址存储模型。可以构建版本化的文件系统。
Swarm: 分散的数据存储和分发,是点对点数据共享网络。分发数据时必备托管任何类型的服务器,数据可访问性和位置无关。
23、智能合约是什么?
智能合约(英语:Smart contract,智能合同)是一种“执行合约条款的计算机交易协议”的特性协议,在区块链内制定合约时使用。当中内含了合约函数,亦能与其他合约进行互动、做决策、储存资料及传送以太币等功能。
智能合约提供验证及执行合约内所订立的条件, 智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。智能合约概念于 1994 年由一名身兼计算机科学家及密码学专家的学者尼克·萨博首次提出。
24、什么是 ERC20 ?
ERC20 是一个 Token 标准,描述了必须在以太坊 Token 合约中实现的不同功能和事件。
为了满足 ERC20 标准,接口合约定义了一组必要的功能和事件。
25、常见的智能合约漏洞是什么?
因为合约一旦部署,就是一成不变的。因此智能合约无任何缺陷是非常重要的。它必须能安全地抵抗可能的攻击。下面是开发人员必须要评估可能的主要风险和漏洞。
26、什么是拜占庭算法?
拜占庭容错是一个定义容许属于拜占庭将军问题失败类别的系统的特性。拜占庭故障(Byzantine Failure)是失效模式中最困难级别的。 拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。
拜占庭容错协议必须处理这些失效,并且这些协议还要满足所要解决的问题要求的规范。这些算法通常以其弹性 t 作为特征,t 表示算法可以应付的错误进程数。很多经典算法问题只有在 n ≥ 3t+1 时才有解,如拜占庭将军问题,其中 n 是系统中进程的总数。
拜占庭容错能够容纳将近 1/3 的错误节点误差,如超级账本(Hyperledger)就是使用了该算法作为共识算法。
解决拜占庭问题的一个常用算法是:实用拜占庭容错算法(PBFT,Practical Byzantine Fault Tolerance)。