区块链

简述区块链

区块链
区块链的本质是一个分布式的公共账本,任何人都可对这个账本进行核查,但不存在单一的用户可以对它控制。在区块链系统中的参与者共同维持账本的更新:它只能按照严格的规则和共识进行修改。

从技术角度简单理解区块链
区块链是一种特殊的分布式数据库
区块链的主要作用是存储信息。任何需要保存的信息,都可以写入区块链,可以从里面读取。
其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点(去中心化),每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

区块链之钱包
本文主要内容为区块链钱包移动端(Android)开发,介绍比特币钱包和以太坊钱包的开发过程,包含钱包的主要功能:
创建钱包,钱包余额,导出钱包,钱包转账等。
Demo地址

定义
可以把区块链钱包当做是一个银行账户系统,它管理着你的在区块链上的资产,并且可以实现查看余额,转账,收账功,查看交易记录功能,而钱包应用就相当于银行的客户端,来实现钱包的具体功能。你的私钥就相当于银行账户的密码,你的地址就相当于银行的银行卡号。

钱包分类
根据管理私钥的方式,大致分为,冷钱包,热钱包,软钱包,硬件钱包

on-chain
给一个钱包地址发送数字货币, 这笔交易在全网广播、被确认、被打包进区块。这是发生在链上的,被称为on-chain交易。on-chain钱包需要自己保管私钥。

off-chain
相对于on-chain交易是off-chain交易。通常,通过交易所进行的交易是off-chain的,本人并没有私钥。私钥在交易所,由交易所托管。所以交易所的钱包也是中心化的钱包。

冷钱包
冷钱包就是,你把你的私钥,写在纸上,或者打印成二维码在纸上,或者记在你脑袋里,这类钱包一般就是为了安全保存私钥的,他不具备钱包的其它任何功能

热钱包
热钱包就是,不是自己保管自己的私钥,而是钱包的开发者把私钥保存在服务器端,你所有的钱包操作都要经过服务器操作,这种钱包,等于是把自己的资产完全交给了别人,所以是最不安全的钱包,很少有人会用这种钱包

软钱包
软钱包就是私钥保存在客户端本地,而不是保存在服务端,用户可以管理自己的私钥,相对于热钱包安全很多。软钱包又分为“全节点钱包”和“轻钱包”。

全节点钱
包一般是钱包官方提供的钱包软件,它会把节点数据全部同步到本地,所以会花费很长时间同步数据,并且会占用很大的硬盘存储空间,所以对于个人用户来说,使用起来还是比较繁琐的,也就是说不适合个人用户使用

轻钱包
是指不同步节点,转账使用离线签名,然后经过服务端节点广播出去,它的私钥也是保存的客户端本地的,用户可以自己管理,并且可以在手机这种移动端设备使用,所以现在最流行的就是这种“软钱包”,接下来的一系列文章也基本都是关于“轻钱包”开发的

硬件钱包
硬件钱包,是指带有简单嵌入式系统的硬件设备,通过USB链接电脑,可以在硬件设备上进行创建私钥和地址的操作,并且离线签名也是硬件操作的,硬件管理着你的私钥。这是目前最安全的钱包,但是价格比较贵一些,市面上比较流行的硬件钱包大概为:TREZOR,Ledger,Keepkey,库神等,感兴趣的可以网上搜一下

钱包中私钥作用:
1、生成公钥,然后由公钥生成地址(类似于微信的收款二维码)
2、签名,确保交易的正确性(类似支付密码)

区块链网络的信息都存储在节点上,每个节点都是有全网的转账信息,所以要篡改的话信息的话要在短时间内篡改全网半数以上的节点的信息,理论上是非常安全的

生成私钥
那么私钥是怎么生成的呢,其实它就是一个 256 位的二进制随机数,随机的目的是保证不重复,随机的方式当然就有很多了,比如你可以抛 256 次硬币,正面记 1、反面记 0。
而我们的计算机的实现呢,是通过密码学安全随机出一段字符串,然后进行 SHA256 哈希算法就可以产生私钥了。
当然这只是原始的私钥,我们不同的区块链网络还需要经过不同格式化才能产生对应区块链网络的私钥。

钱包设计
Demo地址

区块链钱包开发
Demo地址

  • 70
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
移动互联网时代,微信、支付宝等新型支付方式,冲击了传统的现金交易方式,移动支付,改变了人们的生活方式。而数字经济时代,顺应数据经济的发展,伴随着区块链技术而来的数字货币钱包也必将冲击资产管理方式。那么到底什么是数字货币钱包呢?01钱包的概念1.区块链钱包(BlockChain Wallet)区块链钱包(Block Chain Wallet):是密钥的管理工具,只包含密钥而不是确切的某个代币;钱包中包含了成对的私钥和公钥,用户用私钥进行交易,从而证明了该用户拥有交易的输出权;而输出的交易信息则被存储在区块链中;用户在使用钱包时,你的Keystore, 助记词, 明文私钥,都是钱包;Keystore 是你加了”锁”的钱包,而助记词和明文私钥是完全暴露在外的钱包,没有任何安全性可言,所以在使用助记词和明文私钥时,一定要注意保密。2.钱包中的几个概念钱包一般包括:公钥、私钥、助记词、Keystore、密码;本质上,钱包和钥匙是对应关系,固定的钥匙直接可以打开在网络上属于自己的钱包,但为了避免传输过程中信息泄密,密码学家又运用非对称加密技术,发明了公钥和私钥,公钥主要用于传输,私钥用于解密,简单解释就是,公钥是我们的银行卡,私钥就是该银行卡密码。私钥= Keystore+密码,私钥是由56位包含数字和区分大小写的字母组成,为方便资产交易,一般采用简单密码加上Keystore就能便捷转移我们额数字资产。助记词,是加密了的私钥,是为了便于导出Keystore而发明的。02钱包的分类1.软件钱包和硬件钱包钱包在形态上,可以划分成为软件钱包和硬件钱包。软件钱包就是一个APP,装在我们的手机上或者是可以装在我们的电脑上面。硬件钱包就是专门有一个设备来存储这个私钥,涉及到签名的这些功能也在这个硬件设备上完成。2.冷钱包和热钱包按是否在线来划分,我们可以把钱包分为冷钱包和热钱包。硬件钱包不一定100%就是冷钱包。我们说的冷钱包是指私钥和签名这个动作是永远离线的。所以说冷钱包也有可能是以硬件形态来形成,也有可能是以一个软件来形成。因此很多钱包APP都支持冷热分离的操作。3.on-chain即发生在链上,给一个钱包地址发送数字货币,这笔交易在全网被广播、被确认、被打包进区块。称为on-chain交易;on-chain钱包需要自己保管私钥。4.off-chain通常经过交易所进行交易时off-chain的,本人并无私钥。私钥由交易所托管。5.全节点钱包除了保存私钥外,全节点钱包还保存了所有区块的数据,著名的是bitcoin-core。6.中心化钱包顾名思义,就是在交易过程中通过某平台或银行机构等交易的钱包,如oklink提供的保险柜。7.轻钱包只保存跟自己相关的数据的去中心化钱包。03基本功能典型的数字资产钱包主要能完成哪些功能呢?第一是存掌管区块链资产的钥匙,我们称之为叫存私钥。第二它可以查询你的资产,根据你的这个私钥公钥还有地址,可以到区块链上查询到你有多少个比特币等数字货币。第三,就是从钱包转账时,会使用到转账过程中需要的签名,和向区块链网络广播的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值