区块链入门1简介

区块链会重塑商业,社会和政治互动,以及任何其他方式价值交换。很多公司已经开始探索区块链以降低交易成本,加快交易时间,降低欺诈风险,消除中间人或中间人服务。

什么是区块链

区块链入门1简介_第1张图片
image.png
区块链入门1简介_第2张图片
image.png
区块链入门1简介_第3张图片
image.png

区块链中交易和结算不是两个不同的的实体。

•区块链是一种对等的交易系统,之间没有可信任的第三方。
•它是共享的,分散的,开放的分类帐交易。分类帐数据库是复制分布在大量节点。
•此分类帐数据库是仅能增加,不能修改。
•无需第三方服务。
•它是互联网上的层,可以与其他互联网技术共存。
•区块链技术旨在实现真正去中心化。

区块链入门1简介_第4张图片
image.png

区块链网络上的每个节点都有相同的区块链副本,其中每个区块都是事务的集合。 header部链接回到前一块链。这意味着每个块头包含前一块的哈希值,这样任何人都无法改变之前的任何交易块。body包含经过验证的事务清单,金额,当事人的地址等细节。

假设有三个候选人:Alice, Bob和Charlie 在区块链上进行一些货币交易:

步骤1:Alice有50美元

区块链入门1简介_第5张图片
image.png

第2步:
Alice通过向Bob支付20美元进行交易。

区块链入门1简介_第6张图片
image.png

步骤3:
Bob支付10美元给Charlie。

区块链入门1简介_第7张图片
image.png

集中式与分散式系统

无论集中式还是分散式,都可是分布式的。比如集中式分布式系统,主节点负责分解任务或数据并分配负载。分散分布式系统没有“主”节点,计算是分布式的。区块链就是这样的例子。

区块链入门1简介_第8张图片
image.png

上图类似Hadoop的实现,虽然计算速度快,但是还是受限于控制节点。

集中或分散系统的区分:

•技术架构:系统可以集中或分散。需要考虑物理计算机(或节点)的和数量,能容忍多少节点出现故障。
•政治视角:个人,或一群人,或整个组织控制系统,那系统自然是集中的。
•逻辑视角:如果把系统切成两半,每半个都有服务提供商和消费者,如果它们可以作为独立单位运作,那么它们就是分散的否则是集中的。

•企业有总部,政治上是集中的,逻辑上也是集中的
•语言沟通通常是分散
•BitTorrent等torrent是分散的
•内容分发网络(Content Delivery Network CDN)逻辑和架构上是分散的,但在政治上是集中的,因为它由企业拥有,比如亚马逊的CloudFront。
•区块链是为了实现权力下放。架构分散、政治分散,但逻辑上是集中的,像一台全球计算机。

区块链入门1简介_第9张图片
图片.png

集中式系统具有集中控制功能。易于设计,维护,强加信任和治理,缺点如下:

•受限于中心点,不太稳定。
•更容易受到攻击
•权力集中可能导致不道德操作。
•大多数情况下可扩展性不好

区块链入门1简介_第10张图片
图片.png

分散式系统没有集中式控制,每个节点具有相同的权限。 这样的系统很难设计,维护,治理或施加信任。 优点:
•无中心点故障,所以更稳定和容错
•更安全
•更少不道德行为的范围,天生是民主的

分布式点对点系统示意图:

区块链入门1简介_第11张图片
图片.png

区块链分层

公共区块链变体如以太坊(Ethereum)还在在成熟过程中,基于这些区块链构建复杂的应用程序还不太合适。请记住区块链是不仅仅是一项技术,还是商业原则,经济学,博弈论,密码学和计算机科学工程。

大多数真实世界的应用程序本质上都非常复杂,建议从头开始构建区块链解决方案。
区块链目前还没有全球标准,一些系统分层如下:

区块链入门1简介_第12张图片
图片.png
  • 应用层

通常涉及用于软件开发的传统技术堆栈,例如客户端编程,脚本,API,开发框架等。理想情况下,区块链应用程序没有客户端 - 服务器模型,没有集中式服务器,比特币就是这么干的。

  • 执行层

执行应用层的指令。

比特币是简单脚本
并且只允许一些指令。以太坊和Hyperledger允许复杂的执行。Ethereum的代码编译为字节码或机器码在自己的以太坊虚拟机上执行。Hyperledger支持在docker中运行已编译的机器代码,支持多种高级语言,如Python、Java和Go。

  • 语义层

语义层是个逻辑层,因为事务和块是有序的。本层涉及数据结构。

  • 传播层
  • 一致层

协议有:Proof of Stake (PoS), deligated PoS(dPoS), Practical Byzantine Fault Tolerance (PBFT)等。

为什么区块链很重要?

集中式的一些缺点

• 信任问题
• 安全问题
•隐私问题 - 数据销售隐私正在受到破坏
•交易的成本和时间因素

分散式系统优点
•消除中间人
•更简单,更真实的交易验证
•以更低的成本提高安全性
•更高的透明度
•分散和不可变

参考资料

  • 本文涉及的python测试开发库 谢谢点赞!
  • 本文相关海量书籍下载
  • https://github.com/satwikkansal/ibm_blockchain/blob/3d252de03586ebb96acb689842ca2d451c0eec47/node_server.py
  • http://adilmoujahid.com/posts/2018/03/intro-blockchain-bitcoin-python/
  • https://segmentfault.com/a/1190000014075385
  • https://github.com/adilmoujahid/blockchain-python-tutorial
  • https://github.com/bitcoinbook/bitcoinbook/tree/develop/code

你可能感兴趣的:(区块链入门1简介)