前言
一说到区块链,我想大家和我初入区块链公司的认知一样,第一反应就是BTC(比特币)。其实BTC只是区块链中的一个产品,而区块链是一种技术。下面说一下区块链中的基本概念、名词。
区块链
区块链其实是区块和链的总称。区块是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性防伪和生成下一个区块。每个区块都连着上一个区块,说白了区块链就是一个公开透明的的数据库,每个区块是数据库中一条数据,区块中的hash就是连接区块之间的链。区块高度、区块hash
区块hash:相当于一个编号标记区块,只不过不像常见的编号,这个是加密了的。区块hash独一无二
智能合约
智能合约就是传统合同的数字化版本,它跑在区块链网络上,程序自动执行。由于区块链的去中心化,不可篡改,透明可追溯等特性,因此一旦触发协议条款,不用担心其不会执行命令。 它实现了用户从信任第三方机构到信任合同本身,从信任参与方到信任代码的转变。
举个栗子:张三向李四借了100块钱,约定说10号还钱。10号到了,李四拿着欠条向讨债,张三赖账不还,李四只能吃哑巴亏。但是有了智能合约,这件事情就结果完全不一样,张三和李四的资金账户都在区块链上,在借钱之前,把借条就写好,到了还钱日子,先会去执行张三有没有还钱,没还自动执行借条约定,将钱自动划转到李四账户,借条就相当于智能合约
公钥、私钥、助记词
公钥:对外公开的密钥,公钥生成地址,相当于银行卡卡号
私钥:银行卡+密码,拿到私钥就相当于可以操作这个地址里面任何资产,私钥非常重要
助记词:银行卡+密码,一个钱包只有一套助记词且不能修改。
节点
节点就是一个区域的服务器。在互联网区域,一个企业所有运行的数据都在一个服务器里,那么这个服务器就是节点
广播
当一个节点发起一笔交易以后,这个节点要立即向附近的节点进行广播,附近的节点会检查你的交易是否有效,如果有效,表示他们同意这次交易。在同意的基础上,这些节点又会将这笔交易再向附近的节点进行广播,这样一传十,十传百,很快整个网络就会确认这笔交易,并且写入区块中,交易就算完成了链上交易状态(pending、unconfirmed、confirmed、fail)
pending:等待确认。等待矿工确认转账信息,打包到区块中
unconfirmed:确认中。区块确认数未达到自定义确认数
confirmed:已确认,链上确认书大于等于自定义确认书
fail:矿工费不足
确认数
发起一笔交易时被矿工打包到区块,未打包确认数是0,打包过后确认数加1,相当于被矿工确认了一次,之后每新增一个区块,这笔交易的确认数+1。确认书越大,交易越不容易被篡改
交易确认数 = 最新区块 - 交易所在区块 +1
以太坊nonce
nonce可以认为是from地址发出交易的次数,默认从0开始,每次交易后会在上一笔交易+1,nonce若重复会撤销上一笔在pending状态的交易
gas price 、gas limit、矿工费
矿工费(eth) = gas price * Gas Used by Transaction
gas price :当前gas的单价
gas limit:最大花费可以gas量
gas Used by Transaction:实际使用量
这些都是自己实际工作中用到的,全靠自己理解,有不对的地方,可以留言哇~~
创作不易,点个赞呗😭