
先理解区块链在记录什么
区块链是一种由网络中的多个节点共同维护的记录方式。交易等数据按规则组成区块,后续区块通过密码学哈希引用先前区块,由此形成有顺序的历史记录。节点依据共同规则检查新区块,才能对哪些记录有效形成一致认识。
区块之间的链接使修改旧记录会影响后续区块,但这不等于历史在任何情况下都绝对无法改变。抵抗篡改的能力还取决于网络采用的共识规则,以及参与者是否持续按规则验证。
节点、交易与共识如何配合
一笔交易从被提出到成为网络认可的记录,需要经过传播、验证和纳入区块等环节。验证关注交易是否符合该网络的规则;节点则保存、检查或转发相关数据。区块链不是把一份普通数据库复制到多台电脑上那么简单,关键在于参与者如何就有效记录达成一致。
不同网络的共识机制不能混为一谈。比特币使用工作量证明,区块需要满足相应的计算条件;以太坊使用权益证明,由验证者参与新区块的提出与检查。两者都是维护共享历史的方式,但参与条件和运行规则不同。
比特币与以太坊有哪些概念差异
理解比特币交易时,可以关注未花费交易输出:新交易引用此前尚未花费的输出,同一输出不能被有效地重复使用。这有助于理解区块链为何需要检查交易历史,以及“双重支付”指的是什么。
理解以太坊时,还需要认识账户、网络状态和以太坊虚拟机。用户可以提交交易,请求转移资产或执行程序;执行结果经过验证后,会反映在网络共同认可的状态中。比特币的交易输出模型与以太坊的账户和状态模型,不能直接当作同一种记账结构。
智能合约适用于什么情况
智能合约是部署在支持它的区块链上的可执行程序。用户提交交易调用程序,网络按既定代码和规则处理,并记录相应的状态变化。它适合需要多方依据同一套公开规则验证执行结果的场景,但并非所有区块链都具有相同的程序执行能力。
智能合约也不会自动保证输入信息真实或代码没有缺陷。判断某个应用是否适合使用区块链,还应看参与方是否需要共享可验证的记录、是否能够接受网络执行成本,以及程序和数据应由谁负责维护。
入门常见问题
区块链是否等于加密货币?不是。加密货币是部分区块链网络中的资产与激励组成部分;区块链还涉及数据组织、节点验证和共识等技术。不过,具体网络如何运行,仍要看其自身规则。
记录写入区块就一定最终确定了吗?不能一概而论。网络可能出现暂时不同的区块视图,判断记录是否稳定需要结合该网络的共识机制。学习时先分清“交易已发出”“交易已被纳入区块”和“记录获得进一步确认”,比笼统地说“已经上链”更准确。