
区块链究竟是什么
区块链可以理解为由多个网络节点共同维护的公开数据记录。数据会被分批写入区块,每个区块都通过密码学方式引用前一个区块,从而形成连续结构。若要修改较早区块中的内容,通常需要同时影响其后的相关记录,并让网络重新接受这套变化,因此历史数据具有较强的可追溯性。
区块链并不等于某一种数字资产。它首先是一种记录和协调数据的技术,具体能够记录哪些内容、如何验证交易、谁可以参与维护,都取决于相应网络的规则。不同区块链在共识机制、数据结构、执行能力和参与方式上可能存在明显差异。
节点和共识如何发挥作用
节点是运行相关软件、保存或验证区块链数据的计算机。节点之间会传播交易和新区块,并依据共同的规则检查数据是否有效。只有当网络参与者对新区块及其前后顺序形成足够一致的判断,记录才会成为共同认可的状态。这个过程通常被称为共识。
比特币资料展示了工作量证明的基本思路:创建新区块需要完成符合难度要求的计算,其他节点再检查区块和交易是否符合规则。以太坊的基础资料则介绍了基于权益证明的机制,验证者通过质押原生资产并运行验证软件参与区块提议和检查。两种机制的参与条件和安全假设不同,不能把其中一种机制的特点直接套用到所有区块链。
交易确认后还能修改吗
交易被发出后,通常要经过节点验证、执行并写入区块,才会改变网络认可的状态。以比特币为例,交易会消耗此前交易产生的未花费输出,已被使用的输出不能再次作为有效输入,这套设计用于防止同一笔资产被重复花费。
区块链提供的是规则约束下的记录一致性,并不意味着所有记录都具备绝对不可变性。网络可能出现同时产生多个区块的短暂分叉,节点随后依据共识规则选择继续延伸的链。实际判断一笔交易是否稳定,应结合具体网络的确认规则和应用场景,不能只依据交易已经广播这一事实。
比特币和以太坊的概念差异
比特币区块链的核心用途之一是维护按顺序排列、带有时间信息的交易账本。其交易模型围绕输入、输出和未花费交易输出展开,节点根据规则验证交易是否能够合法使用此前的资产记录。
以太坊除了记录资产转移,还将一个由网络共同维护的执行环境纳入区块链。这个环境通常称为以太坊虚拟机,参与者可以提交请求,让网络执行相应代码并产生状态变化。因此,以太坊可以承载智能合约及基于合约构建的应用。不过,这种描述只适用于相应网络的设计,不能据此断言所有区块链都拥有相同的执行能力。
智能合约是不是完全自动且没有风险
智能合约是发布到区块链执行环境中的可重复调用程序。用户提交交易请求并提供参数后,网络节点会依据代码和共识规则执行操作;执行结果若通过验证,就会成为网络状态的一部分。市场、游戏和其他应用都可以使用这类程序作为基础组件。
“自动执行”只表示满足代码条件时由网络按规则处理,并不代表代码一定正确,也不代表程序能够自动理解现实世界中的事实。合约的行为受编写逻辑、输入数据、权限设置和所在网络规则共同影响。阅读这类概念时,应区分区块链确认了什么、合约执行了什么,以及现实中的权利义务是否已经因此得到法律或机构认可。
发掘区块链概念时的常见误区
第一个误区是把去中心化理解为没有规则。区块链仍然依赖共识规则、验证软件和节点协作,只是数据维护不完全由单一机构控制。第二个误区是认为公开记录等于任何人都能修改,实际上公开可查看与获得修改权限是两回事。第三个误区是把代币、区块链、钱包和智能合约混为一谈:区块链负责维护状态,钱包通常负责管理密钥并发起请求,代币是网络中记录的一类资产或状态,智能合约则是可执行程序。
建立基础认识时,可以依次追问四个问题:数据由谁记录,节点按什么规则验证,网络使用何种共识机制,代码执行会改变哪些状态。只有明确这些适用条件,才能准确判断一项区块链技术描述是在讲比特币式账本、以太坊式执行平台,还是其他具有不同设计的系统。