📜  15 个常见的区块链面试问题和答案

📅  最后修改于: 2021-10-19 05:32:09             🧑  作者: Mango

区块链是数字加密货币比特币的骨干技术。区块链是一个分布式数据库,记录了参与方之间已执行和共享的所有交易或数字事件的记录。每笔交易都由系统的大多数参与者验证。它包含每笔交易的每条记录。比特币是最受欢迎的加密货币,是区块链的一个例子。

2008 年,一个名为“中本聪”的个人或一群人发表了一份关于“比特币:一种点对点电子现金系统”的白皮书,区块链技术首次曝光。区块链技术记录了分布式账本中的交易网络,从而使其不腐败。土地资产、汽车等任何有价值的东西都可以作为交易记录在区块链上。

1. 您如何向外行解释区块链的概念?

区块链是一种去中心化的技术。它是一个分布式数据库,其中数据存储在块中。这些块相互连接形成一个链,其中每个块都包含一个时间戳并链接到前一个块。区块链网络中的每个节点都会获得整个数据库的副本,并且没有中央机构持有所有数据。

2. 区块链提供哪些功能?

  • 去中心化:区块链是一种去中心化技术。没有管理网络的中央管理机构。相反,每个节点都有一个分类账的副本,每个节点都有助于维护区块链网络。
  • 不可变:存储在区块链中的数据不能被更改或操纵。一旦将交易添加到分类帐中,它就会永久驻留在那里。
  • 安全性:区块链为数据提供安全性,因为它不容易被黑客入侵,我们的意思是它实际上非常艰难,因为数据块只有在超过一半的参与节点验证后才会添加到链中。它使用强大的加密算法,如 SHA-256,可确保另一层安全。
  • Open Ledger:账本是交易完成的记录,因为每个人都可以看到,所以被称为公开账本。网络中的每个节点都有账本的副本。因此,参与者之间存在信任,因为他们可以清楚地检查网络中发生的事情。
  • 共识机制:区块链适用于一些共识协议。共识算法是区块链网络的所有节点就分布式账本的当前状态达成共识的过程。

3. 区块链的共识机制是什么?

共识基本上是一套规范区块链网络的协议。它确保没有重复的区块被添加到链中,并且只有在网络中所有其他节点都同意后才会添加区块。它有助于实现对等节点之间的可靠性和信任。

有不同的共识算法:

  • 工作量证明(PoW)
  • 股权证明(PoS)
  • 经过时间的证明
  • 容量证明
  • 烧伤证明

4. 以太坊和比特币有什么区别?

Bitcoin

Ethereum

Bitcoin was introduced by Satoshi Nakamoto in 2008 Ethereum was introduced in the year 2013 by Vitalik Buterin
Bitcoin is a cryptocurrency Ethereum is also a cryptocurrency but it contains executable codes and smart contract that are used for making DApps 
The average block time is 10 min The average block time is 10-15 sec
Bitcoin is Turing incomplete Ethereum is Turing complete
It uses Proof of Work (PoW) It uses Proof of Work (PoW)
Its native cryptocurrency is Bitcoin (BTC) Its native cryptocurrency is Ether (ETH)

5. 解释工作量证明和权益证明之间的区别。

工作量证明 PoW 是一种共识算法,其中给出了一个谜题或问题。首先解决给定难题的节点获得奖励。并且块在广播后被添加到网络中。它验证交易。任何恶意用户都需要拥有 51% 的计算能力来解决问题,从而添加错误的块。

桩的证明赌注的证明是一个共识算法,其中所述新的块被具有最高的股份或最高硬币节点验证。没有奖励系统,而是验证者收取网络费用。任何恶意用户都需要拥有网络上总资金的 51% 才能添加错误的区块。

6. 有哪些不同类型的区块链?

  • 公共区块链:公共区块链是一个开放的网络,任何人都可以加入网络并进行交易。示例 – 比特币、以太坊、莱特币。
  • 私有区块链:私有区块链是对用户实施一些限制的许可区块链。它不允许每个人都加入网络。此外,分类帐仅对组织的许可用户可见。示例 – 超级账本、多链。
  • 联盟区块链:它就像一个私有或许可的区块链,其中不是一个组织,而是一个以上的组织来管理网络。示例 – 法定人数,Corda。
  • 混合区块链:它是公共和私有区块链的组合。它通过使用两种类型的区块链的特性来提供控制和自由。示例 – 龙链。

7. 什么是智能合约以及它们为何有用?

智能合约是区块链中自动执行的代码行。它们定义了在特定条件下各方之间必须如何处理交易的规则。它基本上是区块链网络的数字合约。

8. 什么是 dApp,它与智能合约有何不同?

DApp 用于与区块链网络或智能合约进行交互。它是一种去中心化的应用程序,用于使用区块链技术实现特定任务或功能。
智能合约定义了要在两个对等方之间完成的交易的规则。它们在满足指定条件时自行执行。

9. 如何将区块添加到区块链中?

区块通过挖矿过程添加到区块链中。进行交易时,会创建相应的块,该块需要首先由网络上一半以上(至少 51%)的节点进行验证。验证后,该块将广播到整个网络,然后添加到区块链中。

10. 什么默克尔树?解释他们的概念。

Merkle 树数据结构也称为二叉哈希树。它有助于验证交易是否可以添加到块中。每笔交易都通过适当的算法进行散列。每个叶节点是交易的散列,非叶节点是其先前散列(子散列)的散列。在末尾(或树的顶部)生成的哈希称为 Merkle 根。

这个默克尔根存储在区块头中。因此,区块头包含 Merkle Root、前一个区块的哈希、时间戳和 Nonce。所有这些都有助于使块防篡改并保持数据的完整性。

比特币和以太坊都使用这种默克尔树结构。

11. 区块链和数据库有什么区别?

Blockchain 

Database

Blockchain is a decentralized network with no central authority. The database is centralized because there is an admin who manages the whole database.
Blockchain is slow in terms of data processing Database is fast
More secure and tamperproof Less secure and prone to hacks
Blockchain provides history to trace back to any transaction The database does not provide any tracing back feature

12. 什么是双花?

一个数字令牌被多次使用的场景,因为令牌通常由一个可以轻松复制的数字文件组成,称为双花。它只会导致通货膨胀,组织必须承担巨大的损失,因为相同的硬币可能被其所有者花费两次。区块链通过在实际交易写入分类账之前由多方确认交易来防止双重支出。

13. 给出区块链的真实用例。

  • 供应链管理:区块链可以降低整个供应链的成本和风险。它还可以提供更高的供应链透明度。
  • 医疗保健:保留患者数据的记录。分类帐技术管理药品供应链,促进患者医疗记录的安全转移。
  • 数字投票:使用区块链技术创建的基于令牌的系统将确保“每人一票不可更改”的系统。
  • 房地产:所有权和所有权详细信息存储在区块链上,从而更容易转移所有权和追踪所有权。
  • 媒体:区块链可以保持数据的完整性,让广告公司能够瞄准合适的客户,让音乐家获得原创作品的适当版税。

14. 区块链架构的组成部分是什么?

  • 节点:区块链架构中的用户/计算机。
  • 交易:它是区块链系统的最小构建块。
  • 块:用于维护一组分发到网络中所有节点的交易。
  • 链:块的序列。
  • 矿工:在添加到区块链结构之前执行块验证过程的特定节点。
  • 共识协议:执行区块链操作的一套规则。

15.什么是51%攻击?

在这种情况下,大多数区块链网络中都存在恶意矿工/攻击者,即超过 50%。他们 尽量防止新交易获得确认,并且还能够撤销已完成的交易;这意味着他们可以双花硬币。