
先理解区块链解决的问题
区块链与现有技术入门需要了解什么?可以先把问题拆成三项:记录怎样组织,谁有权发起操作,以及参与者如何接受一致的结果。区块链把数据结构、密码学与网络协作机制结合起来,理解这些关系比单独记忆术语更有帮助。
比特币:记录链接与独立验证
比特币开发文档介绍,区块通过前一区块头的哈希相连,全节点独立验证区块。交易使用未花费交易输出,同一输出不能重复花费。工作量证明与累计工作量的链选择规则共同参与维护交易历史。
由此可以区分两个层次:哈希链接让修改历史留下可检测的变化,共识规则则决定节点接受哪条有效历史。仅把数据串成链,还不足以说明整个系统如何抵抗历史改写。
以太坊:从记录交易到执行程序
以太坊技术入门文档介绍,EVM为智能合约提供执行环境,交易可以请求执行合约并更新状态。网络使用权益证明,ETH承担计算费用和质押等作用。智能合约是按规则执行的程序。
学习时应分清程序规则与网络共识:前者规定操作产生什么结果,后者帮助网络确定接受哪些记录及其顺序。理解代码怎样运行,也需要理解执行结果怎样被共同确认。
怎样与数据库和普通程序比较
比较区块链与数据库时,可以围绕记录由谁维护、修改怎样获准、其他参与者如何验证展开。不要只比较它们是否能保存数据,还应检查业务是否需要多个参与者独立核验同一份历史。
比较智能合约与普通程序时,则应关注执行环境和状态更新方式。把业务规则写成代码只是起点,还需要明确调用权限、失败条件和计算成本,不能仅凭“智能”二字判断程序可靠。
适用条件与常见问题
如果需求包含共享操作历史、独立验证和共同执行规则,区块链值得进一步评估;如果需求只是保存和查询信息,这一需求本身还不能证明需要引入区块链。选型应先说明协作问题,再考察具体机制。
区块链记录绝对不能修改吗?更准确的理解是,修改会受到密码学关联和共识机制的约束,安全判断需要具体条件。比特币与以太坊可以套用同一套细节吗?不可以,两者的交易模型和共识机制存在差异。
初学者可以按数据结构、交易验证、共识、程序执行的顺序学习。每接触一个术语,都尝试说明它解决哪一项问题,以及还依赖哪些机制,逐步建立完整认识。