区块链学堂(1):区块链引子

简介:

相信正在看这篇文章的读者一定已经听说过区块链了,并且也相信区块链是一项前景美妙,甚至是颠覆性的技术。但是也许同时也会感到困惑,对于区块链虽然有一些大致概念,但是具体到如何应用区块链技术,如何进行区块链编程就会发现并不是那么容易。那么恭喜你!来对地方了。本教程主要介绍的是区块链技术的一个主要流派:以太坊的编程,希望读者阅读完本教程后,可以学会并掌握以太坊及其智能合约的编程,并能够将区块链技术落地到实际的项目开发中去。

区块链到底是什么?

    区块链(英:Blockchain) 是一种分布式数据库,起源自比特币,区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了若干次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。(摘自wiki)

区块链技术的定义:

    区块链是一个分布式账本,一种通过去中心化去信任的方式集体维护一个可靠数据库的 技术方案 

从数据的角度看:

    区块链是一种几乎不可能被更改的 分布式数据库 , ”分布式“有两个含义,一个是分布式存储,一个是所有参与者共同维护。

区块链技术的几个特性

  • (1) 匿名
  • (2)不可篡改和加密安全性
  • (3)无须信任系统
  • (4)分布式去中心化
  • (5)交易透明

    基于以上的几个优点,比特币系统实现了一个自我运行的,成交量数十亿的交易系统,全球化7*24小时稳定的运行了多年。任何两个账户之间的比特币买卖都被忠实的记录在大量冗余的账本上。

    在比特币网络中,任何账号都是匿名的,任何账号之间的交易都是不可篡改,且会被记录在每一个节点上。然后通过对挖矿的比特币激励机制,实现了这个网络的自运行,无需任何中心化的交易系统。

以太坊

那么以太坊是什么?

    以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币提供去中心化的虚拟机(EVM)来处理点对点合约(摘自wiki)

    最简单的说法就是:区块链技术+智能合约

    以太坊在继承了区块链技术的基础上,实现了对智能合约的支持,从而使得区块链技术可以和商业化应用结合,并实现项目的落地。

    在以太坊的网络中,智能合约也被看做一个特殊的账户,从而使得用户可以通过和该账户进行交易,实现对该账户中的属性和方法的调用。从而从底层技术上支持了智能合约的实现。

技术架构图

智能合约是什么?

    之前说过区块链技术的五个特性。以太坊继承了上面这所有的区块链技术的基础上,提供了智能合约的支持。从而使区块链技术从原来的账户与账户之间的交易功能,扩展为一个可以实现智能合约的平台。这个智能合约可以是一个众筹合约,也可以是一个数学公式,或者是一个完全的随机数。

只要智能合约 被部署到以太坊的网络上去,他就天生带有了区块链技术的5个特征,同时因为他是由类 javascript 的语言撰写,因此可以实现很多复杂的业务逻辑。

本教程主要介绍的就是对智能合约的编程,通过编写符合自己商业逻辑的智能合约,就可以轻松的实现各种基于区块链的项目落地。

下一章,我们将从一个最简单的智能合约入手,给大家快速介绍一下智能合约长什么样?



原文发布时间为:2018年03月28日
本文作者:lala_wang
本文来源:CSDN,如需转载请联系原作者。

目录
相关文章
|
Linux 编译器 数据库
pacman包管理器介绍
pacman包管理器介绍
866 0
|
Unix Linux 应用服务中间件
【Linux】Linux 系统编程——相对路径和绝对路径
【Linux】Linux 系统编程——相对路径和绝对路径
997 1
|
XML 存储 JavaScript
loadXMLString() 的外部 JavaScript
`loadxmlstring.js` 外部JavaScript文件包含loadXMLString()函数。在HTML中,该函数被引用并在<body>部分中使用,动态创建XML数据:"Everyday Italian"书籍的详细信息。之后,数据传递给loadXMLString()并执行后续代码。
|
存储 Java Shell
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 设置环境变量setenv命令 使用指南
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 设置环境变量setenv命令 使用指南
579 0
基因测序的原理是什么
基因测序的原理是什么
阿里云商标注册申请进度查询攻略来了
阿里云商标注册申请进度查询(太简单了),阿里云商标申请进度查询可以通过手机微信接收商标申请进度信息,在阿里云公众号“阿里云企航”中即可接收商标注册申请进度查询。商标注册申请提交到商标局后需要长达数月的审查过程,实时查询商标注册进度是十分必要的,阿里云百科分享阿里云商标注册申请进度查询方法:
1685 1
阿里云商标注册申请进度查询攻略来了
|
Kubernetes Devops Shell
【DevOps系列】Docker Windows版本安装
【DevOps系列】Docker Windows版本安装
547 0
|
小程序 安全 Android开发
微信小程序抓包之路
微信小程序抓包之路
西门子S7-1200 CPU型号及模块类型有哪些
上篇文章我们介绍了西门子S7-1200功能特点及应用范围有哪些,今天我为大家简单介绍一下西门子S7-1200的CPU型号及模块类型。西门子S7-1200作为紧凑型自动化产品的新成员,目前有三款CPU,分别是CPU1211C、CPU1212C和CPU1214C。根据电源和输入输出信号的不同,每款CPU各有三种不同的型号,不同型号的CPU,本机自带输入输出数字量的点数有所差异。CPU1211C不支持信号扩展模块,而CPU1212C支持两个,CPU1214C最多支持八个。
西门子S7-1200 CPU型号及模块类型有哪些