
区块链是啥概念
区块链是一种由多个计算机共同保存和更新的数据记录系统。记录内容会被整理成一个个区块,区块按照先后顺序连接起来,因此形成“区块链”。网络中的节点会根据共同认可的规则验证新区块,并保存自己认可的链上数据。
它与普通数据库的主要区别,在于数据维护通常不依赖单一管理者。参与网络的多个节点可以分别保存数据副本,并通过共识机制对新增记录达成一致。区块链中的记录通常具有公开可验证、难以事后篡改等特点,但这不代表任何区块链都绝对不可修改,也不代表链上信息天然等于现实世界事实。
区块、哈希与链式记录
区块可以看作一批经过整理和验证的数据集合。以交易型区块链为例,一个区块可能包含多笔交易,以及用于描述区块位置和前后关系的信息。新区块通常会引用前一个区块的加密哈希值,后续区块又继续引用它,从而形成连续的关联。
哈希是把任意数据转换为固定形式结果的一种密码学计算。原始数据只要发生变化,重新计算出的哈希通常也会变化。由于后续区块保存了前一区块的哈希,若有人试图修改较早区块中的记录,就需要重新处理之后的关联数据,并让网络接受这条修改后的历史,因此篡改成本会显著提高。
区块还可能使用默克尔树等结构,把多笔交易的哈希逐层汇总为一个根值。这样,节点或轻量客户端可以利用相关证明检查某笔交易是否被纳入特定区块,而不必获取全部交易数据。
节点、交易与共识机制
节点是运行区块链软件并参与网络通信的计算机。节点可以接收交易请求、传播区块、验证数据,并在能力允许的范围内保存账本或网络状态。不同节点依据相同规则进行验证,才能减少各自记录不一致的问题。
交易是对区块链状态提出变化请求的记录。例如,在比特币体系中,交易会使用此前尚未花费的交易输出,并产生新的输出;同一笔可花费输出不能被重复使用,否则会形成双重支付。以太坊中的交易还可以请求执行程序代码,使账户余额、合约数据等状态发生变化。
共识机制规定网络如何确认新区块、处理竞争性区块以及维护统一历史。比特币采用工作量证明机制,参与者通过计算竞争新区块;以太坊采用基于权益证明的机制,由验证者质押原生资产并运行验证软件来参与区块提议和检查。两种机制的具体规则不同,但共同目标都是让分布式节点对有效状态达成一致。
账户、代币与智能合约
账户是区块链中用于记录资产余额或状态的对象。用户通过密钥控制账户发出的签名请求,网络会据此判断交易是否具有相应权限。密钥、地址、账户余额和交易记录属于不同概念,不能简单地把地址理解为存放实体货币的钱包。钱包软件通常负责管理密钥、生成交易并与网络交互。
代币可以理解为区块链上按照特定规则记录和转移的数字资产。以太坊的ETH是该网络的原生资产,可用于支付计算和交易相关费用,也参与网络安全机制。比特币网络则以交易输出的方式记录可花费的比特币数量。不同网络的资产模型和费用规则不能直接混用。
智能合约是发布到区块链上的可重复执行程序。用户提交交易请求并提供参数后,网络节点按照合约代码执行操作,在满足条件时更新链上状态。它可以支持数字资产管理、市场应用或游戏等程序化服务,但合约代码中的漏洞、权限设计和外部数据依赖仍可能造成实际风险。
适用条件与常见问题
区块链更适合多个参与者需要共享记录、彼此缺少完全信任关系,而且希望通过统一规则验证数据的场景。如果数据由单一机构管理、访问范围封闭且不需要多方共同维护,传统数据库可能更简单。区块链也不能自动解决数据录入错误、身份真实性或现实资产交付问题。
常见问题一:区块链是否等于比特币?不是。比特币是使用区块链记录交易的一种网络和资产体系;区块链是更广泛的技术概念。以太坊同样使用区块链,但在交易记录之外,还支持执行智能合约并维护更复杂的网络状态。
常见问题二:链上数据是否完全不能修改?更准确的说法是,已经获得网络确认的数据通常难以在不被发现的情况下修改,修改成本取决于具体网络的共识规则、节点分布和确认程度。不同区块链的安全性与治理方式不能一概而论。
常见问题三:交易提交后是否立即完成?交易通常需要先被广播、验证并纳入区块,随后还可能等待更多后续区块或网络确认。确认规则因区块链而异,因此不能只看到交易请求就认定状态已经最终确定。