简介

区块链是一种防篡改的共享数字分布式账本,可记录公共或私有对等网络中的交易。分布式账本分布到网络中的所有成员节点,以加密散列链接的块的顺序链,永久记录网络中对等点之间发生的资产交换的历史记录。

区块链的广为人知是从比特币开始的,但是区块链不是比特币,区块链只是比特币底层的技术基础。比特币可以看做是区块链的副产品。

本文不介绍炒币,币圈有风险,炒币需谨慎。

更多内容请访问www.flydean.com

我觉得做技术的还是要静下心来,专心的搞搞技术,闲看庭前花开花落,漫随天外云卷云舒!

如果你非要问我对币圈的看法,个人觉得当你看完我的所有文章之后,就会发现其实虚拟货币就是那么回事,它只是一堆数字,你认为它有价值它就有价值,你觉得它没用它就是一堆空气而已。

其实区块链的底层技术并不复杂,也不是什么新的技术,但是当这么多技术汇集在一起,就产生了强大的催化效应,于是区块链诞生了。

区块链中最重要的技术组成部分就是密码学和分布式系统,通过在分布式系统使用共识机制和智能合约,最后产生了强大的区块链系统。

总结:区块链的本质就是记账!

什么是区块链

有同学会问了,讲了这么多还是不明白什么是区块链呀,接下来我们用一个例子来生动形象的说明,本例子纯属虚构,如有雷同实属巧合:

话说一年一度的华山论剑又要到了,东邪,西毒,南帝,北丐,中神通外加新晋新秀郭小侠六个人又准备在华山山顶大块肉,大口酒的潇洒走一回了。

那么问题来了,吃肉喝酒是要经费的,六人商议决定每人交500文钱作为这次活动的经费。为了方便管理经费的使用情况,他们选择了憨厚老实的郭小侠作为本次活动的记账人,由郭小侠全权负责维护账本的记录情况。

这就是现在的集中式账本系统,一切郭小侠一个人说了算,虽然郭小侠老实可靠,但总好像缺了点什么。

又到了月度回顾的时间了,郭小侠把这个月的消费记录列了出来,发给大家。西毒看了账单有异议了,因为账单记录了西毒出入易翠阁一次花费20文。西毒说他没有去过,但是账单如此,还是从他的账户中扣除了20文。

西毒觉得肯定是郭小侠想害他,故意弄错了账本记录,但是他又没有证据,只好求救于郭小侠的老婆黄小蓉。

黄小蓉想了想,找到了一个解决办法,那这样吧,六个人每个人保留一个账本,只要有人消费了,都要通知其他的人,大家一起记账,这样就不存在一个人记账中可能出现的篡改记录的问题了。这就叫做分布式账本,因为账本是一块记录接着一块记录,按照时间来排序的,因此也称为区块链。

过了一段时间,问题又出现了,因为大家都觉得会有人来记账,然后大家都没有记账,导致有些记录丢失了。黄小蓉又想出来一个办法,首先记账的人可以得到1文钱的奖励,通过这样的奖励机制,来鼓励大家记账,这个机制就叫做挖矿。

为了保证账本中记的账目都是真真的切切实实的这六大高手的花费,黄小蓉给他们分别分配了一个暗号,通过这个暗号就可以验证消费是不是出自他们之手。这就叫做区块链中的密码学。

然而,问题还没完,如果有多个人同时记账,而记得账目又不同,就导致了分布式账本中数据不一致的问题,而解决这个问题的方法就叫做共识机制。共识机制有很多种,比如谁记得又快又多就用谁的,这种共识机制叫做POW。又比如按谁剩余的钱最多,就选谁来记账,这叫做POS。

六人觉得,如果记账记到第一百笔的时候,需要庆祝一下,去买个烤羊排啥的。大家把这个逻辑也写在账本中,这叫做智能合约。

西毒有一天想把自己的账本历史记录修改一下,但是其他的五个人不同意,这就叫做防篡改机制。

如果把这个链的记账权限扩展到整个武林,谁都可以来参与记账,这叫做公链。

如果只能这六个人记账,就叫做私链。

郭小侠的师傅江南七侠听闻也建了一个链,想跟五绝的链打通,这就叫做跨链操作。

西毒昭告天下说,他要邀请天下好友建一个公链,说这个链有多么多么有前途,这叫做背书。

西毒说,在这个公链上挖矿,所得的奖励是一片树叶(附带我的亲笔签名),这些树叶非常有价值,并且上限1000枚,挖完就没有了。这就叫做发币。

但是西毒的链还没有正式建好,就开始预售树叶了,这叫做ICO。

看到大佬都在发币,裘千尺也发币了,西毒大佬看不起裘千尺,把他的币叫做山寨币。

于是大家都开始卖树叶...没人做实事了,最后ICO拿到了真金白银跑路了。

例子就讲这么多,如果还有人不明白区块链到底是啥,请关注我,私信我!我手把手教你,不教到会誓不罢休。

区块链不是什么

大家记住我的话,区块链的本质只是一个分布式账本,用来存储数据用的,如果讲得更高级一点,可能里面还包含有智能合约,就是在某个条件下会触发某些记录的更改操作。

它跟数据库没有什么本质的区别,记账记账记账才是区块链的真正作用。

区块链不是银弹,它只是一个记账的手段。所以后面你看到那些山寨币把自己的项目夸上天的那种,就要考虑考虑风险了。

什么纳米币,太空币等等,你换一种方式记账就能改造纳米技术,让卫星上天了?

更有甚者,觉得用了区块链就改变了社会秩序和规则?什么鬼?

区块链的基础:密码学

密码学是区块链的基础中的基础,没有密码学就没有区块链。

密码学是区块链世界中的安全保证。如何防范密钥丢失,如何保证交易的安全,如何验证交易的正确性等等都是密码学要做的事情。

下面是我总结的关于密码学的文章:

区块链的基础:分布式系统和共识机制

如果说密码学是区块链的钥匙的话,那么分布式系统就是区块链的基石,而共识机制就是保证区块链基石稳定性的混凝土。

下面是有关分布式系统和共识机制的文章:

超级账本Hyperledger

Hyperledger是一项开源工作,旨在推动跨行业的区块链技术供企业使用。这是由LinuxFoundation主持的全球合作,其中包括金融,银行,物联网,供应链,制造和技术领域的领导者。这183个不同的成员和9个正在进行的项目(包括Hyperledger Fabric)协同工作,以创建一个开放的,标准化的企业级分布式分布式账本框架和代码库。

Hyperledger其实是由很多各项目构成的,他们

Hyperledger Fabric框架在许可的网络上支持分布式分布式账本解决方案,成员之间彼此了解,适用于广泛的行业。它的模块化架构最大程度地提高了区块链解决方案的机密性,弹性和灵活性。

下面是有关超级账本的文章:

以太坊

以太坊是由程序员Vitalik Buterin在比特币的基础上开发出来的一套公链平台。它被称为第二代加密货币与去中心化应用平台。

以太坊创造性的提出了智能合约的概念,扩充和丰富了人们的想象。

有了智能合约,以太坊也就插上了腾飞的翅膀,各种Dapp应运而生,而以太坊最最有名的就是做ICO发代币了。

为什么会有这么多人在以太坊上发代币呢?因为在以太坊上发代币实在是太简单了。

有多简单呢?如果说不会写程序的人都能发代币好像还不能够,不足以体现以太坊发代币的简单之处。那么这样说吧:大妈都会发代币你就懂了。

自己定义一个代币的总个数,比如1000000000000亿个。小手鼠标一点就创建好了。

接下来的套路就是建官网,建论坛,拉人气,找人背书,吹一下这个项目如何如何厉害,如何如何有前景。接着就可以ICO了。

我还记得曾经看过的一个项目,具体名字不记得了,好像是叫做太空币,那搞得一个高大上,貌似有了这个币,就可以进行太空旅行,遨游太空的感觉。

不知道为什么还有那么多人相信!

吐槽了半天,这里想说的是以太坊真的是继比特币之后对于区块链的又一大力作,尤其是其中的智能合约的概念更是应用广泛。

下面是我写的关于以太坊的文章,目前数目还不多,后续我会补充:

Libra

Libra是facebook发起的一个区块链项目,其使命是建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。

facebook认为传统的金融服务离穷人太远,并且被收取各种不菲且难以预测的费用。全球仍有17亿成年人从来没有接触过金融系统,虽然他们中的10亿人拥有手机,其中的5亿人可以上网。

facebook希望借助与区块链的独特的金融特性来实现普惠金融的目标。

facebook希望借此创建一个开放、即时和低成本的全球性货币和金融基础设施。两者结合起来实现”货币互联网“。

其实Libra的具体实现离区块链的去中心化,匿名性和开放性还是有一定的距离的,所以Libra不能称作为一个纯粹的区块链。

下面是我整理的关于Libra的文章:

比特币

比特币是区块链的第一个应用,也是最成功的一个应用,通过比特币我们才开始了解区块链。

这一块的内容等我后续补充。

总结

本文是区块链的集合文章,会持续进行更新,希望大家能够喜欢。有需要的同学可以关注并留言,我会尽量回复,谢谢!

本文链接:http://www.flydean.com/blockchain/

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新的更多相关文章

  1. [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

  2. [大数据从入门到放弃系列教程]第一个spark分析程序

    [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 **** ...

  3. Laravel 从入门到精通系列教程

    转载;https://laravelacademy.org/laravel-tutorial-5_7 适用于 Laravel 5.5.5.6.5.7 版本,本系列教程将围绕一个 LTS 版本,然后采取 ...

  4. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  5. php从入门到放弃系列-03.php函数和面向对象

    php从入门到放弃系列-03.php函数和面向对象 一.函数 php真正的威力源自它的函数,内置了1000个函数,可以参考PHP 参考手册. 自定义函数: function functionName( ...

  6. 办公软件Office PPT 2010视频教程从入门到精通系列教程(22课时)

    办公软件Office PPT 2010视频教程从入门到精通系列教程(22课时) 乔布斯的成功离不开美轮美奂的幻灯片效果,一个成功的商务人士.部门经理也少不了各种各样的PPT幻灯片.绿色资源网给你提供了 ...

  7. php从入门到放弃系列-04.php页面间值传递和保持

    php从入门到放弃系列-04.php页面间值传递和保持 一.目录结构 二.两次页面间传递值 在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述. 1.get提交 ...

  8. php从入门到放弃系列-02.php基础语法

    php从入门到放弃系列-02.php基础语法 一.学习语法,从hello world开始 PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器&qu ...

  9. K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署

    Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...

  10. K8S 从入门到放弃系列文章目录(Kubernetes 1.14)

    1)软件环境 软件 版本 系统 Centos7.5 Kubernetes 1.14.1 Docker 18.09 Calico 3.6 Etcd 3.3.12 2)部署过程简单概要 三台master节 ...

随机推荐

  1. sql更改表结构并将老数据导入(触发器)

    1 --1.旧表改名 2 ALTER TABLE APP_MULTI_PARAM_test RENAME TO APP_MULTI_PARAM_test_bk; 3 4 --2.创建新表 5 CREA ...

  2. 【Azure Key Vault】使用Azure CLI获取Key Vault 机密遇见问题后使用curl命令来获取机密内容

    问题描述 在使用Azure Key Vault的过程中,遇见无法获取机密信息,在不方便直接写代码的情况下,快速使用Azure CLI指令来验证当前使用的认证是否可以获取到正确的机密值. 使用CLI的指 ...

  3. vscode编译多个C/CPP文件

    修改vscode里面的tasks.json文件,下面是修改好的,参考 "args": [ "-fdiagnostics-color=always", " ...

  4. Java 临时笔记

    1 //srand((unsignedint)time(NULL)); C 2 //获取随机数 10-99 3 4 //int value = (int)(Math.random() * 90+10) ...

  5. Metasploitable3 渗透测试

    1.信息手机阶段 信息收集经常使用的软件 功能也比较强大的Nmap Nmap nmap -p- -sS -sV -n -v --reason --open -oX demon.xml 192.168. ...

  6. 深入浅出Java多线程(十):CAS

    引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十篇内容:CAS.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在多线程编程中,对共享资源的安全访问和同步 ...

  7. vscode 注释后 光标下移(注释后光标快速定位下一行) 仿照idea

    VSCode 注释后光标快速定位下一行 1. 安装插件 Multi-command Multi-command 2.打开 Keybinding.json Keybinding.json 左下角齿轮图标 ...

  8. IDEA无限试用插件

    原文地址 之前一直在找激活方法,忽然想到IDEA不是可以试用吗?一直试用不就可以变相地达到了激活的效果? 本篇作废,本篇作废,本篇作废,由于IDEA插件的问题,导致并不能成功的进行重置试用 新整了个J ...

  9. Base MYSQL Database create stored procedures resolve the Delimiter error

    Base MYSQL Database create stored procedures resolve the Delimiter error, It must be created using a ...

  10. 标记SA_RESTART的作用

    在程序执行的过程中,有时候会收到信号,我们可以捕捉信号并执行信号处理函数,信号注册函数里有一个struct sigaction的结构体,其中有一个sa_flags的成员,如果sa_flags |= S ...