以太坊私钥全为0
1. 以太坊是什么丨以太坊开发入门指南
以太坊是什么丨以太坊开发入门指南
很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门。
以太坊是什么
以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。
对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用。
在没有以太坊之前,写区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法,共识机制,网络协议等等(很多山寨币就是这样,改改就出来一个新币)。
以太坊平台对底层区块链技术进行了封装,让区块链应用开发者可以直接基于以太坊平台进行开发,开发者只要专注于应用本身的开发,从而大大降低了难度。
目前围绕以太坊已经形成了一个较为完善的开发生态圈:有社区的支持,有很多开发框架、工具可以选择。
智能合约
什么是智能合约
以太坊上的程序称之为智能合约, 它是代码和数据(状态)的集合。
智能合约可以理解为在区块链上可以自动执行的(由事件驱动的)、以代码形式编写的合同(特殊的交易)。
在比特币脚本中,我们讲到过比特币的交易是可以编程的,但是比特币脚本有很多的限制,能够编写的程序也有限,而以太坊则更加完备(在计算机科学术语中,称它为是“图灵完备的”),让我们就像使用任何高级语言一样来编写几乎可以做任何事情的程序(智能合约)。
智能合约非常适合对信任、安全和持久性要求较高的应用场景,比如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权所有权管理、物联网、点对点交易等等。
目前除数字货币之外,真正落地的应用还不多(就像移动平台刚开始出来一样),相信1到3年内,各种杀手级会慢慢出现。
编程语言:Solidity
智能合约的默认的编程语言是Solidity,文件扩展名以.sol结尾。
Solidity是和JavaScript相似的语言,用它来开发合约并编译成以太坊虚拟机字节代码。
还有长像Python的智能合约开发语言:Serpent,不过建议大家还是使用Solidity。
Browser-Solidity是一个浏览器的Solidity IDE, 大家可以点进去看看,以后我们更多文章介绍Solidity这个语言。
运行环境:EVM
EVM(Ethereum Virtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境。
Solidity之于EVM,就像之于跟JVM的关系一样,这样大家就容易理解了。
以太坊虚拟机是一个隔离的环境,在EVM内部运行的代码不能跟外部有联系。
而EVM运行在以太坊节点上,当我们把合约部署到以太坊网络上之后,合约就可以在以太坊网络中运行了。
合约的编译
以太坊虚拟机上运行的是合约的字节码形式,需要我们在部署之前先对合约进行编译,可以选择Browser-Solidity Web IDE或solc编译器。
合约的部署
在以太坊上开发应用时,常常要使用到以太坊客户端(钱包)。平时我们在开发中,一般不接触到客户端或钱包的概念,它是什么呢?
以太坊客户端(钱包)
以太坊客户端,其实我们可以把它理解为一个开发者工具,它提供账户管理、挖矿、转账、智能合约的部署和执行等等功能。
EVM是由以太坊客户端提供的。
Geth是典型的开发以太坊时使用的客户端,基于Go语言开发。 Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。Geth的使用我们之后会有文章介绍,这里大家先有个概念。
Geth控制台和Chrome浏览器开发者工具里的面的控制台是类似,不过是跑在终端里。
相对于Geth,Mist则是图形化操作界面的以太坊客户端。
如何部署
智能合约的部署是指把合约字节码发布到区块链上,并使用一个特定的地址来标示这个合约,这个地址称为合约账户。
以太坊中有两类账户:
· 外部账户
该类账户被私钥控制(由人控制),没有关联任何代码。
· 合约账户
该类账户被它们的合约代码控制且有代码与之关联。
和比特币使用UTXO的设计不一样,以太坊使用更为简单的账户概念。
两类账户对于EVM来说是一样的。
外部账户与合约账户的区别和关系是这样的:一个外部账户可以通过创建和用自己的私钥来对交易进行签名,来发送消息给另一个外部账户或合约账户。
在两个外部账户之间传送消息是价值转移的过程。但从外部账户到合约账户的消息会激活合约账户的代码,允许它执行各种动作(比如转移代币,写入内部存储,挖出一个新代币,执行一些运算,创建一个新的合约等等)。
只有当外部账户发出指令时,合同账户才会执行相应的操作。
合约部署就是将编译好的合约字节码通过外部账号发送交易的形式部署到以太坊区块链上(由实际矿工出块之后,才真正部署成功)。
运行
合约部署之后,当需要调用这个智能合约的方法时只需要向这个合约账户发送消息(交易)即可,通过消息触发后智能合约的代码就会在EVM中执行了。
Gas
和云计算相似,占用区块链的资源(不管是简单的转账交易,还是合约的部署和执行)同样需要付出相应的费用(天下没有免费的午餐对不对!)。
以太坊上用Gas机制来计费,Gas也可以认为是一个工作量单位,智能合约越复杂(计算步骤的数量和类型,占用的内存等),用来完成运行就需要越多Gas。
任何特定的合约所需的运行合约的Gas数量是固定的,由合约的复杂度决定。
而Gas价格由运行合约的人在提交运行合约请求的时候规定,以确定他愿意为这次交易愿意付出的费用:Gas价格(用以太币计价) * Gas数量。
Gas的目的是限制执行交易所需的工作量,同时为执行支付费用。当EVM执行交易时,Gas将按照特定规则被逐渐消耗,无论执行到什么位置,一旦Gas被耗尽,将会触发异常。当前调用帧所做的所有状态修改都将被回滚, 如果执行结束还有Gas剩余,这些Gas将被返还给发送账户。
如果没有这个限制,就会有人写出无法停止(如:死循环)的合约来阻塞网络。
因此实际上(把前面的内容串起来),我们需要一个有以太币余额的外部账户,来发起一个交易(普通交易或部署、运行一个合约),运行时,矿工收取相应的工作量费用。
以太坊网络
有些着急的同学要问了,没有以太币,要怎么进行智能合约的开发?可以选择以下方式:
选择以太坊官网测试网络Testnet
测试网络中,我们可以很容易获得免费的以太币,缺点是需要发很长时间初始化节点。
使用私有链
创建自己的以太币私有测试网络,通常也称为私有链,我们可以用它来作为一个测试环境来开发、调试和测试智能合约。
通过上面提到的Geth很容易就可以创建一个属于自己的测试网络,以太币想挖多少挖多少,也免去了同步正式网络的整个区块链数据。
使用开发者网络(模式)
相比私有链,开发者网络(模式)下,会自动分配一个有大量余额的开发者账户给我们使用。
使用模拟环境
另一个创建测试网络的方法是使用testrpc,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更方便快捷。而且testrpc可以在启动时帮我们创建10个存有资金的测试账户。
进行合约开发时,可以在testrpc中测试通过后,再部署到Geth节点中去。
更新:testrpc 现在已经并入到Truffle 开发框架中,现在名字是Ganache CLI。
Dapp:去中心化的应用程序
以太坊社区把基于智能合约的应用称为去中心化的应用程序(DecentralizedApp)。如果我们把区块链理解为一个不可篡改的数据库,智能合约理解为和数据库打交道的程序,那就很容易理解Dapp了,一个Dapp不单单有智能合约,比如还需要有一个友好的用户界面和其他的东西。
Truffle
Truffle是Dapp开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程。
总结
我们现在来总结一下,以太坊是平台,它让我们方便的使用区块链技术开发去中心化的应用,在这个应用中,使用Solidity来编写和区块链交互的智能合约,合约编写好后之后,我们需要用以太坊客户端用一个有余额的账户去部署及运行合约(使用Truffle框架可以更好的帮助我们做这些事情了)。为了开发方便,我们可以用Geth或testrpc来搭建一个测试网络。
注:本文中为了方便大家理解,对一些概念做了类比,有些严格来不是准确,不过我也认为对于初学者,也没有必要把每一个概念掌握的很细致和准确,学习是一个逐步深入的过程,很多时候我们会发现,过一段后,我们会对同一个东西有不一样的理解。
2. 什么是以太坊私钥储存(Keystore)文件
那是你上一个安装或者卸载程序没有完成,也有可能是你打开图形软件安装软件,所以会包这个错误,关闭所有的与软件管理的程序,然后在安装试试。。再不行就kil掉或者重启软件
3. 【深度知识】区块链之加密原理图示(加密,签名)
先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:
秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。
如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。
2、无法解决消息篡改。
如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。
1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。
2、同样存在无法确定消息来源的问题,和消息篡改的问题。
如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。
1、当网络上拦截到数据密文2时, 由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。
2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。
如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。
1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。
2、当B节点解密得到密文1后, 只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。
经两次非对称加密,性能问题比较严重。
基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:
当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要, 之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1, 比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。
在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。
无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。
在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢? 有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。
为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。
在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后 对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。
为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:
在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。
以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?
那么如何生成随机的共享秘钥进行加密呢?
对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥 和 临时的非对称私钥 可以计算出一个对称秘钥(KA算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:
对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。
对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。
那么究竟应该采用何种加密呢?
主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。
密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。
在整个网络的传输过程中,根据密码套件主要分如下几大类算法:
秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。
消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。
批量加密算法:比如AES, 主要用于加密信息流。
伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。
在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。
握手/网络协商阶段:
在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等
身份认证阶段:
身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。
消息加密阶段:
消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。
消息身份认证阶段/防篡改阶段:
主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。
ECDSA :用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。 主要用于身份认证阶段 。
ECDH :也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。 主要用于握手磋商阶段。
ECIES: 是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH), H-MAC函数(MAC)。
ECC 是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。 ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。
<meta charset="utf-8">
这个先订条件是为了保证曲线不包含奇点。
所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:
所有的非对称加密的基本原理基本都是基于一个公式 K = k G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式 不可进行逆运算( 也就是说G/K是无法计算的 )。 *
ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。
我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k G计算出我们的公钥K。并且保证公钥K也要在曲线上。*
那么k G怎么计算呢?如何计算k G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。
首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:
在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2 2 = 2+2,3 5 = 5+5+5。 那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。
曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。
现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。
ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。
那么P+Q+R = 0。其中0 不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。
同样,我们就能得出 P+Q = -R。 由于R 与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。
P+R+Q = 0, 故P+R = -Q , 如上图。
以上就描述了ECC曲线的世界里是如何进行加法运算的。
从上图可看出,直线与曲线只有两个交点,也就是说 直线是曲线的切线。此时P,R 重合了。
也就是P = R, 根据上述ECC的加法体系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0
于是乎得到 2 P = -Q (是不是与我们非对称算法的公式 K = k G 越来越近了)。
于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。
假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。
那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。
选一个随机数 k, 那么k * P等于多少呢?
我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111
由于2 P = -Q 所以 这样就计算出了k P。 这就是点倍积算法 。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。
至于为什么这样计算 是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:
我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了 整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?
ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:
在曲线上选取一个无穷远点为基点 G = (x,y)。随机在曲线上取一点k 作为私钥, K = k*G 计算出公钥。
签名过程:
生成随机数R, 计算出RG.
根据随机数R,消息M的HASH值H,以及私钥k, 计算出签名S = (H+kx)/R.
将消息M,RG,S发送给接收方。
签名验证过程:
接收到消息M, RG,S
根据消息计算出HASH值H
根据发送方的公钥K,计算 HG/S + xK/S, 将计算的结果与 RG比较。如果相等则验证成功。
公式推论:
HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG
在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C = A+C+B = (A+C)+B。
这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考 Alice And Bob 的例子。
Alice 与Bob 要进行通信,双方前提都是基于 同一参数体系的ECC生成的 公钥和私钥。所以有ECC有共同的基点G。
生成秘钥阶段:
Alice 采用公钥算法 KA = ka * G ,生成了公钥KA和私钥ka, 并公开公钥KA。
Bob 采用公钥算法 KB = kb * G ,生成了公钥KB和私钥 kb, 并公开公钥KB。
计算ECDH阶段:
Alice 利用计算公式 Q = ka * KB 计算出一个秘钥Q。
Bob 利用计算公式 Q' = kb * KA 计算出一个秘钥Q'。
共享秘钥验证:
Q = ka KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q'
故 双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。
在以太坊中,采用的ECIEC的加密套件中的其他内容:
1、其中HASH算法采用的是最安全的SHA3算法 Keccak 。
2、签名算法采用的是 ECDSA
3、认证方式采用的是 H-MAC
4、ECC的参数体系采用了secp256k1, 其他参数体系 参考这里
H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:
在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。
首先,以太坊的UDP通信的结构如下:
其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。
其UDP的整个的加密,认证,签名模型如下:
4. 以太坊钱包私钥和地址丢失了怎么办
用电脑网盘可尝试恢复。
第一步,打开电脑,可以看到插入的一个硬盘处于BitLocker加密状态。
第二步,双击这个盘,输入密码进行解密操作。
第三步,当输入完正确的密码后,硬盘就能显示大小和查看里边的内容了。
第四步,这个时候,右键点击硬盘,选择管理BitLocker选项。
第五步,在弹出的窗口中选择,再次保存或打印安全密钥选项。
第六步,选择,将密钥保存到文件选项。
最后,密钥就可以重新获得了。
如何保存私钥,1、备用Keyfile或JSON,2、掌握自己的助记词档,3、用拥有找回专利的数字钱包,4、钱包私钥最好使用纸笔抄录,同时自己保存起来,5、切勿相信一切以索取私钥为理由的空投代币行为,要时刻记住,世上没有免费的午餐。
5. imtoken钱包怎么导出以太坊明文私钥
imtoken钱包怎么导出以太坊文明私钥,消岩imtoken钱包软件中有很多的功能,不少人不知道怎么去导出以太坊钱包粗桥哗明文私钥,下面跟着小编一起来看看吧,希望此文章能帮到你。
imtoken钱包怎么导出以太坊明文私钥
1.打开imToken软件进入首页后,点击如图所示“ETHv”按钮,进入钱包管理界面,点击ETH-Wallet后面的“...”按钮。
2.进入ETH-Wallet的钱包管理界面,点击“导出私钥”,输入钱包密码。
3.进入导出私钥界面,根据提示进行操作。请妥善保管,确保使用离线存储,不要用网络传输,否则你的岩行钱包会面临被盗的风险。
6. iBox黑洞地址什么意思
黑洞地址即私钥丢失或无法确定私钥的地址,常被项目方用来销毁代币。
全零地址“”应该是以太坊上最著名的黑洞地址,目前该地址上有超过8000个ETH和FT、比原链等项目方销毁的ERC 20 Token。
熊市时更应该保管好你的私钥/助记词,不然等到牛市的时候你可能会发现你的钱包地址也成为了黑洞地址。
7. 什么是公钥、私钥、密码、助记词、Keystore
公钥、私钥、密码、助记词、Keystore是在使用数字货币钱包时,必须要弄清的概念:如果不搞清楚,很可能会造成数字资产的严重损失。
1.公钥:
相当于所属钱包的地址,可理解成银行账户。
公钥的地址可理解成银行卡号,是由公钥通过计算得来,就像银行先给你开户,后给你银行卡卡号。
钱包地址的主要用途是收款,也可以作为转账的凭证,就像别人汇款给你时你需要告诉他银行卡卡号一样。
常见的钱包地址样式:
比特币:普通地址:1开头、隔离见证地址:3开头
以太坊地址:0x开头:(包括基于以太坊平台代币)瑞波币地址:r开头。
莱特币地址:L开头。
2.私钥:
非常重要,相当于银行卡号+银行卡密码。
创建钱包后,输入密码即可导出私钥。私钥是由字母数字组成的字符串,一个钱包地址只有一个私钥且不能修改。私钥要离线保存,不要进行网络传输,可用纸张记录并保存。
主要用途,导入钱包。有了私钥就可以在同系列的任何一款钱包上,输入私钥并设置一个新的密码就可以把之前的A钱包的资产导入B钱包。比如手机丢了,只要你有私钥就可以恢复。
3.密码 :
相当于银行卡密码。
在创建数字货币钱包时,需要设置一个密码,一般要求不少于8个字符。
主要用途:①转账时需要输入密码,可理解成你用银行卡给别人转账需要输入密码;②用Keystore导入钱包时,必须输入这个密码。
密码可以进行修改或重置。输入原密码后,就可以直接修改新的密码了;但如果原密码忘记,可以用私钥或是助记词导入钱包,同时设置新的密码。数字货币钱包中,一个钱包在不同手机上可以用不同的密码,彼此相互独立,互不影响。
4.助记词
等于私钥=银行卡号+银行卡密码
由于私钥由64位字符串组成,不便于记录,非常容易抄错,于是就出现了助记词,方便用户记忆和记录。由12个单词组成,每个单词之间有一个空格,助记词和私钥具有同样的功能:只要输入助记词并设置一个新的密码,就可以导入钱包。
一个钱包只有一套助记词且不能修改。助记词只能备份一次,备份后,在钱包中便不会再显示。因此,在备份时一定要抄写下来,防止抄写错误,尽量多次检验。
5.Keystore:
Keystore+密码=私钥=银行卡号+银行卡密码、Keystore ≠ 银行卡号
Keystore相当于加密过后的私钥,在导入钱包时,只要输入Keystore 和密码,就能进入钱包了。这一点和用私钥或助记词导入钱包不一样,后两者不需要知道原密码,而是直接重置密码。
keystore进行交易转账等钱包操作,必须知道该keystore的密码。keystore的密码是无法更改的,一个keystore对应一个密码。但是可以通过该钱包的助记词,重新生成一个keystore。这个keystore可以用新的密码生成,重新生成新的keystore之后,最好将旧的keystore删除。
总结:
一个数字货币钱包创建完成后,公钥和私钥是成对出现的。公钥,私钥都是由字母,数字组成的较长的字符串。
keystore和助记词可以理解为私钥的另一种表现形式。助记词作为钱包私钥的友好格式,非常方便备份和导入。
地址可以通过私钥、助记词、keystore+密码,导入钱包找回。密码可以通过私钥、助记词,导入钱包重置密码。如果私钥、助记词、Keystore+密码,有一个信息泄漏,别人就可以拥有你钱包的控制权,钱包内的币就会被别人转移走。
私钥通过加密生成公钥,公钥转换一下格式生成地址。私钥可以推导出公钥,公钥可以推导出地址,但无法通过输出地址、公钥推导出私钥。
在生活中,银行开户是“开设银行账户—银行卡号—设置银行卡密码—开户成功
在币圈里,是先设置“密码”(私钥),再得到“银行账户”(公钥),最后给地址。对于钱包安全管理,主要注意防盗和防丢。防止私钥泄露及丢失。
注意事项:
1.关于各种骗局诱导交出私钥、助记词的行为,都要谨慎操作;
2.重视私钥、助记词、Keystore+密码的备份和保存!多重备份,多次备份,多重验证,防止抄写错误。
3.私钥不好备份的情况下,可选用备份助记词,具体根据钱包的备份要求。
4.不要进行联网备份,或通过微信、qq、邮箱等任何第三方工具进行传输发送你的私钥、助记词、keystore。不要截图。
5.备份内容放到安全、妥善的地方,并告诉家人(以防突发事故发生)
数字货币钱包的作用是安全存储资产,这是最重要的!从投资纪律来讲,本金安全是一切的基础。对于理财类的钱包,声称赚取收益高回报等,应该叫“数字资产理财”更恰当。你的资产他们可以随意动用拿去投资。你对资产没有完全的掌控权,如果投资顺利,本息安全,如果投资失败,血本无归。所以,请慎重使用这类钱包,应该注重的是资产的安全和私密性。
8. 以太坊怎么根据地址获取私钥
安装metamask metamask是可以安装在浏览器上的扩展程序,可以在进行安装。建议在安装在虚拟机中
以太坊的私钥生成是通过secp256k1椭圆曲线算法生成的,secp256k1是一个椭圆曲线算法,同比特币。公钥推导地址和比特币相比,在私钥生成公钥这一步其实是一样的,区别在公钥推导地
以太坊钱包地址就是你的银行卡号,倘若你把地址忘了,可以用私钥、助记词、keystore+密码,导入钱包找回。首先注册登录bitz,找到资产下面的以太坊,点击充值,这时候就能获取充值地址了。然后把钱包里的以太坊直接充到这个地址就行了。
9. 怎么看待加密货币
加密货币是货币改革的方向之一。随着区块链技术的发展,加密货币(数字化货币)是各国央行努力推行的一种货币。虽然世界上己出现加密货币、如比特币,由于不能监管,世界各国大多不接受;美国也未正式批准其上市交易,比特币交易平台也未建立。虽然有不少业内人市,呼吁美国政府建立可监管的比特币交易平台,而实体经济特斯拉公司又高调宣称购买了比特币……
毫无疑问,各国央行对数字化(加密)货币兴趣日浓,积极研究试行,测试;在中国上海第4届进博会上,中国人民
银行、中国工商银行开展了数字化人民币的推广工作,场景应用,外币自由兑换数字人民币等。可以预计,数字人民币不久将在中国上海,及各地迅速普及、推广应用。
总之,我们应当以积极的态度,看待加密(数字化)货币,乐与参与其中,积极应用。
单说加密货币的话,话题有些狭窄,我直接来说说区块链技术。
作为一个 科技 资讯类(区块链技术)的自媒体我,当然是爬桌子加上熬夜看了。为了知识积累,为了学习最新的互联网技术,不看咋整?不管是因为生活,还是工作,区块链技术作为目前最热的项目,我必须去了解。
作为 社会 最底层的我,一个资深打工仔来讲,加密货币离我很遥远。通过学习,我知道它是基于区块链技术衍生出来的交易虚拟货币。而且是限量的,在国外的第三方平台上交易很火爆,从最初的0.3美元10年时间涨到接近2万美元。有的时候我就在想,当初为什么不买那么几十个放在那呢?归根结底还不是因为穷?当初的你哪怕有那个钱,但是会狠下心来买那个玩意一放就是接近十年么?有人说加密货币、数字货币等等都是大佬弄出来圈钱的,用来割韭菜的,这话我无法反驳,但是就我而言,我连当韭菜的资格都木有。
作为自媒体我的我,一个以自媒体为工作的普通人。不管对加密数字抱有怎样的态度,我都必须去了解它。从它的起源到它的落地应用项目,从它的基层技术到后续的技术应用。从ICO的各种项目到相关信息,甚至还要了解因为加密货币、因为虚拟货币而发家致富的这些大佬背后的故事。就连昨晚做的梦都跟区块链技术、各种货币资讯有关。
作为旁观者的我,其实我并不喜欢这些东西。因为我只是个普通人,加密货币这个词语,就像你跟我说李嘉诚的钱一样虚幻。作为普通人我知道李嘉诚有钱,但那和我有什么关系呢?作为普通人,我知道基于区块链技术衍生出来的各种货币很值钱,有人因此变成百亿富翁,但那和我又有什么直接的联系么?
它影响不了我的生活,但它影响了韭菜的生活。
它影响不了我的生活,但它影响了大佬们的生活。
它影响不了我的生活,但它影响了世界的秩序。
就像那帮大佬说的,它真的有可能是第五次革命的诱因。
加密货币的诞生源于对电子支付行业的革新,旨在搭建去中心化、个人对个人的电子货币体系。2008年11月,一份署名中本聪的论文被发表在网络上,其标题为《比特币:对等网络电子现金系统》,论文中详细描述了如何使用对等网络来创造一种“不需依赖信任的电子交易系统”;2009年1月,比特币网络上线,推出了第一个开源的比特币客户端软件,中本聪使用该软件对第一个比特币“区块”进行“采矿”,并获得了第一批的50个比特币;其后,加密货币体系实现飞速发展,一方面,加密货币的市值不断增长,2017年12月,比特币交易价格首次突破15000美元,市值达2561亿美元;另一方面,加密货币的应用场景不断拓展,以太坊、瑞波币、稳定币USDT、Libra等数字货币也接连发布。
自2009年第一枚比特币诞生至今,伴随着区块链技术的不断成熟,加密货币行业也经历了飞速发展。据CoinMarketCap统计,目前已有超过2650种加密货币,截至2019年9月8日,加密货币总市值为2678.7亿美元,市场总交易额为526.3亿美元。其中比特币市值占比70.4%,市值为1885亿美元,而ETH(以太坊)和XRP(瑞波币)市值分别为192和112亿元。
一直以来,去中心化、吞吐量、安全性三者始终不可兼得,构成了数字加密货币领域的“不可能三角”悖论。举例而言,比特币网络的最大问题是其低吞吐量带来的低可扩展性,比特币网络目前每秒最多只能处理7笔交易,极大限制了比特币作为交易手段的应用场景,其他比特币分叉在此基础上各有改进,但受限依旧明显;以太坊追求可扩展性和中心化,但牺牲了安全性,此前的“TheDAO”事件(黑客利用智能合约漏洞转移资金)就是例证;EOS则采用超级节点的模式,以部分牺牲去中心化特点为代价,实现了每秒百万笔的吞吐量。
行行查,行业研究数据库
请至网站www.hanghangcha.com
手机访问“行行查”小程序更方便
一.加密货币:
1.基于去中心化的共享机制,分布式账本的区块链技术,以电子钱包,私钥方式呈现,区块链自动记入,分散式结算,无法被扣押,冻结,与依赖中心化监管的银行金融系统相对;
2.截止2018年5月,已有超过1800种加密货币标准,互不信任的参与者维护着分类帐的安全,完整,余额;
3.2009年,比特币成为第一个去中心化的加密货币,而比特币以外的同型态货币,称为:山寨币,竞争币;
二.市值和数量:
1.2019年7月,市场上有2600种加密货币流通;
2.截止2021年5月,有9996种加密货币,加密货币交易所381家;
3.2021年5月初:总市值:约2万3000亿美元,截止5月21日总市值:约1万5800亿美元。比特币占市值和交易绝对多数,其次瑞波币,以太坊等;
三.1.比特币:代码:BTC,创建者:中本聪于2009年,最高发行量:2100万个
2.瑞坡币:代码:XRP,创建者:Ripple实验室于2013年,最高发行量:1000亿个
3.莱特币:代码:PPC,创建者:Coblee于2011年,最高发行量:8400万个
4.以太坊:代码:ETH,创建者:Vitalik Buterin于2015年,最高发行量:无限个
四.市场上著名十大加密货币交易所:
1.币安,马耳他;2.火币,新加坡;3.OKEX欧易,马耳他;4.比特儿,香港;5.Coinbase,美国;6.Bitfinex,香港;7.ZB.com,香港;8.Bithumb,韩国;9.Bit-Z,美国;10.Bitflyer,日本;
五.政府法律监管的难度和风险:
难度:侵犯隐私,阻碍创新
风险:贩毒,洗钱,野蛮生长,个人和机构参与破产和收益相对;
个人是比较看好的加密货币的。
最早的加密货币是比特币,比特币诞生于2008年,当时全球处于一次大的金融危机之中,这次危机由美国引发并席卷全球,主权国家滥发货币,导致货币的严重贬值,通货膨胀居高不下,人们对此尤为不满,人们特别渴望一种保值的、升值的数字货币出现。在这种大背景下比特币横空出世,也逐渐到受到了市场的认可和追捧。
比特币实际上解决的是一个信用危机,比特币具有去中心化、透明性、全球支付的特征,解决了普遍存在的一个信用问题,但比特币并不是完美的,网络拥堵市场发生,这也就导致了比特币现金的出现,比特币现金作为比特币的孪生兄弟逐渐的获得了市场的认可。
另外,一些 科技 界、金融界的巨头公司也纷纷看好加密货币,认为加密货币是未来发展的一个趋势,未来有可能取代法币,全球大多数国家的政府也大多肯定了底层技术区块链,也都在区块链方面发力。
怎么看待加密货币?
加密货币是一种新型的金融工具,借助区块链技术实现了以前电子货币难以完成的防伪和验证功能。
以前的电子货币由中心化系统控制,例如QQ币。假如你能黑入腾讯的服务器,或利腾讯的漏洞,或者由腾讯的内部人员悄悄篡改,你就可以无端拥有大量的QQ币。从事实上来说,这些修改而来的QQ币是真的,因为可以正常使用。但从法理意义上来说,这些都是“假币”,因为它没有经过合理的程序产生。举例说明,相信大家都听说过刷Q币。
这些都是以前的电子货币存在的问题。现在,区块链技术能够为这些电子货币加上一条唯一的加密识别码,并且和前后的信息关联,让它像锁链一样一环扣一环的记录保存。这样就能实现电子货币的防伪和验证。这就是加密货币的特性。
区块链上的加密货币可以追溯到最初持有加密货币的人,他交易给了谁,又是怎样一步步的传到你手上,这些都可以查询。如果区块链上没有相应的记录,那么这枚加密货币就是“假的”。这是加密货币的性质。
加密货币说到底就是一个工具,一个工具能起什么作用,要看使用它的人用来干什么。一把好的水果刀,厨师可以用来切水果,雕刻家就能用来雕刻艺术品。怎么看要看它怎么用。
伴随着比特币暴涨之际,加密货币会是货币的未来吗?加密货币的价值到底在哪里?
比特币横空出世的时候,第一个去中心化的加密货币就这样诞生了。很多投资者表示,喜欢加密货币是因为“加密货币市场具有巨大的增值潜力和市场扩张”以及“新金融 科技 能够带来的自由”。
的确如此,比特币从刚刚诞生时到现在已经超过了至少几千倍乃至上万倍的价值回报,当然近日比特币大幅拉涨也是赚足了市场眼球,前百名的数字货币有97个也在拉涨,比特币更是逼近7500美元大关,相信很多人已经自由了吧!
然而,比特币暴涨,美国国会可坐不住了,连着举办两场听证会,大有建立具有影响力的全球加密货币体系,难道,又一个“布雷顿森林体系”要建立?
频繁的听证会,议题涵盖加密领域安全、监督与属性认定等多个层面,可谓是左勾拳一下,右勾拳一下,这样的“组合拳”式的出击有点司马昭之心,路人皆知呀!又想在加密金融领域做个老大哥,谋求“远大前程”吧。
在众议院金融服务委员会题为“货币的未来:加密货币”的听证会上,前CFTC主席Gary Gensler在会上称:“黄金背后并没有什么支持,支持它的是一种文化规范,几千年来我们都喜欢黄金。我们将其看作价值储备,所以比特币是数字黄金的现代形式,是一种 社会 建构。”
尽管很多加密货币看起来像庞氏骗局,在数字货币领域也是发生过此类骗局,但当更多的人对这种货币建立起共识,就像黄金一样能够扮演好自己等价的角色。那时加密货币就会有它存在的价值了吧!
Barr问道:“加密货币只是一种新的方式,来保持和转移存在有限影响力和利基吸引力的价值,还是会产生深远的变革效应?”
加密货币确实是一种新的方式,一种基于去中心化的加密货币。加密货币背后是基于区块链技术的,区块链的发展使 社会 重新思考货币的性质,加密货币可能代表着“财产的未来”。
同时也有人称,加密货币不是真正的货币,给投资者带来重大风险。不管声音如何,我们可以看到美国试图在加密货币里建立自己的影响力。
我们处在巨变前夕, 99%的人看不见,0.8%的人看不起,0.19%的人看懂了,0.01%的人在行动!我们相信你也是那0.01%里的人哦。
不定期空投糖果哟~
加密货币,也称数字货币、虚拟货币,一定程度上充当着交换媒介的角色。它在区块链技术上运行,使用密码学来验证交易、保证交易的安全性。本质上而言,加密货币是数据库中有限的条目,除非满足特定的要求,否则没人能够改变它。目前不少人对加密货币的态度都处于两个极端,有人认为加密货币孕育着无数个新机会,是一个可能助力自己实现财务自由的上好通道,而另外又有人认为加密货币只是泡沫,是庄家用来收割韭菜的法门。但凡事都有两面性,我们既不能对加密货币一味追捧,也不能生硬地将其一棒子打死。这里我想简单介绍一下加密货币的 历史 ,再从正反两个方面谈谈加密货币:
加密货币的 历史 : 事实上,早在20世纪90年代爆发技术潮的时候就有许多人尝试创造数字货币。当时市场上出现了Flooz、Beenz等系统,其中,Flooz尝试创造互联网商人所特有的货币,而Beenz则是一种在线货币,开发者允许用户通过浏览网页、网上购物等行为来获取Beenz。只不过,最后出于欺诈、金融问题、公司老板与员工之间的摩擦等多种因素,这些系统均告失败。值得注意的一点是,这些系统都利用了可信任的第三方来保证运行,即这些系统背后的公司负责验证交易、推动交易顺利进行。而由于这些公司最后都走向失败,在很长一段时间内,建立一个数字现金系统都被视作注定要失败的事业。到了2009年,一位匿名的程序员(也可能是一群)以“中本聪”之名推出了比特币,并将其定义为“点对点的电子现金系统”。比特币去中心化,意即交易过程中不设服务器,也没有中央控制机构。而自比特币推出之后,“加密货币”这一概念才逐渐广为人知。
加密货币的主要优点:
1.容易获取。只要自己愿意,全世界的投资者都能较为轻易地获取加密货币。你可以找到许多希望通过加密货币来筹资的项目,而几乎任何一个具备在线转账条件的人都可以参与这些项目;
2.支付、结算都十分便捷。用加密货币进行支付,你不必绑定借记卡、信用卡等,也无需输入个人信息,而是只需要对方的一个钱包地址。且由于交易过程中不存在第三方机构,加密货币支付、结算比起传统支付方式省时许多;
3.交易费低。使用在线渠道、银行网关等方式转账的话,交易费用较为昂贵,而使用加密货币的交易费相比起来就低得多;
4.安全性。由于去中心化,用户不需要与银行等第三方机构分享自己的身份或行踪,也不需要分享与交易对象之间交易的细节,这就大大提高了交易的安全性。尽管目前部分加密货币的匿名性遭受质疑,但比起传统方式,交易的安全性还是有所优势。
加密货币的主要缺点:
1.难以理解。对普罗大众而言,“加密货币”其实还是比较抽象的事物。而许多人为了不错过这班“致富车”,最终会急匆匆地在没有充分了解和足够知识储备的情况下盲目投资,造成经济损失;
2. 没有办法挽回转错的帐。如果你使用加密货币转错了帐,则无法退还已付金额。你所能做的就是要求你的转账对象退款,但如果你的请求被对方拒绝了,这笔钱也就要不回来了;
3.价格波动性巨大。不少人感慨“币圈一天,人家一年”,部分原因就是加密货币的价格波动程度太大;
4.缺乏监管,圈内环境混乱。由于加密货币匿名的特质,许多不法分子利用这一手段进行一些违法活动,如诈骗、洗钱等,但目前全世界还没有哪个国家针对加密货币采取了健全的监管措施。未被主权国家以法律形式认可、缺乏有力监管,加密货币的状况难谈稳健。
说了这么多,稍稍总结一下。一个事物的出现必然出于一定的 社会 需求,毕竟有需求才会有市场,有了市场该事物才能存活。我们不妨给予一定的耐心。加密货币有利有弊,这需要结合具体情况去具体分析,还是应当辨证看待吧。