我们在谈论区块链时,要理解的第一个概念是数据如何在一个区块链中存储和保护。
块
在区块链中,块是一个简单的数据单元。它包含信息,例如创建日期和时间、交易数据包,最重要的是前一个区块的数字签名。这个签名是使用称为散列函数的加密函数创建的,相对于块的内容是唯一的。如果它的内容改变了一点点,签名就完全改变了。它存在于链的所有块中,因此不可能去更改过去块的内容,而不会使该块的所有连续签名都成为错误。
刻在块上的信息
该机制旨在使区块链中的写入永久化。当一条数据集成到一个块中时,就没有办法修改它了。当我们谈论金融交易时,兴趣是显而易见的,因为我们显然不希望追溯修改交易成为可能,但在其他领域的应用也数不胜数。如果我们知道恶意行为者在技术上不可能修改数据,则可以安全地存储它而无需信任单个行为者。用于存储和维护。公证、分销链监控、投票系统……所有需要高度信任的数据都是区块链的现成候选者。
但是如何定义哪些数据可以合法地写入区块链?这个问题可能看起来很简单,至少在我们花时间思考之前是这样。当用户支付发票时,钱会从用户的帐户中提取并转移到发件人的帐户中。用户的银行保证交易只进行一次,从正确的账户到正确的账户,并根据指示的金额进行。所以用户使用一个中央机构来确保我的金融交易的顺利进行。
所有网络节点都有这个寄存器的副本。我们称全节点或主节点为具有完整版本的网络链接。因此,它们存储自区块链创建以来包含在区块链中的所有信息。该数据库对于验证每笔交易的有效性并防止不一致的矿工是必需的。
比特币和加密货币的目的恰恰是创造一种无需银行就可以进行的货币,以及所有交易的集中验证。但是如果每个人都可以验证交易,如何避免作弊,并确保只有合法的交易才能插入区块链?加密货币通过共识机制解决了这个问题。