区块链资料整理

区块链开发教程及环境搭建--------------------------------------------
	fabric+go的系列教程
		https://www.cnblogs.com/efish/category/1413426.html?page=1
	公司内部区块链技术入门培训
		https://cloud.tencent.com/developer/article/1525469
	基于java开发一套完整的区块链系统详细教程(附源码)
		https://blog.csdn.net/victory_long/article/details/106604338
	官方教程  -----------首推参考学习使用
		https://hyperledger-fabric.readthedocs.io/en/latest/developapps/developing_applications.html
	区块链编程  语言选择go联盟链,solidity 以太坊---------------------------
	 1.以太坊+solidity
	 2.IBM hyperlegger Fabric+ go 
原理剖析
	fabric的一些基础知识点
		https://www.cnblogs.com/qiangjiyi/p/9562480.html
	公司部分业务上链而进行培训的PPT-陶辉笔记
		https://www.taohui.pub/
		https://www.taohui.pub/2018/05/26/%e5%8c%ba%e5%9d%97%e9%93%be%e5%bc%80%e6%ba%90%e5%ae%9e%e7%8e%b0hyperledger-fabric%e6%9e%b6%e6%9e%84%e8%af%a6%e8%a7%a3/
区块链知识点总结-------------------------------------------
	#区块链必须满足三个条件:
1.区块链是一个放在非安全环境中的分布式数据库(系统)。
2.区块链采用密码学的方法来保证已有数据不可能被篡改。
3.区块链采用共识算法来对于新增数据达成共识。
https://developer.aliyun.com/article/585458?spm=a2c6h.12873639.0.0.70097c960qt1v7
https://developer.aliyun.com/article/581437?spm=a2c6h.12873639.0.0.c43348caHWE6G2
https://developer.aliyun.com/article/585458?spm=a2c6h.14164896.0.0.2aa036bfgqfhHR
https://cloud.tencent.com/developer/article/1525469
https://blog.csdn.net/russell_tao/article/details/80459698--区块链开源实现hyperledger fabric架构详解
基于java开发一套完整区块链
	https://blog.csdn.net/victory_long/article/details/106604338 
	https://gitee.com/luckytuan/dce-blockchain
https://blog.csdn.net/hui_yong/article/details/80621377
wiki百科Hyperledger+Fabric
	https://wiki.hyperledger.org/display/fabric/Hyperledger+Fabric
https://github.com/hyperledger/fabric
fabric问答社区
	https://chat.hyperledger.org/channel/fabric
#区块链涉及的关键词理解:
”系统中“:参与区块链平台系统内的人
去中心化:
	就是说交易会记在无数个不可控的小账本上,由不得人赖账,普遍可访问的账本,不可以编辑或修改。
	去中心化并不代表着不接受监管,“去中心化”去的是中央控制方和中介方,而不是监管方。
比特币:概念由中本聪提出,是一种点对点,去中心化的数字资产。
智能合约:
区块链社区:
节点:任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。
共识:共识机制的核心作用在于能够将单一个体用户意志转变为生态意志。
采矿:
	由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。所以,你别无选择,一听到信号,就必须立刻同步。
	所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。
	这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效 Hash,从而把新区块添加到区块链。由于计算量太大,所以快不起来。
	这个过程就叫做采矿(mining),因为计算有效 Hash 的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算 Hash 的机器就叫做矿机,操作矿机的人就叫做矿工。
难度系数:difficulty
难度系数的动态调节:
区块链的分叉:
账簿:
分布式账簿:
一致性的分布式账簿:
以太坊链上代码:链上代码”能把数字货币应用变成功能强大的平台
P2P是英文peer to peer lending(或peer-to-peer)的缩写,意即个人对个人(伙伴对伙伴),又称点对点
ICO:公开币发行(Initial Coin Offering, ICO)
以太坊:属于公有链
区块链:公有链(目前实际应用价值不大)、许可链(私有链、联盟链(目前联盟链是各个区块链技术团队主要研究的对象)、企业链(比如Hyperledger))
PoW:工作量证明(Proof of Work, PoW)
PoS:权益证明(Proof of Stake, PoS)机制
PBFT:许可链中主要使用拜占庭共识协议(Practical Byzantine General Fault Tolerance, PBFT)
CBTF:并发的拜占庭共识协议(Concurrent Byzantine Fault Tolerance, CBFT)。
OBCC:开放的区块链应用接口(Open Blockchain Connector, OBCC)
共识机制:就是所有参与者对每个合约的确认过程。举个简单的例子,A 转账给 B100 元:“A 付款,B 收款确认”,这些信息被记录在账本上,这就是共识机制。
数据隐私问题:
	区块链的账本是共享的,像比特币,以太坊等,交易数据大家都可以查看。
	虽然不知道是谁的数据(区块头被加密了、区块体即数据是开放的可见的),但是让人们很担心。
	在 Fabric 中,账本不是共享给所有人的。而是通过 channel 隔离数据,虽然大家都在同一个区块链网络里,
	但是不在同一个 channel,也没办法共享账本。所以,通过建立不同的 channel 可以达到按需共享的目的
Fabric :
	节点Peer:它在 Fabric 网络中主要负责接收交易请求的具有一定功能的服务或软件,节点之间通过 gRPC 进行通信
	排序者 (Orderer)
	CA 节点
创世区块:区块链中的第一个区块被称作为创世区块,无需关联上一个区块
区块链灵魂:共识机制
趣味解读以太坊:
	比特币网络看作是一套分布式的数据库,而以太坊则更进一步,它可以看作是一台分布式的计算机:区块链是计算机的ROM,合约是程序,而以太坊的矿工们则负责计算,担任CPU的角色。
Token机制:
	以太坊的运行和BTC网络一样,采用的是Token机制,平台性能不足,经常出现网络拥堵的情况,平台用来学习开发与测试区块链技术还可以,用于实际生产的话不太现实
公有链的范畴:区块链代币的发行和分配机制,区块链猫,挖矿为主题
数据结构Merkle tree(默克尔树):https://www.cnblogs.com/s-lisheng/p/11301063.html
p2p为何快:
	在点对点网络中数据传输的时候,为了提高效率往往会同时从多个机器下载数据的不同部分,即,不是从一台机器下载整个数据,而是将完整数据分成不同的部分,分别同时从不同的机器获取完整数据的不同组成部分
e2e:即end to end(端到端),指任意一个人的社交、交易、休bai闲都可以直接与另外任意一个人产生关系,去中心化、渠道化
LevelDB:BTC核心网络采用的是K-V数据库(节点上的存放链的数据库)
区块链记账权:实际的区块链是有多个节点同时运行的分布式网络系统,所有节点同时计算抢夺记账权,共同维护一条完整的区块链。
#区块链模式
	(1)块链结构 :每一块有时间戳,每一块都含有前面一块的哈希加密信息,对每个交易进行验证。
	(2)多独立拷贝存储 :区块链系统的每个节点都存储同样信息。
	(3)拜占庭容错 [3] :容忍少于1/3节点恶意作弊或被黑客攻击,系统仍然能够正常工作。
	模式 1 :(1) + (2) + (3) + P2P + 挖矿	-----------比特币
	模式 2 :(1) + (2) + (3) + P2P + 挖矿 + 默克尔-帕特里夏树(Merkel Patricia tree)  ---------以太坊
	模式 3 :(1) + (2) + (3) + 拜占庭共识协议
#比特币和区块链有什么“不可告人”的关系?
	区块链技术是比特币的底层技术,比特币是区块链的第一个应用。比特币的交易信息都被记录在一个去中心化的账本上面,这个账本就是区块链。如果我们把区块链类比成一个实物账本,那么每个区块就相当于这个账本中的一页。
	每10分钟形成一页新的账本,每一页账本上记载着比特币网络这10分钟的交易信息,每个区块之间依据密码学原理,按照时间顺序依次相连,形成链状结构,因此得名区块链。
	自白皮书《比特币:一种点对点的电子现金系统》诞生后,国内外各大金融机构争相研究比特币底层技术区块链,并不断寻求区块链技术的实际应用。

比特币:比特币,其实质是“中本聪”在2009年提出的一个去中心化的P2P版本的货币系统,中本聪是谁到现在也没有一个定论,有人说是一个日本人,有人是一个日本集团,也有人说是中国
比特币属于公有链(全网记账):
比特币是数字货币应用而不是平台:
#没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?被坏人改了怎么办?请接着往下读,这就是区块链奇妙的地方。
	区块:区块头(Head):
				记录当前区块的元信息(当前时间,上一个区块的hash,本区块体的hash),区块的 Hash 都是针对”区块头”(Head)计算的。Hash = SHA256(区块头)
		  区块体(Body):
				实际数据
	hash:Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,
		推论1:每个区块的 Hash 都是不一样的,可以通过 Hash 标识区块。
		推论2:如果区块的内容变了,它的 Hash 一定会改变。
		当前区块的hash=前一块的hash+这一块的nonce+这一块的数据体Transaction
	不可更改性:
		区块头包含很多内容,其中有当前区块体的 Hash(注意是”区块体”的 Hash,而不是整个区块),还有上一个区块的 Hash。这意味着,如果当前区块的内容变了,或者上一个区块的 Hash 变了,一定会引起当前区块的 Hash 改变。
		这一点对区块链有重大意义。如果有人修改了一个区块,该区块的 Hash 就变了。为了让后面的区块还能连到它,该人必须同时修改后面所有的区块,否则被改掉的区块就脱离区块链了。由于后面要提到的原因,Hash 的计算很耗时,同时修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。
		正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。

#5分钟玩转一个区块链
	https://github.com/hyperledger/fabric
	
#总结
	区块链作为无人管理的分布式数据库,从2009年开始已经运行了8年,没有出现大的问题。这证明它是可行的。
	但是,为了保证数据的可靠性,区块链也有自己的代价。一是效率,数据写入区块链,最少要等待十分钟,所有节点都同步数据,则需要更多的时间;二是能耗,区块的生成需要矿工进行无数无意义的计算,这是非常耗费能源的。
	因此,区块链的适用场景,其实非常有限。

目前,链上代码基本是固定的合约模板,未来智能合约由谁来编写、检验、测试、认证、修改,以及合约双方怎样认可等,都是需要探索的问题。
另外,随着区块链技术的成熟,未来各行各业都可以使用区块链,包括食品、金融服务、能源、制药、航空航天、IT等多个行业和领域。
今后,还需要进一步研究区块链技术完备的标准和完善的监督监管机制。

目前公有链在实际应用中并没有太多的业务场景落地,大部分都是以挖矿为主题或者线上宠物饲养的游戏为主,并且由于数字货币的匿名性,有些不法分子利用这一特点,将数字货币用于洗钱、暗网买卖等违法行为,是各个国家的打击对象,我国政策法规也严厉禁止,因此对于技术人员来说,公有链可以作为研究学习的对象,其他方面暂时没有太多实际意义。
目前大部分区块链企业的研究方向主要是针对企业的联盟链和私有链,并且国家层面也在大力支持区块链技术的发展,特别是区块链底层核心技术的研发,倡导把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。不过现在市面上主流的区块链平台大部分还是以国外公司主导的为主,国内区块链底层核心技术的发展,还需要技术人员的加倍努力。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值