NodeJS全栈WEB3面试题——P1基础知识:区块链与Web3原理
1.1 区块链的基本组成有哪些部分?它们的作用是什么?
区块链主要由以下几个部分组成:
-
区块(Block):区块是数据的基本存储单元,每个区块包含一批交易记录和一些元数据(如时间戳、前一个区块的哈希等)。
-
链(Chain):区块通过哈希指针连接形成链条,保证数据的不可篡改性。
-
节点(Node):参与网络的计算机,每个节点维护区块链的完整或部分副本。
-
共识机制(Consensus Mechanism):用于节点间达成一致,确保数据一致性和安全。
-
智能合约(Smart Contract):区块链上自动执行的代码,实现业务逻辑自动化。
-
交易(Transaction):区块链上的操作请求,比如转账或调用智能合约。
它们的作用是确保区块链数据的安全性、去中心化和可信任,实现价值的点对点转移和智能自动化执行。
1.2 什么是去中心化?和分布式系统有何不同?
-
**去中心化(Decentralization)**指的是没有单一的控制中心,网络中的每个节点都可以自主参与决策和验证,降低单点故障风险,提高抗审查能力和安全性。
-
**分布式系统(Distributed System)**是指计算资源分布在多个节点上,共同完成任务,但不一定保证去中心化。分布式系统中,节点之间可能有主从关系或者中心控制。
区别:
-
去中心化强调权力和控制的分散,没有中心权威;
-
分布式系统强调物理和逻辑的资源分布,但可能存在中心化控制。
区块链既是分布式系统,也是去中心化系统。
1.3 区块链的共识机制有哪些?PoW、PoS、DPoS的区别?
-
PoW(Proof of Work,工作量证明):节点通过计算大量哈希难题竞赛来获得记账权,消耗大量算力和电力,代表项目有比特币、以太坊(原版)。
-
PoS(Proof of Stake,权益证明):节点通过持币数量和时间质押获得记账权,节省算力消耗,鼓励长期持币,代表项目有以太坊2.0、Cardano。
-
DPoS(Delegated Proof of Stake,委托权益证明):通过投票选出代表节点来生产区块,提高效率,但引入一定的中心化风险,代表项目有EOS、TRON。
区别:
特点 | PoW | PoS | DPoS |
---|---|---|---|
资源消耗 | 高(算力、电力) | 低(持币质押) | 更低(选举代表) |
去中心化 | 高 | 较高 | 较低(少数代表节点) |
性能 | 低 | 中等 | 高 |
安全性 | 高 | 高 | 中等 |
1.4 什么是Gas?为什么交易需要Gas?如何优化Gas成本?
-
Gas 是以太坊等智能合约平台中,用于衡量和支付计算和存储资源消耗的计量单位。
-
交易需要Gas是因为区块链计算资源有限且成本高,Gas作为交易执行的“燃料”,防止网络滥用,激励矿工/验证者处理交易。
-
优化Gas成本的方法:
-
优化智能合约代码,减少不必要的计算和存储操作;
-
使用更高效的数据结构和算法;
-
合理拆分复杂交易,避免一次调用过多操作;
-
利用Layer 2解决方案减少主链负载;
-
选择Gas费较低的时间段提交交易。
-
1.5 什么是Layer 1 和 Layer 2?举例说明。
-
Layer 1 是区块链的主链层,负责底层数据存储、共识和安全,比如比特币、以太坊主链。
-
Layer 2 是构建在Layer 1之上的扩展解决方案,提升交易速度和降低费用,减少主链负载,主要通过链下处理然后定期提交结果到主链。
举例:
-
Layer 1:比特币、以太坊(主链)。
-
Layer 2:以太坊上的Rollups(Optimistic Rollup、ZK-Rollup)、闪电网络(Bitcoin Lightning Network)、Polygon(侧链)。