ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

智能合约开发第一课-概念理解

2022-09-09 20:00:56  阅读:186  来源: 互联网

标签:私钥 智能 gas 交易 第一课 签名 区块 合约 节点


学习智能合约开发

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有