-
Notifications
You must be signed in to change notification settings - Fork 56
Expand file tree
/
Copy pathquizData.js
More file actions
3178 lines (3176 loc) · 134 KB
/
Copy pathquizData.js
File metadata and controls
3178 lines (3176 loc) · 134 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/**
* 测验题库数据
* 覆盖全部 41 课 × 5 题 = 205 题 + 5 默认题 = 210 题
*/
export const QUIZ_BANK = {
'1-1': [
// 创建第一个 Web3 身份
{
question: '什么是Web3钱包的最重要特征?',
options: [
'由中心化公司托管私钥',
'用户完全控制自己的私钥',
'需要银行账户验证',
'只能存储比特币',
],
correctAnswer: 1,
explanation: 'Web3钱包的核心特征是用户拥有并控制自己的私钥,这体现了去中心化的本质。',
},
{
question: '助记词(Seed Phrase)的主要作用是什么?',
options: ['用来设置密码', '恢复和备份钱包', '加密交易数据', '验证身份信息'],
correctAnswer: 1,
explanation: '助记词是钱包的主密钥,可以用来恢复钱包中的所有账户和资产。',
},
{
question: '在创建Web3身份时,以下哪个做法是最安全的?',
options: [
'将助记词截图保存在手机',
'把助记词写在纸上离线保存',
'用邮件发送给自己',
'保存在云盘中',
],
correctAnswer: 1,
explanation: '助记词应该离线保存,写在纸上是最安全的方式,避免网络攻击和设备丢失的风险。',
},
{
question: '标准的 BIP-39 助记词通常由多少个单词组成?',
options: ['6 个', '12 个或 24 个', '8 个', '32 个'],
correctAnswer: 1,
explanation:
'BIP-39 标准助记词通常为 12 个或 24 个英文单词,从 2048 个单词的词表中生成,提供足够的安全性。',
},
{
question: '以下哪个不是常见的 Web3 钱包?',
options: ['MetaMask', 'Phantom', '支付宝', 'Trust Wallet'],
correctAnswer: 2,
explanation:
'支付宝是传统中心化支付工具,不是 Web3 钱包。MetaMask、Phantom 和 Trust Wallet 都是流行的去中心化钱包。',
},
],
'1-2': [
// 体验第一笔交易
{
question: '如果 nonce 10 的交易一直卡住,nonce 11 和 12 的交易通常会怎样?',
options: [
'自动跳过 nonce 10 先确认',
'一起排队等待 nonce 10 被确认或替换',
'被钱包自动删除',
'不需要支付 Gas 直接完成',
],
correctAnswer: 1,
explanation:
'同一账户的交易按 nonce 顺序执行,前一个 nonce 卡住时,后续 nonce 交易通常也会排队。可以用同一个 nonce 加速或取消。',
},
{
question: '关于 gas limit、max fee 和 priority fee,下列说法哪项正确?',
options: [
'gas limit 是最多愿意消耗的 Gas 数量,不等于最终费用',
'max fee 越高,交易一定会花光全部费用',
'priority fee 是转给收款人的额外小费',
'gas limit 越低,合约调用越安全',
],
correctAnswer: 0,
explanation:
'gas limit 是执行交易愿意消耗的 Gas 上限;max fee 是最高 Gas 单价,priority fee 是给验证者的小费,实际费用取决于链上执行情况。',
},
{
question: '区块浏览器显示交易 Reverted 时,最可能意味着什么?',
options: [
'用户在钱包里拒绝签名,因此不消耗 Gas',
'交易上链执行过但被合约拒绝,通常已消耗执行 Gas',
'交易还在 mempool 中等待打包',
'钱包密码输入错误,需要重新登录',
],
correctAnswer: 1,
explanation:
'Reverted 表示交易已经上链执行,但合约条件不满足或执行失败。主资产通常不会完成转移,但执行 Gas 已经消耗。',
},
{
question: '在 Arbitrum、Base、Optimism 等 L2 上交易前,最应该确认什么?',
options: [
'当前钱包网络、目标链和提币/跨链网络是否一致',
'只要地址一样,任何网络都可以互通',
'L2 交易完全不需要 Gas',
'L2 失败交易一定不会产生费用',
],
correctAnswer: 0,
explanation:
'L2 交易仍有执行费、L1 数据费和排序器相关费用;从交易所提币或跨链时选错网络,可能导致资产找回困难。',
},
{
question: '发送主网交易前使用交易仿真/模拟工具的主要目的是什么?',
options: [
'保证交易永远不会失败',
'在签名前预估资产变化,发现异常转出或风险提示',
'绕过钱包签名流程',
'让 Gas 费用变成 0',
],
correctAnswer: 1,
explanation:
'交易仿真/模拟可以帮助你在签名前查看可能发生的资产变化,但仍需要检查地址来源、授权范围、滑点和网站可信度。',
},
],
'1-3': [
// 体验第一个 DApp
{
question: 'DApp的全称是什么?',
options: [
'Digital Application',
'Decentralized Application',
'Data Application',
'Dynamic Application',
],
correctAnswer: 1,
explanation: 'DApp代表去中心化应用(Decentralized Application),运行在区块链网络上。',
},
{
question: 'DApp与传统App的主要区别是什么?',
options: ['DApp更快', 'DApp不需要网络', 'DApp运行在区块链上', 'DApp更便宜'],
correctAnswer: 2,
explanation: 'DApp的核心特点是运行在区块链网络上,具有去中心化、不可篡改等特性。',
},
{
question: '使用DApp时为什么需要连接钱包?',
options: ['支付开发者', '证明身份和授权交易', '下载应用', '获取网络权限'],
correctAnswer: 1,
explanation: '连接钱包可以证明用户身份,并授权DApp代表用户执行区块链交易。',
},
{
question: '以下哪个是 DApp 的典型应用场景?',
options: ['传统银行转账', '去中心化交易所(DEX)和借贷协议', '安装操作系统', '编辑本地文档'],
correctAnswer: 1,
explanation:
'DEX 和借贷协议是 DApp 最常见的应用场景,它们通过智能合约实现无需中介的金融服务。',
},
{
question: '连接 DApp 时给予"无限授权"可能带来什么风险?',
options: [
'降低交易速度',
'增加 Gas 费',
'恶意合约可以转走你授权的所有代币',
'导致钱包地址泄露',
],
correctAnswer: 2,
explanation:
'无限授权意味着智能合约可以无限额转走你授权的代币,如果合约存在漏洞或是恶意的,资产可能被盗。',
},
],
'1-4': [
// 常用 Web3 网站
{
question: '遇到交易、地址或合约问题时,区块链浏览器最适合用来做什么?',
options: ['联系客服退款', '查询链上记录和交易详情', '生成助记词', '自动撤销所有授权'],
correctAnswer: 1,
explanation:
'区块链浏览器是 Web3 世界的基础查询工具,可查看交易状态、From/To、Value、Input Data 和 Token Transfers 等链上记录。',
},
{
question: '在 2026 Web3 工具地图中,Rabby、Tenderly 和钱包内置模拟主要解决什么问题?',
options: [
'签名前查看交易可能带来的资产变化',
'查询中心化交易所法币汇率',
'部署 Solidity 编译器',
'保存助记词备份',
],
correctAnswer: 0,
explanation:
'Rabby、Tenderly 和部分钱包内置模拟适合在签名前预览交易结果,帮助发现异常资产转出或危险调用。',
},
{
question: '如果想定期检查并撤销代币授权,应该优先使用哪类工具?',
options: [
'Revoke.cash 或 DeBank',
'TradingView 或 CoinMarketCap',
'Foundry 或 Hardhat',
'Snapshot 或 Tally',
],
correctAnswer: 0,
explanation:
'Revoke.cash 和 DeBank 可用于查看地址授权并撤销不需要的授权,适合放在钱包与安全类工具栏中。',
},
{
question: 'L2BEAT 在 L2 与跨链工具中主要用于查看什么?',
options: [
'Rollup 阶段、桥、排序器和数据可用性风险',
'NFT 地板价和稀有度排名',
'交易所充值到账时间',
'Solidity 单元测试覆盖率',
],
correctAnswer: 0,
explanation:
'L2BEAT 适合对比 L2 的 TVL、Rollup 阶段、桥、排序器、数据可用性等风险,不只是看费用高低。',
},
{
question: '下列哪组工具最符合“开发与合约”类别?',
options: [
'Foundry、Hardhat、Remix、OpenZeppelin Contracts',
'CoinGecko、TradingView、Artemis、Token Terminal',
'Ledger、Trezor、Keystone、Revoke.cash',
'Jumper、Bungee、Across、Base Bridge',
],
correctAnswer: 0,
explanation:
'Foundry、Hardhat、Remix 用于合约开发测试,OpenZeppelin Contracts 提供成熟合约组件,属于开发与合约工具。',
},
],
'1-5': [
// 发行你的第一个代币
{
question: '在 Pump.fun 上发行代币最少需要多少 SOL?',
options: ['1 SOL', '0.02 SOL', '10 SOL', '0.5 SOL'],
correctAnswer: 1,
explanation: '在 Pump.fun 上发行代币的费用仅需约 0.02 SOL,极大降低了发币门槛。',
},
{
question: 'Pump.fun 平台使用什么机制管理代币流动性?',
options: ['订单簿撮合', '自动债券曲线(Bonding Curve)', '中心化做市商', '人工定价'],
correctAnswer: 1,
explanation: 'Pump.fun 使用自动债券曲线管理流动性,买入量增加价格上升,卖出量增加价格下降。',
},
{
question: '代币发行后,以下哪项信息无法修改?',
options: ['社交媒体链接', '代币名称和符号', '社区评论', '代币描述的外部链接'],
correctAnswer: 1,
explanation: '代币的基本信息(名称和符号)在链上发行后不可更改,这是区块链不可篡改性的体现。',
},
{
question: '债券曲线(Bonding Curve)的价格特征是什么?',
options: [
'价格始终固定不变',
'买入越多价格越高,卖出越多价格越低',
'价格完全随机波动',
'只能上涨不能下跌',
],
correctAnswer: 1,
explanation:
'债券曲线是一种数学定价模型,代币价格随供应量变化:买入增多价格上升,卖出增多价格下降。',
},
{
question: '在 Pump.fun 上发行代币时,最重要的安全注意事项是什么?',
options: [
'选择好看的代币图标',
'了解智能合约风险和代币归零的可能性',
'尽量多买自己发行的代币',
'在社交媒体上大力推广',
],
correctAnswer: 1,
explanation:
'发行和购买代币存在极高风险,大部分代币可能归零,参与前必须了解智能合约风险并只投入能承受损失的金额。',
},
],
'1-6': [
// Web3 安全基础
{
question: 'Permit / Permit2 签名钓鱼最危险的地方是什么?',
options: [
'签名一定会立刻显示一笔转账交易',
'看起来只是签名,但攻击者可能之后提交授权并转走代币',
'只能影响测试网资产',
'只会提高 Gas 费用,不会影响资产',
],
correctAnswer: 1,
explanation:
'Permit 允许通过签名授权代币花费,不需要先发 approve 交易。陌生网站上的 Permit2 或 Spend Limit 签名可能被攻击者拿去链上执行。',
},
{
question:
'看到“升级钱包领取空投”“开启智能账户获得 Gas 补贴”这类 EIP-7702 签名请求时,应该怎么做?',
options: [
'只要网站界面好看就签名',
'看不懂委托目标、权限范围、链 ID 和撤销方式时不要签',
'先把钱包里所有资产授权给该网站',
'切换到主网后风险就会消失',
],
correctAnswer: 1,
explanation:
'EIP-7702 让 EOA 可以设置代码委托,授权比普通消息签名更敏感。安全钱包应清楚展示委托目标、权限、链 ID、撤销方式和风险说明。',
},
{
question: 'Web3 中的 blind signing(盲签)指的是什么风险行为?',
options: [
'在完全理解交易内容后签名',
'没有看懂或无法验证签名内容和权限就点击确认',
'用硬件钱包核对完整地址',
'只在测试网签署交易',
],
correctAnswer: 1,
explanation:
'盲签是指用户不理解或无法验证签名内容、授权对象和资产影响就确认签名,这是 Permit、Permit2 和复杂合约交互中的高风险行为。',
},
{
question: '为什么交易模拟不能被当成绝对安全保证?',
options: [
'模拟工具无法显示任何资产变化',
'合约路径、MEV、私有 mempool 或离线授权未来提交都可能改变结果',
'模拟只适用于中心化交易所账户',
'模拟会自动撤销所有危险授权',
],
correctAnswer: 1,
explanation:
'Rabby、Tenderly 等模拟能发现很多明显风险,但不能替代网站来源验证、授权对象判断和资产隔离策略。',
},
{
question: '地址投毒和剪贴板攻击的正确防范方式是什么?',
options: [
'从最近交易历史里复制地址更方便',
'只核对地址前 2 位即可',
'使用地址簿/提现白名单,并核对前 6 位、中间 4 位、后 6 位',
'只要金额很大,钱包会自动拦截错误地址',
],
correctAnswer: 2,
explanation:
'攻击者会制造首尾相似地址污染交易历史。大额转账不要从历史记录复制地址,应使用地址簿/白名单并核对更完整的地址片段。',
},
],
'1-7': [
// Web3 交易所入门
{
question: 'CEX(中心化交易所)与 DEX(去中心化交易所)的核心区别是什么?',
options: [
'CEX 手续费更高',
'CEX 由公司运营并托管用户资产,DEX 通过智能合约实现无托管交易',
'DEX 只能交易比特币',
'CEX 不需要注册账户',
],
correctAnswer: 1,
explanation:
'CEX 由中心化公司运营,用户将资产托管给交易所;DEX 通过智能合约运行,用户始终控制自己的资产。',
},
{
question: '在交易所充值加密货币时,最重要的注意事项是什么?',
options: [
'选择手续费最低的网络',
'确保充值地址和网络(链)都选择正确',
'尽量一次性充值大额',
'只在白天操作',
],
correctAnswer: 1,
explanation:
'充值时必须确认地址和网络都正确,选错网络(如将 ERC-20 代币发到 TRC-20 地址)可能导致资产永久丢失。',
},
{
question: '以下哪项不是交易所账户安全的推荐做法?',
options: [
'启用 Google Authenticator 两步验证(2FA)',
'设置提币地址白名单',
'将所有资产长期存放在交易所',
'使用独立的邮箱注册交易所账户',
],
correctAnswer: 2,
explanation:
'交易所可能被黑客攻击或出现运营风险,大额资产应转移到自己控制私钥的钱包中,"Not your keys, not your coins"。',
},
{
question: 'KYC(Know Your Customer)在交易所中指的是什么?',
options: [
'一种加密货币名称',
'交易所要求用户完成身份认证的流程',
'一种交易策略',
'钱包的安全等级',
],
correctAnswer: 1,
explanation:
'KYC 即"了解你的客户",是中心化交易所为遵守反洗钱法规要求用户提交身份证明的认证流程。',
},
{
question: '限价单和市价单的主要区别是什么?',
options: [
'限价单手续费更高',
'限价单指定成交价格,市价单以当前最优价格立即成交',
'市价单无法执行',
'两者没有区别',
],
correctAnswer: 1,
explanation:
'限价单让你设定期望的买入或卖出价格,只在达到该价格时成交;市价单则以当前市场最优价格立即成交。',
},
],
'2-1': [
// 密码学基础
{
question: 'SHA-256算法的主要特点是什么?',
options: ['可逆加密', '单向哈希函数', '对称加密', '私钥生成'],
correctAnswer: 1,
explanation: 'SHA-256是单向哈希函数,输入任意数据都产生固定长度的哈希值,且不可逆。',
},
{
question: '在比特币中,公钥和私钥的关系是?',
options: ['公钥是私钥的两倍', '公钥由私钥生成', '私钥由公钥生成', '两者无关'],
correctAnswer: 1,
explanation: '在椭圆曲线加密中,公钥是通过私钥和椭圆曲线运算生成的,私钥是随机数。',
},
{
question: '数字签名的作用是什么?',
options: ['加密数据', '证明身份和防篡改', '生成地址', '挖矿算法'],
correctAnswer: 1,
explanation: '数字签名用于证明消息来自私钥持有者,并确保消息在传输中未被篡改。',
},
{
question: '比特币使用的椭圆曲线算法名称是什么?',
options: ['RSA-2048', 'secp256k1', 'Ed25519', 'AES-256'],
correctAnswer: 1,
explanation:
'比特币使用 secp256k1 椭圆曲线进行公钥密码学运算,该曲线在安全性和计算效率之间取得了平衡。',
},
{
question: '哈希函数的"雪崩效应"指的是什么?',
options: [
'输入不变输出也不变',
'输入的微小变化会导致输出完全不同',
'输出长度随输入增大',
'多个输入产生相同输出',
],
correctAnswer: 1,
explanation:
'雪崩效应是指输入哪怕只改变一个比特,哈希输出也会发生巨大变化,这保证了哈希函数的安全性。',
},
],
'2-2': [
// 比特币概览
{
question: '比特币的总供应量是多少?',
options: ['2100万枚', '1亿枚', '无限制', '5000万枚'],
correctAnswer: 0,
explanation: '比特币的总供应量被硬编码为2100万枚,这是通过减半机制实现的稀缺性。',
},
{
question: '比特币网络大约多久产生一个新区块?',
options: ['1分钟', '10分钟', '1小时', '24小时'],
correctAnswer: 1,
explanation: '比特币网络的目标是每10分钟产生一个新区块,通过难度调整来维持这个时间。',
},
{
question: '比特币使用的共识机制是什么?',
options: ['权益证明(PoS)', '工作量证明(PoW)', '委托权益证明(DPoS)', '权威证明(PoA)'],
correctAnswer: 1,
explanation: '比特币使用工作量证明(PoW)共识机制,矿工需要解决数学难题来获得记账权。',
},
{
question: '比特币白皮书的作者署名是什么?',
options: ['Vitalik Buterin', '中本聪(Satoshi Nakamoto)', 'Hal Finney', 'Nick Szabo'],
correctAnswer: 1,
explanation:
'比特币白皮书《Bitcoin: A Peer-to-Peer Electronic Cash System》由中本聪于 2008 年发表,其真实身份至今未知。',
},
{
question: '比特币区块奖励减半大约每几年发生一次?',
options: ['每 1 年', '每 2 年', '每 4 年', '每 10 年'],
correctAnswer: 2,
explanation:
'比特币每 210,000 个区块(约 4 年)进行一次区块奖励减半,从最初的 50 BTC 逐步减少。',
},
],
'2-3': [
// 比特币交易结构
{
question: '比特币使用什么模型来追踪余额?',
options: ['账户余额模型', 'UTXO(未花费交易输出)模型', '数据库记录模型', '智能合约状态模型'],
correctAnswer: 1,
explanation: 'UTXO 模型类似于现金系统,每笔交易消耗旧的 UTXO 并创建新的 UTXO。',
},
{
question: '1 BTC 等于多少聪(satoshi)?',
options: ['1000 聪', '100 万聪', '1 亿聪', '10 亿聪'],
correctAnswer: 2,
explanation: '聪是比特币的最小单位,1 BTC = 100,000,000 聪(1亿聪)。',
},
{
question: '比特币交易验证的四层检查不包括以下哪项?',
options: ['格式验证', 'UTXO 存在性检查', '用户身份证验证', '脚本验证(密码学证明)'],
correctAnswer: 2,
explanation: '比特币是无许可系统,不需要身份证验证,而是通过密码学签名验证所有权。',
},
{
question: 'UTXO 模型与账户余额模型相比有什么优势?',
options: ['更容易理解', '支持并行验证交易且隐私性更好', '存储空间更小', '交易速度更快'],
correctAnswer: 1,
explanation:
'UTXO 模型中每笔交易独立验证,天然支持并行处理;且每次交易可使用新地址,增强了隐私性。',
},
{
question: '比特币交易中的"找零"是什么意思?',
options: [
'退回多余的手续费',
'将 UTXO 中超出支付金额的部分返回到自己的新地址',
'交易所退款',
'矿工返还的奖励',
],
correctAnswer: 1,
explanation:
'由于 UTXO 必须整体花费,如果 UTXO 金额大于需要支付的金额,多余部分会作为找零发送到自己控制的新地址。',
},
],
'2-4': [
// 多重签名
{
question: '2-of-3 多重签名的含义是什么?',
options: [
'需要 2 个区块确认和 3 个节点验证',
'3 个私钥持有者中需要 2 个签名才能花费资金',
'交易需要 2 到 3 分钟确认',
'需要支付 2/3 的手续费',
],
correctAnswer: 1,
explanation:
'M-of-N 多重签名中,M 表示所需签名数,N 表示总私钥数,2-of-3 即 3 人中需 2 人签名。',
},
{
question: '比特币多重签名交易中为什么需要 OP_0?',
options: [
'用于加密数据',
'这是 OP_CHECKMULTISIG 的一个历史 Bug 导致的',
'用于标记交易版本',
'用于计算手续费',
],
correctAnswer: 1,
explanation: 'OP_CHECKMULTISIG 存在一个历史 Bug,会多弹出一个栈元素,因此需要 OP_0 占位。',
},
{
question: 'P2SH 多重签名地址以什么字符开头?',
options: ['1', '3', 'bc1q', 'bc1p'],
correctAnswer: 1,
explanation: 'P2SH(Pay-to-Script-Hash)地址以 3 开头,它将复杂的多签脚本隐藏在哈希中。',
},
{
question: '多重签名技术最常见的应用场景是什么?',
options: ['加速交易确认', '企业资金管理和安全托管', '降低交易手续费', '增加匿名性'],
correctAnswer: 1,
explanation:
'多重签名广泛用于企业资金管理(如 3-of-5 签名保护公司金库)、安全托管和联合账户等场景。',
},
{
question: '比特币标准多重签名最多支持多少个公钥?',
options: ['3 个', '7 个', '15 个', '无限制'],
correctAnswer: 2,
explanation:
'比特币标准多重签名最多支持 15 个公钥(15-of-15),这是由 OP_CHECKMULTISIG 的脚本大小限制决定的。',
},
],
'2-5': [
// 隔离见证
{
question: '隔离见证(SegWit)主要解决了比特币的什么问题?',
options: ['私钥安全性', '交易延展性和区块容量', '挖矿难度', '节点同步速度'],
correctAnswer: 1,
explanation: 'SegWit 将签名数据(见证)分离出来,解决了交易延展性问题并提高了区块有效容量。',
},
{
question: 'SegWit 升级后区块的最大权重限制是多少?',
options: ['1 MB', '2 MB', '4,000,000 权重单位', '8 MB'],
correctAnswer: 2,
explanation:
'SegWit 引入了权重概念,区块最大 4,000,000 权重单位,基础数据占 4 单位/字节,见证数据占 1 单位/字节。',
},
{
question: '原生 SegWit 地址使用什么编码格式?',
options: ['Base58', 'Bech32', 'Hex', 'Base64'],
correctAnswer: 1,
explanation: '原生 SegWit 地址(bc1q 开头)使用 Bech32 编码,比 Base58 更高效且不易出错。',
},
{
question: '交易延展性(Transaction Malleability)问题指的是什么?',
options: [
'交易金额可以被篡改',
'交易 ID 可以在不改变交易内容的情况下被修改',
'交易可以被取消',
'交易地址可以被伪造',
],
correctAnswer: 1,
explanation:
'交易延展性指签名数据的轻微修改会导致交易哈希(TXID)改变,而交易实际内容不变,SegWit 通过分离签名数据解决了此问题。',
},
{
question: 'SegWit 升级是通过什么方式激活的?',
options: ['硬分叉', '软分叉(向后兼容)', '中心化决定', '全网投票'],
correctAnswer: 1,
explanation:
'SegWit 是通过软分叉激活的,向后兼容意味着未升级的旧节点仍然可以验证 SegWit 交易。',
},
],
'2-6': [
// Taproot 升级
{
question: 'Schnorr 签名相比 ECDSA 签名的主要优势是什么?',
options: [
'更长的密钥',
'支持签名聚合,多个签名合并为一个',
'需要更多计算资源',
'只支持单签名',
],
correctAnswer: 1,
explanation:
'Schnorr 签名支持签名聚合,多方签名可以合并为一个 64 字节签名,节省空间并保护隐私。',
},
{
question: 'Taproot 升级在哪一年正式激活?',
options: ['2017 年', '2019 年', '2021 年', '2023 年'],
correctAnswer: 2,
explanation: 'Taproot 于 2021 年 11 月在区块高度 709,632 正式激活,通过 Speedy Trial 机制。',
},
{
question: 'MAST(默克尔化抽象语法树)的主要作用是什么?',
options: ['加快交易确认', '隐藏未使用的脚本条件以保护隐私', '增加区块大小', '降低挖矿难度'],
correctAnswer: 1,
explanation: 'MAST 将脚本条件组织成默克尔树,只需揭示实际执行的路径,保护了其他条件的隐私。',
},
{
question: 'Taproot 地址以什么字符开头?',
options: ['1', '3', 'bc1q', 'bc1p'],
correctAnswer: 3,
explanation:
'Taproot 地址以 bc1p 开头,使用 Bech32m 编码(Bech32 的改进版),是目前最先进的比特币地址格式。',
},
{
question: 'Taproot 升级对比特币隐私性的改善体现在哪里?',
options: [
'隐藏交易金额',
'单签和多签交易在链上看起来完全相同',
'隐藏发送方地址',
'加密交易数据',
],
correctAnswer: 1,
explanation:
'通过 Schnorr 签名聚合和 MAST,Taproot 使单签、多签和复杂脚本交易在链上看起来完全一致,大幅提升隐私性。',
},
],
'2-7': [
// 高级交易应用
{
question: 'OP_RETURN 输出最多可以存储多少字节的数据?',
options: ['20 字节', '40 字节', '80 字节', '256 字节'],
correctAnswer: 2,
explanation: 'OP_RETURN 允许在比特币交易中嵌入最多 80 字节的任意数据,该输出不可花费。',
},
{
question: 'HTLC(哈希时间锁合约)是哪项技术的核心?',
options: ['冷钱包', '闪电网络', '多重签名', '矿池'],
correctAnswer: 1,
explanation: 'HTLC 通过哈希锁和时间锁的组合实现条件支付,是闪电网络和原子交换的核心技术。',
},
{
question: '比特币地址格式的演进顺序是什么?',
options: [
'bc1p → bc1q → 3 → 1',
'1(P2PKH)→ 3(P2SH)→ bc1q(SegWit)→ bc1p(Taproot)',
'bc1q → 1 → 3 → bc1p',
'3 → 1 → bc1p → bc1q',
],
correctAnswer: 1,
explanation:
'比特币地址从早期的 1 开头(P2PKH),到 3 开头(P2SH),再到 bc1q(SegWit)和 bc1p(Taproot)。',
},
{
question: 'OP_RETURN 输出有什么特殊之处?',
options: ['可以被花费', '标记为不可花费,不会进入 UTXO 集合', '必须包含签名', '只能存储数字'],
correctAnswer: 1,
explanation:
'OP_RETURN 输出被标记为可证明不可花费(provably unspendable),不会进入 UTXO 集合,避免了 UTXO 膨胀。',
},
{
question: 'HTLC 中的"时间锁"组件的作用是什么?',
options: [
'加速交易确认',
'如果接收方未在规定时间内提供哈希原像,资金自动退回发送方',
'锁定交易手续费',
'限制每天的交易次数',
],
correctAnswer: 1,
explanation:
'时间锁确保了安全性:如果接收方不在限定时间内用哈希原像领取资金,发送方可以在超时后取回资金。',
},
],
'2-8': [
// 区块链数据结构
{
question: '哈希指针与普通指针的区别是什么?',
options: [
'哈希指针更快',
'哈希指针同时存储地址和数据的哈希值,可检测篡改',
'普通指针更安全',
'没有区别',
],
correctAnswer: 1,
explanation: '哈希指针不仅存储数据地址,还保存数据内容的哈希值,可以检测数据是否被篡改。',
},
{
question: '默克尔树验证一笔交易的时间复杂度是多少?',
options: ['O(1)', 'O(log n)', 'O(n)', 'O(n²)'],
correctAnswer: 1,
explanation: '默克尔树只需要从叶子到根的路径哈希(O(log n) 个),即可验证交易是否在区块中。',
},
{
question: 'SPV(简化支付验证)轻节点只存储什么数据?',
options: ['完整的交易列表', '所有区块的全部内容', '区块头信息', '智能合约代码'],
correctAnswer: 2,
explanation:
'SPV 轻节点只存储区块头(约 80 字节),通过默克尔证明来验证交易,适合手机钱包等场景。',
},
{
question: '比特币区块头中包含的默克尔根(Merkle Root)代表什么?',
options: ['前一个区块的哈希', '该区块所有交易的摘要', '矿工的公钥', '当前网络难度'],
correctAnswer: 1,
explanation:
'默克尔根是区块中所有交易经过默克尔树逐层哈希后得到的根哈希值,可以用来快速验证任意一笔交易是否包含在区块中。',
},
{
question: '修改区块链中某个已确认区块的交易数据会导致什么?',
options: [
'只影响该区块',
'该区块及其后所有区块的哈希都会改变,篡改会被立即发现',
'不会有任何影响',
'只影响下一个区块',
],
correctAnswer: 1,
explanation:
'由于哈希指针的链式结构,修改任何一个区块的数据都会导致该区块及后续所有区块的哈希改变,使篡改立即可被检测。',
},
],
'3-1': [
// 比特币核心节点
{
question: '运行比特币全节点需要多少存储空间?',
options: ['10 GB', '100 GB', '660 GB 以上', '10 TB'],
correctAnswer: 2,
explanation: '比特币全节点需要存储完整的区块链数据,截至 2025 年已超过 660 GB。',
},
{
question: '比特币全节点的核心价值是什么?',
options: ['挖矿获取收益', '独立验证所有交易,无需信任第三方', '加速交易确认', '存储用户密码'],
correctAnswer: 1,
explanation: '全节点独立验证每一笔交易和每一个区块,体现了"Don\'t trust, verify"的精神。',
},
{
question: '修剪模式(Pruned Mode)的节点有什么特点?',
options: [
'不验证交易',
'下载并验证完整区块链后删除旧区块,只保留最近数据',
'只连接少量节点',
'不参与网络',
],
correctAnswer: 1,
explanation:
'修剪模式验证完整区块链后删除旧数据,可将存储降至 2-10 GB 同时保持完整验证能力。',
},
{
question: '比特币核心客户端(Bitcoin Core)的主要实现语言是什么?',
options: ['Python', 'Java', 'C++', 'Rust'],
correctAnswer: 2,
explanation:
'Bitcoin Core 主要使用 C++ 编写,从中本聪最初的代码发展至今,是比特币网络最广泛使用的节点实现。',
},
{
question: '初始区块下载(IBD)过程中节点在做什么?',
options: [
'只下载区块头',
'从网络下载并验证从创世区块到最新区块的所有数据',
'只同步最近 100 个区块',
'从中心化服务器获取数据快照',
],
correctAnswer: 1,
explanation:
'IBD 过程中节点从头开始下载并验证整条区块链,确保每一笔交易和每一个区块都符合共识规则。',
},
],
'3-2': [
// P2P 网络协议
{
question: '比特币网络的默认 P2P 端口号是多少?',
options: ['80', '443', '8332', '8333'],
correctAnswer: 3,
explanation: '比特币网络使用 8333 端口进行 P2P 通信,8332 端口用于 RPC 接口。',
},
{
question: '比特币节点默认发起多少个主动外连接?',
options: ['3 个', '8 个', '32 个', '125 个'],
correctAnswer: 1,
explanation: '比特币节点默认主动连接 8 个外部节点,同时可以接受最多 125 个入站连接。',
},
{
question: '新节点首次加入网络时通过什么方式发现其他节点?',
options: ['手动输入 IP 地址', 'DNS 种子服务器查询', '广播搜索', '中心化注册表'],
correctAnswer: 1,
explanation: '新节点通过查询 9 个独立的 DNS 种子服务器来获取初始节点列表,确保去中心化发现。',
},
{
question: '比特币 P2P 网络的拓扑结构属于什么类型?',
options: ['星型网络', '环型网络', '非结构化的平等对等网络', '树型层级网络'],
correctAnswer: 2,
explanation:
'比特币网络是非结构化的平等对等(peer-to-peer)网络,没有中心节点,每个节点地位平等。',
},
{
question: '比特币节点之间的消息传播使用什么机制?',
options: ['中心化广播', 'Gossip 协议(洪泛传播)', '直接点对点发送', '定时轮询服务器'],
correctAnswer: 1,
explanation:
'比特币使用 Gossip 协议传播交易和区块,节点收到新信息后转发给相邻节点,像"八卦"一样扩散到全网。',
},
],
'3-3': [
// 网络安全
{
question: '发动 51% 攻击大约需要多少资金?',
options: ['100 万美元', '1 亿美元', '50 亿美元以上', '无法估算'],
correctAnswer: 2,
explanation: '51% 攻击需要超过 50 亿美元的设备投入加上每年约 6 亿美元电费,经济上极不划算。',
},
{
question: '购买房产等大额交易通常需要多少个区块确认?',
options: ['0 个', '1 个', '3 个', '6 个以上'],
correctAnswer: 3,
explanation: '大额交易建议等待 6 个以上区块确认(约 1 小时),每增加一个确认攻击成本翻倍。',
},
{
question: '日蚀攻击(Eclipse Attack)的攻击方式是什么?',
options: [
'破解私钥',
'用恶意节点包围目标节点使其与真实网络隔离',
'修改区块链数据',
'关闭矿机',
],
correctAnswer: 1,
explanation: '日蚀攻击通过让目标节点只连接攻击者控制的节点,使其无法获取真实的网络信息。',
},
{
question: '51% 攻击能做到以下哪项?',
options: [
'修改比特币总供应量',
'对自己的交易进行双重支付',
'偷走任何人钱包中的比特币',
'创造新的比特币',
],
correctAnswer: 1,
explanation:
'51% 攻击者可以重组区块链实现双重支付(双花),但无法修改协议规则、偷走他人资产或凭空创造比特币。',
},
{
question: '比特币网络防范日蚀攻击的主要机制有哪些?',
options: [
'加密所有通信数据',
'限制单一 IP 段的连接数并随机选择出站连接',
'要求所有节点注册身份',
'关闭入站连接',
],
correctAnswer: 1,
explanation:
'Bitcoin Core 通过限制来自同一 /16 子网的连接数量、随机选择出站连接等机制来抵御日蚀攻击。',
},
],
'3-4': [
// 工作量证明与挖矿
{
question: '工作量证明(PoW)中"难以计算、易于验证"指的是什么?',
options: [
'挖矿设备难以购买',
'找到有效哈希需要大量尝试,但验证结果只需一次计算',
'矿工难以盈利',
'区块难以传播',
],
correctAnswer: 1,
explanation: 'PoW 的核心是不对称性:矿工需要约 10^22 次尝试找到有效哈希,但验证只需一次。',
},
{
question: '比特币挖矿硬件的演进顺序是什么?',
options: [
'ASIC → GPU → CPU → FPGA',
'CPU → GPU → FPGA → ASIC',
'GPU → CPU → ASIC → FPGA',
'FPGA → ASIC → GPU → CPU',
],
correctAnswer: 1,
explanation: '挖矿硬件从通用 CPU 到 GPU,再到可编程 FPGA,最终发展为专用 ASIC 芯片。',
},
{
question: '比特币区块奖励的减半周期是多少?',
options: ['每 1 年', '每 2 年', '每 21 万个区块(约 4 年)', '每 10 年'],
correctAnswer: 2,
explanation:
'比特币每 210,000 个区块(约 4 年)减半一次,从最初的 50 BTC 逐渐减少直至 2140 年归零。',
},
{
question: '矿工在挖矿过程中不断改变的区块头字段是什么?',
options: ['前一区块哈希', 'Nonce(随机数)', '版本号', '默克尔根'],
correctAnswer: 1,
explanation:
'矿工通过不断改变 Nonce 值来尝试不同的区块头哈希,直到找到一个小于目标难度值的有效哈希。',
},
{
question: '比特币矿池(Mining Pool)存在的主要原因是什么?',
options: [
'降低电费成本',
'单个矿工获得区块奖励的概率太低,矿池可以稳定收益',
'提高比特币价格',
'中心化管理更高效',
],
correctAnswer: 1,
explanation:
'单个矿工独立挖到区块的概率极低,矿池将多个矿工的算力汇聚,按贡献分配收益,使挖矿收入更加稳定。',
},
],
'3-5': [
// 难度调整算法
{
question: '比特币难度调整的周期是多少?',
options: ['每个区块', '每 2,016 个区块(约 14 天)', '每 1,000 个区块', '每 30 天'],
correctAnswer: 1,
explanation: '每 2,016 个区块进行一次难度调整,目标是将出块时间维持在平均 10 分钟。',
},
{
question: '单次难度调整的最大变化幅度是多少?',
options: ['2 倍', '4 倍', '10 倍', '无限制'],
correctAnswer: 1,
explanation: '为防止极端波动,单次调整最多上升 4 倍或下降至 1/4,保护网络稳定性。',
},
{
question: '比特币 15 年运行以来的平均出块时间是多少?',
options: ['8.5 分钟', '9.8 分钟', '10.0 分钟', '12.3 分钟'],
correctAnswer: 1,
explanation:
'得益于难度调整机制,比特币 15 年来的平均出块时间为 9.8 分钟,非常接近 10 分钟目标。',
},
{
question: '如果全网算力突然翻倍,在下一次难度调整前会发生什么?',
options: ['出块时间不变', '出块时间会缩短为约 5 分钟', '网络会暂停', '区块大小会增加'],
correctAnswer: 1,
explanation:
'在难度调整前,算力翻倍会导致出块速度加快约一倍(约 5 分钟/块),直到下一个难度调整周期将难度提高以恢复 10 分钟目标。',
},
{
question: '难度调整机制对比特币网络安全性有什么作用?',
options: [
'降低手续费',
'确保即使算力大幅变化也能维持稳定的出块速率和安全性',
'增加区块容量',
'加密交易数据',
],
correctAnswer: 1,
explanation:
'难度调整保证了无论全网算力如何变化,出块时间始终保持在约 10 分钟,既维护了网络安全又确保了经济激励的可持续性。',
},
],
'3-6': [
// 分叉机制与 BIP
{
question: '软分叉和硬分叉的核心区别是什么?',
options: ['软分叉更快', '软分叉向后兼容,硬分叉不兼容', '硬分叉更安全', '软分叉需要更多算力'],
correctAnswer: 1,
explanation:
'软分叉收紧规则、向后兼容,旧节点仍能验证;硬分叉修改规则、不兼容,可能导致链分裂。',
},
{
question: '以下哪个是比特币历史上著名的争议性硬分叉?',
options: ['SegWit', 'Taproot', 'Bitcoin Cash(BCH)', 'P2SH'],
correctAnswer: 2,
explanation: 'Bitcoin Cash 在 2017 年 8 月因区块大小争议从比特币硬分叉而来,形成了独立的链。',
},
{
question: 'BIP 提案的三种分类是什么?',
options: [
'技术类、经济类、社会类',
'标准跟踪类、信息类、流程类',
'紧急类、普通类、建议类',
'核心类、外围类、实验类',
],
correctAnswer: 1,
explanation: 'BIP 分为标准跟踪类(影响实现)、信息类(最佳实践)和流程类(治理流程)三种。',
},
{
question: 'BIP 的全称是什么?',
options: [
'Bitcoin Investment Proposal',
'Bitcoin Improvement Proposal',
'Blockchain Integration Protocol',
'Bitcoin Internal Process',
],
correctAnswer: 1,
explanation:
'BIP(Bitcoin Improvement Proposal)是比特币改进提案,任何人都可以提交,是比特币协议升级的标准化流程。',
},
{
question: '软分叉在什么条件下可以成功激活?',
options: [
'需要 100% 节点同意',
'只需要多数算力支持即可,无需所有节点升级',
'需要中本聪亲自批准',
'需要所有交易所支持',
],
correctAnswer: 1,
explanation: