初探区块链基础
比特币
还原了支付原来的样子
贸易支付的本质其实是买家与卖家的供需关系,只是由于买卖双方的不信任,才需要引入双方都信任的第三方进行担保,为双方的买卖行为背书。
去掉第三方担保的可能性,设计了一套基于密码学、无需买卖双方彼此信任就可以完成支付的数字货币系统。就是创新性地引入了支付脚本
支付脚本实质是一段计算机程序代码,如果你可以输入正确的参数,脚本执行成功就意味着你拥有货币的使用权。所以我们可以认为,比特币通过程序脚本,实现了一个完全严格按照计算机逻辑运行的数字货币转移机制。
比特币的脚本功能并不完美,它只支持指令的顺序执行。而一般功能完善的计算机编程语言都支持顺序、分支以及循环。诚然,只基于顺序执行的脚本可以实现比特币的条件支付,但也仅限如此。
以太坊(ETH)
现代社会是一个多元融合的世界,任何事物都不可能独立地存在,尤其是在金融支付领域。比特币仅将自身定位为
加密货币,在复杂的契约逻辑面前是无能为力的。
在研究比特币的过程中,V 神逐渐认识到,比特币背后的区块链技术不光可以用在加密货币中,还有更多可能性,但比特币的架构却阻碍了技术的发展,因此他希望能够扩展比特币的脚本功能,使其更加智能。
V 神阐述了以太坊构架愿景:在加密货币的基础上,增加智能合约功能,这样开发者就可通过智能合约编程把一切有价值的客观 / 主观事物锚定到以太坊进行交易,实现价值的传递。
这也就是区块链发展的最终形态是价值网络这个论调的由来
区块链
区块链技术发展到现在,尤其在以太坊将智能合约的概念与区块链技术融合之后,区块链已经变成了现实与网络的媒介,可以说区块链是价值的载体,是一种新型的社会生产关系。【生产关系:人们在生产活动中相互之间的经济关系。这些关系包括人们在生产、分配、交换和消费等过程中的相互联系和相互作用。】
打通现实世界与网络世界的屏障,将物质虚拟化,将价值实体化。未来的互联网流转的不是信息,而是活生生的价值。
区块链有哪些特性,一般我们认为有 3 点,分别是:
去中心化 (是相对去中心,我们也可以叫做多中心化)。
整个网络的数据及状态是由网络中所有的节点共同维护的,他们没有地位上的差别,有的只是可支配的资源的不同,且任一节点离线也不会影响系统的运作。
因此每一个节点存储的数据应该是一致的,都独立地维持一条完整的区块链链式结构,即便一些节点数据丢失,但只要还有一个节点完好,历史数据就不会丢失。这有效地避免了单点故障带来的系统崩溃,相较于传统的数据灾备模式,其可靠性可以说是万无一失。可追溯性
对单个节点来说,区块链可以被认为是一个时序数据库。每一次对系统的操作,实质是在每个节点数据库中存储了相应的数据及日志。且每一份数据都不是离散的存储,而是按时间顺序前后关联在一起,新的数据一定是从某一组之前已存在的数据派生而来。
想回溯数据的状态变更历史是很容易的,只需要依次往前查找,一定会找到数据的初始状态。
依赖于区块链存储技术,存储主要关注数据结构以及数据关系,包括交易以及区块的数据结构,交易与区块的关联关系,区块状态的存储模式等等。
- 不可篡改
所谓篡改,就是私自的不被认可的修改,而不是不能修改。单个区块链节点中的数据是按时间的先后顺序串联存储的,而串联的关键就利用了密码学中的哈希算法。
我们可以将前一时间段的数据指纹与后一时间段数据整合在一起。周而复始,后一时间段内的数据永远都会包含前一时间段的数据指纹,这样就形成了一条由数据指纹串联的信息链条。
如果有一个作恶者想要修改中间某一时间段的数据,那么依照哈希算法原理,其对应的数据指纹则会改变。因此他不得不依次修改后续的每一个时间段的数据,否则数据链条就会在他修改的这一刻断掉,不再具备可追溯性。
共识算法: 它可以保证整个系统的数据不被篡改。所谓共识,就是在一个分布式系统中保持数据的一致性,而如果出现数据不一致,大多数共识算法都遵循少数服从多数的原则。
etherscan上随意查找的一条交易信息记录: