什么是区块链?
概述
从区块链的本质上来说,区块链就是一个去中心化的数据库。简单理解就是一种全部用户参与记账的账本,每个参与者都共同拥有这个账本,这个账本是有区块(每页账本)和链(每页账本上标记前一页的摘要)组成的,会分布式的保存在每个参与者的电脑里。
核心机制
哈希、签名
哈希函数相当于每个区块的“指纹”,任何数据都能哈希(Hash)成一个固定长度的字符串,而且还原不了,不能修改,修改一点点,哈希值就会变化很大。
每个用户都有两个钥匙,私钥用来签名,公钥给对方验证
共识机制
区块链是人人都可以记账的,最难的是选谁来记账,既然是去中心化的,记账人就不能固定。所以要依靠一种方法选出一个记账人,常见的选举方法有:
- 工作量证明机制(PoW)所有人都在算哈希值,谁算的最快,谁就获得记账的权利。
- 权益证明机制( PoS):谁的币多,谁就有权利记账。
PBFT 等: 领导者提议,所有节点投票确认
共识传播,和P2P网络
区块链没有中央服务器,所有的节点同等级,且都保存完整的账本,所有的数据都是通过广播传播,节点接收新的区块时候可以用签名和哈希验证区块是否合法,合法则加入。面对多条链,通常以最长链优先。
智能合约
这是部署在区块链上的自动执行程序,根据预设的条件自动完成交易或者操作,不受任何第三方的影响,一旦部署,满足条件就会执行,谁也不能篡改,所有人都能查看执行过程。
运行原理
用户发起交易时候,调用智能合约中的某个函数,对方节点接收交易后,会调用虚拟机运行合约代码,执行结束后结果一直就会写入区块。
局限性
智能合约一旦上链就不能更改,即使有代码漏洞也不行,部署前需要测试完全,复杂合约的花费也比较高。
智能合约总结
智能合约是将法律条款变为代码,将信任外包给数学和共识机制,这是机器人合同,不讲情面,满足条件就会毫不犹豫的执行。
版权申明
本文系作者 @ZQverse 原创发布在本站,未经许可,禁止转载。
暂无评论数据