区块链入门基础知识(一期)

0x1 前言

区块链在近两年中都是网络媒体的热门,每天都有很多关于比特币、区块链的报道。随之而来的还有铺天盖地的黑客攻击事件。
在区块链越来越火的背景下,也有越来越多的安全人员从传统的Web安全慢慢的转向区块链安全。可我相信很多人都知道它的存在但是并不懂这到底是什么,为什么它能那么火,为什么那么多人在讨论、使用它。
越来越多的安全从业人员想入坑区块链安全却无从下手,不知道该从哪些方面学习。想要入坑区块链安全,就必须要了解区块链的基础知识,了解区块链基本的常识以后你才能渐渐深入的去挖掘区块链相关的漏洞,接下来我们会陆续给大家分享关于区块链安全的基础知识由浅入深,结合社区成员提交的各种漏洞来分享各种区块链漏洞挖掘姿势。

我们为什么要学习区块链技术?

1. 区块链尚处在早期发展阶段,前景可观。
2. 区块链领域没有稳定的人才输送渠道,区链人才供不应求。
3. 一个时代的拐点,可能就此打开新的网络时代。
4. 搞信安的不学点新东西,你好意思说你是搞信安的?

学习区块链的前提条件是什么?

没有硬性的条件限制,只要你对此有兴趣就可以学习。千里之行,始于足下。

0x2 入门需要了解的基础

1、什么是比特币?

比特币是一种去中心化点对点的网上交易虚拟数字货币。比特币的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。

2、什么是区块链?

区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

简言之,区块链就是一个只增不减的数据库。里面的数据不断增长,且具有与普通分布式数据库集群不一样的特性:

  1. 一旦数据存储于区块链,在多数节点为诚实节点的情况下,永远都无法被修改或删除。区块链上的每个记录会被永久保存下来。

  2. 在公链中,没有单独的个人或组织能维护该数据库。必须要大量节点共同维护,每个人都有数据库的副本。

区块链入门基础知识(一期)_第1张图片

3、什么是共识机制?

最常见的共识机制就是日常生活中的投票选举,如果一个团队有10个人,在这10个中要选出一个队长来,每个人手里都有一次投票权,其中有7个人选了张三为队长,三个人选了李四为队长。那么张三能够当选队长就是因为大部分人的想法一致,这就是共识。

PoW、PoS、DPoS等是不同的区块链共识机制,是区块链技术的“灵魂”,当区块链技术越来越多地被应用,共识机制也就需要不断的改进。

名词解释:

PoW  工作量证明机制

PoS  股权证明机制

DPos 授权股权证明机制

BFT  拜占庭容错机制

PBFT 实用拜占庭容错机制

区块链入门基础知识(一期)_第2张图片

4、什么是硬分叉、软分叉?

硬分叉是指区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。

软分叉是指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。

区块链入门基础知识(一期)_第3张图片

用一句话来总结,数字加密货币的硬分叉意味着新旧版本软件互不兼容,必须分道扬镳,分成两条不同的区块链;软分叉则相对柔和,旧版本兼容新版本,只是新版本不兼容旧版本而已,因此虽然会有轻微分叉,但仍可共存在同一条区块链下。

5、什么是公链?

公有链是指全世界任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何符合其共识机制的人都能参与其中共识过程的区块链——共识过程决定哪个区块可被添加到区块链中和明确当前状态。公有链通常被认为是“弱中心化”的,其去中心化程度取决于其共识机制。

6、什么是以太坊?

以太坊不只是一种用于交易的加密货币,其真正的价值在于其目的。以太坊的目的是让拥有以太币的人能使用通过几千个节点提供动力的分布式世界计算机。 以太坊从根本上来说是一个巨大的计算机!但是,它运行起来极其缓慢——比如今的普通计算机的运行速度缓慢约5至100倍——而且成本很高。以太坊能够如狂风暴雨般席卷了这个世界,是因为它是一个分布于全世界的完全去中心化的计算机。

7、ETH和ETC的区别?

ETH(新链)是2016年6月 The DAO 众筹项目被黑客攻击以后从ETC(原链)硬分叉出来的新链,ETC是经典以太坊由原始的一批老矿工维持着,ETH是新的以太坊,由V神和以太坊基金会维持着,两者价格悬殊。

8、什么是智能合约?

以太坊网络中的每个节点(计算机)运行一个叫做以太坊虚拟机(EVM)的软件。将以太坊虚拟机想象成一个操作系统,它能理解并执行通过以太坊特定编程语言编写的软件。
由类似以太坊虚拟机执行的软件/应用程序被称为“智能合约”。
智能合约一旦完成,无论如何都无法被编辑或修改。因此,可以肯定的是不管合约中有何规定,无论如何都会被执行。

9、什么是DApp?

以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App)。

0x3 区块链的核心理念是什么?

1.账本分布存储于全网的节点上,某个节点账本的破坏,不会影响任何其他节点正常运作;

2.符合共识规则的各节点均可参与记账、共同维护区块链数据库;

3.各节点相互监督,构建trustless(免信任的)系统。

0x4 以太坊与比特币的区别是什么

以太坊与比特币最大的一个区别就是,以太坊提供了一个功能更强大的合约编程环境。

0x5 什么是挖矿?为什么要挖矿?

比特币每天会产生大量的交易数据,而这些数据会传到矿工哪里,矿工负责把这些交易写入区块链,一个区块最多包含2000多笔交易,矿工需要把这2000多笔交易打包成一个区块,然后计算这个区块的哈希值,这个计算的过程就叫做挖矿。
而负责打包这些交易和计算哈希值的这个矿工就是每一个区块链上的节点,任何人都可以加入比特币网络成为一名矿工。
根据比特币协议规定,挖到新区块的矿工将获得奖励,从2008年一开始是50个比特币,然后每4年减半,目前是12.5个比特币。这也是比特币的供给增加机制,流通中新增的比特币都是这样诞生的。挖一个区块的奖励金12.5个比特币,再加上手续费。按照目前的价格来算的话约等于58万,如果运气好的话几分钟就有58万入账,所以才导致有大量的人在挖矿。

0x6 好文推荐

比特币入门教程:https://ethfans.org/wikis/Home

区块链入门教程:https://ethfans.org/posts/101-noob-intro

以太坊资料大全:http://www.ruanyifeng.com/blog/2018/01/bitcoin-tutorial.html

以太坊智能合约编程教程:http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html

你可能感兴趣的:(————区块链基础)