智能合约开发第一课-概念理解
作者:互联网
学习智能合约开发
1. 理解
智能合约
-
智能合约 = 承诺, 你存在银行的钱,银行保证你取的时候有,来换取使用你的钱去使用的权利 ,彩票,彩票公司来保证你公平的中奖来换取
-
智能合约,能根本上解决当今合同不履行问题的技术,是区块链被开发出来的目的。智能合约其实就是部署在去中心化区块链上的一个合约或者一组指令,当这个合约或者这组指令被部署后,它不能改变,会自动执行,这些代码会被去中心化的执行,去中心化的目的其实就是不可更改。
-
如果存在承诺不被信守的假设,智能合约就可以被应用。
区块链
- 区块链由不同的节点运行,不同的节点运行区块链,是因为它们可以通过区块链上的交易获得收入。当创建一个交易的时候,就会有一个节点,叫矿工或者验证者,运行区块链的会被支付一小部分以太坊,Polygon或者其他区块链的原生代币,这些收入激励人们运行节点
- 交易费和gas 的概念 :节点的收入由gas使用量来决定,gas是一个计算量的单位,要使用更多的计算资源,就需要支付 更多的gas。gas:类似于单价。任何区块链上的交易,都需要支付交易手续费。区块链越繁忙,要付越多的gas,相当于加急服务。
- 一个链用的人越多,发送交易就越贵。在发送交易时,由于交易发送时间和指令不同,花费的gas可能比预计的多。
- 每个区块链都有不同的手续费燃烧和gas机制设置,在区块链中,区块能存储交易的空间有限,为了让你的交易被写在某个区块中,你需要支付手续费。
- 中本聪共识,包括工作量证明(PoW)和最长链规则。工作量证明 : 需要完成很大计算量,也就是挖矿,找到区块链"难题"的答案,在工作量证明中,可以验证谁挖出了区块,告诉我们谁得到了交易手续费;最长链规则:链选择的共识,怎样确定那个区块链是正确的链,去中心化网络约定,那条链最长,有最多的区块,就用那条链;
- 有些区块链,比如比特币,会设置一个时间点,过了时间点就会取消区块奖励
- 权益证明 (PoS) : 是PoW的进化版本,针对其节点为了抢奖励和交易手续费,而去快速计算,消耗大量的电力资源。在权益证明中,节点会被直接选举出来,然后提出一个区块,别的节点会验证这个被提出的区块是否有效
- 区块链分片,分片就是可扩展性问题的一种解决方案,
区块链运行机制
-
共识算法(工作量证明):矿工解决了非常困难的问题,要花费很长的时间。它们需要找到一个Nonce,或者说是一个数值,找到的Nonce需要和块高以及Data一起进行哈希运算,结果必须4个0开头。"一个一个找“,也就是区块链矿工挖矿的过程,一个不断计算的过程来找到Nonce,而这个Nonce 可以解决对应的难题。
-
区块链的第一个模块,被称为创世模块,其pre为0000,指向一个不存在的区块。在区块中,是将块高,Nonce和Data一起进行哈希运算,获得hash值。区块链中,是将块高,Nonce,Data,再加上Prev进行哈希运算。
-
为什么区块链不可篡改:如果改动其中的某一个,其之后的链都会失效,因为,修改data,本区块的hash 会改变,而下一个区块中对应的prev并没有更改,所以修改的data会让后面的链失效。因为一旦改动任何一个数据,都会让后面的区块无效。如果想要修改,那就必须重新挖矿,修改位置越靠前,挖矿耗费的资源越多。而分布式使得所有节点都记录信息,如果有一个链更改了,并且重新挖矿,但是其最后一个区块的hash一定和其他人的不一样,那就说明它随意更改了,其他节点对它说,你是错的。对错显而易见,因为修改所有人的节点和重新挖矿是不可能的。
-
区块链就是基于这个哈希算法,然后通过复杂的方式生成密码学证明。
-
区块链其实是通过Solidity 代码运行的,而不是在这里将随机值放在Data区域。Solidity 代码定义了链上不同区块和协议交互方式。也可以说它们是通过智能合约定义的。
签名交易
- 根据输入的私钥,通过算法生成公钥,会像密码一样使用这个私钥,对交易进行密码学电子签名。别人通过公钥 ,来验证这个签名的交易。
- 使用签名算法,使用私钥,比如说,对信息“hi world” 进行信息签名,通过Message ,Private Key ,生成 Message Signature得到一个针对于这条信息的信息签名。然后可以使用公钥来验证(根据输入的私钥生成的自己的公钥)。通过Message,Public key 和 Message Signature来进行验证。
- 私钥用来对信息进行签名,公钥让别人来验证签名是你的
- 信息也就可以是交易,那么通过私钥对交易进行签名,其他人通过公钥对信息签名进行验证。
- 签名算法的强大之处就在,通过Message Signature 得不到私钥。通过你的公钥,任何人都可以轻易验证,你签名的交易确实是你签名的。
标签:私钥,智能,gas,交易,第一课,签名,区块,合约,节点 来源: https://www.cnblogs.com/moshanghuai/p/16673829.html