群内分享
1.区块链的正面与侧面
2.【比特大学.夜问】张烽问道杨东教授:区块链的未来将向何方?
3.HiBlock社区-技术沙龙|学习路径+案例分享,3小时快速入门区块链开发-西安
群内讨论
区块链-《精通比特币》笔记:
最近在巴比特上看《精通比特币》第二版,看到一些概要大致记录整理。
比特币所有权:密钥+地址+数字签名
密钥独立现在存储于钱包(密钥以对的形式出现,公钥、私钥)、地址用于转移接收bitcoin、数字签名用于交易见证。(比特币交易过程中通讯和交易数据不加密)
公钥加密方式:采用椭圆曲线算法。私钥用户自己保存、公钥在网络中公开。交易过程中发送公钥和签名。
私钥:随机生成256位二进制数字(01010101组成),一般以64位十六进制显示。
公钥基于私钥生成:私钥一个随机数,通过单项加密函数生成公钥。
地址:地址基于公钥。地址=RIPEMD160(SHA(公钥)),可见地址再经过Base58编码显示。
查看密钥:getnewaddress生成私钥但显示公钥、dumpprivkey显示私钥。
椭圆加密算法:基于离散对数问题的非对称加密算法。
Base58编码:不含数字0、大写字母O、小写字母i、大写字母I、+、/。
版本检验码:checksum=SHA256(SHA256(prefix+data))
私钥格式:私钥是256位的数字,有不同格式:Hex、WIF、WIF-compressed。
公钥格式:公钥264位的数字,有不同格式:Hex、WIF、WIF-compressed。
加密私钥:BIP0038通用标准,使用一个口令私钥,通过Base58check对加密私钥进行编码。具体加密方案:输入私钥,通过WIF编码吗,base58check字符串前缀5,使用长密码作为口令,那么base58check编码前缀为6P。
P2SH:以3开头bitcoin地址为P2SH地址,P2SH函数实现多重签名地址脚本,N个密钥需要M个签名,M-N多签名。
靓号地址:通过靓号生成算法,选择私钥生成公钥,多次试验得到匹配。安全性上需要权衡。
纸钱包:打印在纸上的bitcoin私钥,一种备份机制。
钱包:钱包里没有bitcoin,钱包包含私钥,bitcoin实际上记录在区块链上。
非确定性钱包(nondeterministic wallet),其中密钥都是随机生成,彼此无关联性。简称JBOK(just a bunch of keys)钱包。
确定性钱包(deterministic wallet),密钥都是一个主密钥衍生出来。使用多种不同的密钥推导方法。
非确定钱包密钥是一个松散集合,确定性钱包以一个种子来衍生其他密钥,只备份种子即可。
分层确定性钱包,根据BIP-32和BIP-44生成的HD钱包,树形结构衍生各个密钥。有效建立一个公共密钥序列。
种子和助记词:现在使用钱包中一般都会看到助记词选项,一系列的英文单字生成种子。助记词生成过程(BIP-39):从熵源开始,增加校验、然后映射。过程:
1.创建128-256随机序列(熵)
2.提出SHA-256哈希前面几位(熵长/32),创建一个随机序列的校验和。
3.校验和添加到随机序列末尾。
4.序列划分11位不同部分。
5.11位部分值和2048个单字字典做对应。
6.生成单词即可
助记词生成种子:
PBKDF2(密钥延伸函数)熵用于导出512位种子,增加“盐”的概念,“盐”的目的一个增加暴力破解难度,另一面引入密码短语,保护种子的附加安全性。
接上述6步:PBKDF2密钥延伸函数的第一个参数来自生成的助记词,第二个参数为“盐”,由助记词和密码字符串连接而成,PBKDF2使用HMAC-SHA512算法,使用2048次hash来延伸助记词和盐参数,生成一个512位的值的输出,即为种子。
获取bitcoin代码:git clonehttps://github.com/bitcoin/bitcoin.git
查看bitcoin核心版本:git tag
检查版本:git status
编译:新版本通过make,旧版本通过makefile
安装:sudo make install 默认安装路径:/usr/local/bin
检查安装状态:which bitcoin、which bitcoin-cli
运行bitcoin核心:bitcoind
配置节点配置文件:
1.在.bitcoin/bitcoin.conf文件中设置用户和密码,rpcuser=用户名、rpcpassword=密码
2.alertnotify:电子邮件警报、conf:配置文件制定的命令和脚本、datadir:选择文件存储目录和文件系统(默认为.bitcoin目录)、prune:删除旧块、txindex:维护所有交易的索引、maxconnections:连接的最大节点数、maxmempool:内存限制、maxreceivebuffer:内存缓冲区限制(1000字节)倍数、minrelayfee:最低交易费用。
查看bitcoin进程运行状态:bitcoin-cli getinfo
使用JSON-RPC API接口:查看命令帮助:getblockhash RPC、bitcoin-cli help getblockhash
查看客户端状态:bitcoin-cli getinfo
获取相关交易信息:getrawtransaction+hash、decodeawtransaction+(十六进制解码顺序交易信息)
获取区块信息:getblockhash+区块号、getblock+hash
群内工作
《磨链入门区块链》共同参与写一些东西,目录大纲完善中,一个长期项目。
招募条件:
1.需要一定的区块链基础。
2.对上述任何一方面有较为深入理解。
3.每周能保证一定的空余时间来折腾。
4.了解github相关
5.人员进行筛选,时间周期比较长。
有意向联系我。
磨链在线课程
对自己擅长方面有一定的沉淀,愿意开设在线课程,会考虑和一些专业培训机构合作,要求有一定的一线经验,实实在在分享课程。有兴趣的联,有偿工作。
磨链(mochain)社区招募相关人员
PS:想加入磨链的,或者具体参与到磨链的建设中的,请加磨链组织者微信(jackyjin09)。并且注明自己的能参与的编号(1.2.3.4),欢迎每一位区块链技术爱好者加入磨链,一块琢磨区块链技术。
关于磨链和相关合作
磨链”---取磨炼之意,旨在普及区块链技术,磨炼技术,更好投身区块链行业。有兴趣一块琢磨区块链技术,联系笔者微信(jackyjin09)。
磨链社区是一个纯粹的技术社区,欢迎相关技术合作,在不违反原则的前提下,积极参与合作。
你可以在这里找到我们:
磨链社区公众号:
1. 磨链社区:http://mochain.info
2. Github : https://github.com/mochain
3. Gitter 聊天: https://gitter.im/mochain
4. 知识星球: https://t.zsxq.com/M3BMVZN
5. 知乎:https://www.zhihu.com/people/mochain
(持续更新中)
合作社区
趣链科技技术团队
HiBlock区块链社区