
核心技术分别解决什么问题
区块链涉及多个相互配合的技术层次:哈希与链式结构关联历史记录,共识规则约束节点接受哪些区块,交易规则限制资产如何被使用,智能合约定义程序如何执行。理解常见问题,需要先确定问题属于哪个层次。比特币的工作量证明和UTXO机制有各自适用范围,不能直接代表所有区块链。
记录为什么难以修改,分叉如何处理
比特币开发者指南介绍,区块通过前一区块头的哈希相连,工作量证明增加重写历史的成本;出现竞争分支时,节点在有效链中遵循累计工作量最大的链。交易输入引用尚未花费的输出,防止同一输出被重复使用。默克尔树则支持验证交易是否包含在区块中。

这些机制对应不同问题。历史保护涉及修改成本,双重支付检查涉及输出状态,分叉处理涉及有效历史的选择。因此,“不可篡改”应理解为具有机制和成本约束,不能理解为任何条件下都绝对无法改变历史。

包含证明能否证明交易完全有效
交易被纳入某个区块,与交易满足全部规则,是不同的验证目标。默克尔证明回答的是包含关系;判断账本有效性还需要相应的规则验证。类似地,区块高度表示位置,分叉时同一高度可以出现不同区块,因此不能仅凭高度唯一识别区块。
智能合约为何仍会出现安全问题
以太坊智能合约安全文档强调,敏感操作需要访问控制,执行过程需要条件检查,开发阶段应结合测试、分析和独立审查。角色划分与多签能够限制管理权限的使用,但安全性仍取决于具体设计。
底层网络按规则执行程序,并不意味着程序符合业务意图。若权限条件遗漏,或状态变化缺少必要约束,错误逻辑也可能被正常执行。评估合约时,需要分别检查谁能调用、什么条件下可以执行,以及执行后必须保持哪些性质。
审计或形式化验证是否等于安全保证
审计能够增加发现缺陷的机会,不能保证覆盖所有问题。形式化验证的结论受所写规范、模型和假设约束;某项性质得到证明,也不能推导出整个系统不存在风险。判断技术方案时,应明确它验证了什么、依赖哪些条件,以及尚未覆盖哪些边界。