介绍
区块链技术是一种分布式账本,它维护交易信息是加密的、不可变的或不可修改的记录(称为区块)。
区块链是包含信息的区块链。每个块都包含最近交易的日志。完成后,它被添加到区块链中。当一个区块完成时,就会产生一个新的区块。
.png)
区块链可用于安全地转移资金、财产和合同,而不需要像银行或政府这样的第三方中间人。区块链是一种软件协议,但如果没有互联网(如电子邮件中使用的 SMTP),它就无法运行。
在本文中,您将了解区块链技术、其关键要素以及您必须了解的常见面试问题。那么,让我们开始吧。
区块链的关键要素
分布式账本系统
分布式账本及其不可变的交易日志可供所有网络成员使用。这种共享分类账允许同时记录交易,减少传统业务网络常见的重复工作。
不可变记录
交易记录在共享账本中后,任何参与者都不能更改或操纵它。如果交易记录有错误,则必须添加新交易来纠正它,然后两个交易都必须可用。
智能合约
一组被认为是智能合约的规则记录在区块链上并自动实施以加速交易。智能合约可以设定转让公司债券的标准,规定旅行保险的支付条款等等。
区块链技术面试题
以下是您可能想知道的一些常见面试问题。
1. 什么是密码学?它在区块链中起到什么作用?
使用密码学和哈希函数,区块链保护用户身份并确保交易的安全性。使用公钥和私钥,密码学加密和解密数据。公钥可以与区块链网络上的所有比特币用户共享,而私钥(类似于密码)是隐藏的。
.png)
区块链采用 SHA-256,一种为每个输入生成唯一哈希的安全算法。该算法最重要的特点是它从每个输入创建一个 64 字符的标准化字母数字输出。它是一种单向函数,可以从输入中导出加密值,但反之则不行。
2. 区块链有哪几种类型?
区块链分为三种类型:公共、私有和联盟。
公共区块链分类账可供所有互联网用户使用;每个用户都可以验证并向区块链贡献一个交易块。实例包括比特币和以太坊。
互联网用户可以使用私有区块链分类账,但组织内唯一的授权人员可以分析和添加交易。它是一个许可的区块链,虽然信息是公开的,但信息控制器是在业务内部预定义的,特别是 blockstack。
在联盟区块链中,只有指定的节点管理共识程序。但是,所有区块链联盟参与者都可以查看分类账。例如,瑞波币。
3. 以太坊区块链和比特币区块链有什么区别?
区块链是一个点对点的分布式网络。它允许对等点存储不可变且透明的数据。比特币和以太坊采取的方法彼此不同。以太坊作为第二代区块链技术,几乎在所有方面都优于比特币。
潜在的差异是他们如何旨在应对行业挑战。比特币是数字货币,但以太坊关注的是智能合约。以太坊的权益证明 (PoS) 共识方法比比特币的工作量证明 (PoW) 更节能。此外,这使得以太坊比比特币更具可扩展性。
4. 区块链的关键属性是什么?
区块链有几个关键属性:
作为一种数据结构:区块链可以存储多种数据,如身份信息、保险、医疗记录等。
检测篡改:一旦数据被放到区块链上,它就是不可变的。这为区块链提供了检测篡改的特性。
保护数据:由于数据所有者是源对等方,因此源全权负责数据保护。此外,没有第三方参与者意味着它是安全的并提供最高级别的数据安全性。
去中心化账本技术:区块链最关键的方面是其去中心化账本技术。它有几个适用于公共和私人实体的应用程序。
提高用户匿名性:与其他传统网络相比,用户被相当隐蔽。
双花:使用共识算法和分布式账本技术,区块链解决了包括双花在内的问题。
5. 什么样的数据可以存储在区块链中?
由于区块链作为一种数据结构发挥作用,它可以用于存储所有类型的数据。行业可以有效地使用区块链记录类型,因为它们可以充分利用其优势。以下是可能存储在区块链上的最常见的记录和数据类型:
身份管理
事务处理
文档
病历
管理活动
商业交易
6. 什么是默克尔树?Merkle 树在区块链中的重要性是什么?
Merkle Tree,也称为哈希树,是一种密码学数据结构,其中每个叶子节点都是一个数据块的哈希值,每个非叶子节点都是其子节点的哈希值。
当使用区块链中的默克尔树时,“轻客户端”无需下载每笔交易和每一个区块,只需下载区块头链即可。

另外,如果用户需要确认某个区块中某笔交易的存在,他不需要下载整个区块。从这个树的一个分支下载一个包含这个事务的集合就足够了。我们检查当前上升分支的哈希(与我的交易相关)。如果两个哈希值都有效,那么我们就知道有问题的交易存在于这个块中。
7. 区块链与银行账本有区别吗?
银行和会计系统使用分类账来记录交易并加盖时间戳。相比之下,区块链是完全去中心化和开源的。个人不需要依赖或信任中央银行来监控交易。点对点区块链技术可以追踪所有交易,而不会丢失或删除交易。
此外,由于其开源性质,区块链比中央银行分类账更具通用性和可配置性。如果程序员需要区块链上的新功能,他们可以通过共识在当前软件之上进行开发。由于中央银行存在多项限制和单点故障,这对中央银行来说是一个挑战。
8. 列出区块链项目实施所涉及的阶段。
需求识别:
识别问题和目标
确定最优共识过程
确定最佳平台
与安装和部署相关的成本
策划阶段:
在此阶段,一个人评估所有要求并选择合适的区块链平台进行实施。
项目的开发和实施:
开发架构
设计用户界面
开发 API
控制和监督项目:
实施概念验证 (POC)
识别和解决问题
9.什么是Solidity函数修饰符?提及最流行的修饰语。
在 Solidity 中,函数修饰符会立即改变智能合约函数的行为。简单地说,它可能会提供新的能力或对智能合约的功能施加限制。Solidity 中最流行的函数修饰符包括:
View 是一个不可修改的功能,不能改变智能合约的条件。这些是只读方法。
既不读取也不写入智能合约条件的纯函数。无论输入值如何,它们都会返回相同的输出。
10. 区块链分布式账本与传统账本有什么区别?
区块链分布式账本比传统账本透明得多。
分布式区块链分类账是不可逆的。信息不能在分布式账本上更新,而在传统账本上是可逆的。
分布式账本提供更高的安全性。它采用加密技术,每笔交易都经过哈希处理和记录,而传统分类账的安全性可能会受到损害。
分布式账本缺乏集中的权限。它是一个分布式系统,参与者负责维护网络的完整性并验证交易。传统分类账建立在集中控制的基础上,它规范所有交易。
在分布式账本中,参与者身份是未知且隐藏的,而在传统账本中,所有参与者的身份必须在交易之前就知道。
分布式账本中没有单点故障,因为数据在多个节点之间传播和共享。如果一个节点发生故障,信息会复制到其他节点上。另一方面,传统分类账存在单点故障。如果单台机器出现故障,整个网络将无法运行。
在分布式账本中修改或更新数据是不可能的,但这在传统账本中是可行的。
在分布式账本中,验证由网络成员执行,而在传统账本中,验证由中央机构执行。
结论
本文概述了区块链技术,该技术使交易数据免受不可变或不可修改的记录,并涵盖基本、中级和高级面试问题。以下是本文中提到的一些主题:
什么是区块链技术及其关键要素?
区块链的类型和区块链项目的部署阶段。
区块链的关键特征和多种记录可以存储在区块链中。
默克尔树、银行分类账、传统分类账、以太坊区块链、比特币区块链等。
原文标题:Blockchain Technology: Most Frequently Asked Interview Questions
原文作者:Prashant Sharma
原文链接:https://www.analyticsvidhya.com/blog/2022/08/blockchain-technology-most-frequently-asked-interview-questions/




