tokenpocket数字客户端钱包下载|区块链小白入门

作者: tokenpocket数字客户端钱包下载
2024-03-12 15:40:59

区块链入门教程 | 菜鸟教程

区块链入门教程 | 菜鸟教程

菜鸟教程 -- 学的不仅是技术,更是梦想!

首页

笔记首页

Android

ES6 教程

排序算法

Hadoop

Zookeeper

Verilog

编程技术

程序员人生

首页

Android

ES6

逗乐

Search

区块链入门教程 分类 区块链

什么是区块链?

从字面上看:区块链是由一个个记录着各种信息的小区块链接起来组成的一个链条,类似于我们将一块块砖头叠起来,而且叠起来后是没办法拆掉的,每个砖头上面还写着各种信息,包括:谁叠的,什么时候叠的,砖头用了什么材质等等,这些信息你也没办法修改。

从计算机上看:区块链是一种比较特殊的分布式数据库。分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查看到。

区块链是一种分布式的,所以它是没有中心点的,信息存储在所有加入到区块链网络的节点当中,节点的数据是同步的。节点可以是一台服务器,笔记本电脑,手机等。

你要知道的是这些节点的存储的数据都是一模一样。

区块链特性

去中心化:因为它是分布式存储的,所以不存在中心点,也可以说各个节点都是中心点,生活中应用就是不需要第三方系统了(银行、支付宝、房产中介等都属于第三方)。

开放性:区块链的系统数据是公开透明的,每个人都可以参与进来,比如租房子,你可以知道这个房子以前的出租信息,有没出现过问题,当然这里头的一些个人私有信息是加密的。

自治性:区块链采用基于协商一致的规范和协议(比如一套公开透明的算法),然后各个节点就按照这个规范来操作,这样就是所有的东西都有机器完成,就没有人情成分。 使得对"人"的信任改成了对机器的信任,任何人为的干预不起作用。

信息不可篡改:如果信息存储到区块链中就被永久保存,是没办法去改变,至于 51% 攻击,基本不可能实现。

匿名性:区块链上面没有个人的信息,因为这些都是加密的,是一堆数字字母组成的字符串,这样就不会出现你的各种身份证信息、电话号码被倒卖的现象。

区块结构

区块包含两个部分:

1、区块头(Head):记录当前区块的元信息

2、区块体(Body):实际数据

包含数据如下图所示:

区块链如何工作

我们以转账为例:

目前我们转账都是中心化的,银行是一个中心化账本,例如 A 账号里有 400 块钱,B 账号里有 100 块钱。

当 A 要转 100 块钱给 B 时,A 要通过银行提交转账申请,银行验证通过后,就从 A 账号上扣除 100 块,B 账号增加 100 块。

计算后 A 账号扣除 100 后余额为300元,B 账号加上 100 后余额为 200 元。

区块链上转账的步骤则是:A 要转账给 B 100 块钱,A 就会在网络上把要转账的这个信息告诉大家,大家会去查看 A 的账户上是否有足够的钱去完成这个转账,如果验证通过后,大家就把这个信息都记录到自己的电脑上区块链中,且每个人记入的信息都是同步一致的,这样 A 就顺利将 100 块钱转移到了 B 的账户上。可以看到这中间并没有银行啥事。

相关问题

区块链与比特币关系?

比特币2009年被中本聪提出,然后参考了比特币的实现提炼出了区块链的技术。

如果说比特币是面条,那么区块链就是面粉,后面大家发现面粉除了能做面条还可以做馒头跟包子。

为啥我要帮你存储区块信息?

无利不起早,简单说就是你帮我存储信息,我给你相应的报酬。

区块链需要了解的关键技术点?

通过 Hash 与 非对称加密来保障数据无法被篡改:

Hash:y = hash(x),对 x 进行哈希运算得出 y,可以隐藏原始信息 x,因为你没办法通过 y 来算出 x,从而做到匿名性。

非对称加密:公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

共识算法:保障节点与节点之间的数据一致性。

有没一两句话能说明白区块链的?

有的。

麻将作为中国传统的区块链项目,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。

相关文章

漫画解析:谁叫的区块链,来门口取一下!

区块链相关疑问解析

区块链技术(Blockchain)简介

2018中国区块链行业分析报告

区块链行业词典

区块链行业词典 →

教程列表

ADO 教程

Ajax 教程

Android 教程

Angular2 教程

AngularJS 教程

AppML 教程

ASP 教程

ASP.NET 教程

Bootstrap 教程

Bootstrap4 教程

Bootstrap5 教程

C 教程

C# 教程

C++ 教程

Chart.js 教程

CSS 参考手册

CSS 教程

CSS3 教程

Django 教程

Docker 教程

DTD 教程

ECharts 教程

Eclipse 教程

FastAPI 教程

Firebug 教程

Font Awesome 图标

Foundation 教程

Git 教程

Go 语言教程

Google 地图 API 教程

Highcharts 教程

HTML DOM 教程

HTML 参考手册

HTML 字符集

HTML 教程

HTTP 教程

ionic 教程

iOS 教程

Java 教程

JavaScript 参考手册

Javascript 教程

jQuery EasyUI 教程

jQuery Mobile 教程

jQuery UI 教程

jQuery 教程

JSON 教程

JSP 教程

Julia 教程

Kotlin 教程

Linux 教程

Lua 教程

Markdown 教程

Matplotlib 教程

Maven 教程

Memcached 教程

MongoDB 教程

MySQL 教程

Node.js 教程

NumPy 教程

Pandas 教程

Perl 教程

PHP 教程

PostgreSQL 教程

Python 3 教程

Python 基础教程

Python 量化交易

R 教程

RDF 教程

React 教程

Redis 教程

RSS 教程

Ruby 教程

Rust 教程

Sass 教程

Scala 教程

SciPy 教程

Servlet 教程

SOAP 教程

SQL 教程

SQLite 教程

SVG 教程

SVN 教程

Swift 教程

TCP/IP 教程

TypeScript 教程

VBScript 教程

Vue.js 教程

Vue3 教程

W3C 教程

Web Service 教程

WSDL 教程

XLink 教程

XML DOM 教程

XML Schema 教程

XML 教程

XPath 教程

XQuery 教程

XSLFO 教程

XSLT 教程

数据结构

正则表达式

测验

浏览器

网站品质

网站建设指南

网站服务器教程

设计模式

在线实例

·HTML 实例

·CSS 实例

·JavaScript 实例

·Ajax 实例

·jQuery 实例

·XML 实例

·Java 实例

字符集&工具

· HTML 字符集设置

· HTML ASCII 字符集

· JS 混淆/加密

· PNG/JPEG 图片压缩

· HTML 拾色器

· JSON 格式化工具

· 随机数生成器

最新更新

·

Rust 宏

·

Seaborn 教程

·

Pandas 相关性分析

·

31.2k star, 免...

·

Dev Home —...

·

免费开源的 AI ...

·

11.2k star, 免...

站点信息

·

意见反馈

·

免责声明

·

关于我们

·

文章归档

关注微信

Copyright © 2013-2024 菜鸟教程 

runoob.com All Rights Reserved. 备案号:闽ICP备15012807号-1

微信关注

区块链入门学习指南(内附学习线路图+免费视频教程) - 知乎

区块链入门学习指南(内附学习线路图+免费视频教程) - 知乎首发于互联网视界切换模式写文章登录/注册区块链入门学习指南(内附学习线路图+免费视频教程)freedomer.yu我思故我在众所周知,区块链已经成为全球互联网金融最为火热的概念,虽然人们张口闭口总喜欢谈论区块链,但是却很少有人真正了解区块链技术和其应用。大家对于区块链概念不求甚解的原因多半是因为觉得区块链技术很高深。那么区块链技术真的像大家想象中的那么难吗?今天小编就以小白视角为大家奉上区块链入门学习指南。(ps.全文阅读时长大概为5分钟,结尾有干货彩蛋哦~)入门区块链,首先我们先要搞明白:区块链究竟是什么?逻辑原理又是什么?在传统情况下,无论大小系统背后都有一个数据库,数据库就像一个大的账本。比如某宝的数据库就像一个大账本,账上记录了A用户有多少钱、B用户有多少钱。如果A用户支付一元给B用户,那么某宝就在B用户账上加上一元,而在A用户账上减掉一元。所以也可以把数据库的变化看成是一种记账行为。但是,区块链颠覆传统,让系统中每一个用户参与其中。区块链就像一个大的总帐本,系统中的每个用户都可以参与竞争记账。在某个时间段内,系统会在竞争者中找出记账最快最好的用户。该用户把这段时间内的数据变化写到一个区块中,就像写到一张账页上,并把这张账页复制给系统内所有其他用户进行备份,完成整个动作。在下个时间段周而复始,于是系统中每个节点都有着完整账本的副本。由于每个区块数据是通过密码学技术来链接在一起,所以我们称它为“区块链(Blockchain)”,或者 “分布式总账技术(Distributed Ledger Technology)”。区块链让全民参与记账。全民记账更稳定,由于系统中并没有特定记账人,系统中任意部分节点失联或者被摧毁,都不会影响系统的运行。全民记账更安全,系统规定相同数量最多的账本是真账本,少部分和其他用户不一致的账本即为假账本。这让具有足够多节点的区块链很难被攻击和篡改。这些节点分布在互联网的任意角落,除非你是上帝,能够控制全世界大部分电脑,否则无法篡改。因此区块链被认为有史以来最为安全的数据管理方式。全民记账更高效,由于没有中心化的中介机构存在,完全通过预先设定的程序自动运行,能够极大降低成本和提高效率,并且确保账本记录过程和内容公开透明。如果用一句话总结,区块链技术就是在多方无需互信的环境下,通过密码学技术让系统中所有参与方协作,来共同记录维护一个可靠数据日志的方式。什么是比特币挖矿和区块链共识机制?以比特币为代表的虚拟货币大火,人们通过挖矿来获得比特币,那么究竟什么是挖矿呢?比特币为一种虚拟的货币,比特币挖矿制度为通过计算机硬件为比特币网络开展数学运算的过程,提供服务的矿工可以得到一笔报酬,因为网络报酬依据矿工完成的任务来计算,为此挖矿的竞争十分激烈。经常有人说比特币是“挖”出来的,而且需要用“矿机”来挖,那这究竟这是什么意思呢?比特币采用一种称为“工作量证明(PoW,Proof of Work)”共识机制来判断谁记账。什么是共识机制呢?区块链技术的核心是由系统中节点竞争进行记账,这个竞争的评判标准称之为“共识机制”,不同的区块链可能采用不同的共识机制。什么又是工作量证明呢?它是指系统会提出一道难于计算但易于验证的证明题,证明者提交答案后,任何人通过验证这个答案就确信证明者为了求得结果已经完成了大量的计算工作。计算能力越强的证明者越有机会更快的完成证明,而第一个证明者就能够获得系统奖励的比特币。这个过程就称为“挖矿”,为了应付庞大的计算能力而设计出来的专业计算机就是“矿机”。工作证明机制在社会中的应用非常广泛,最典型的就是学业考试,在短时间考试中正确答出足够多的题目表明的确花了大量时间进行学习,而非碰运气。有人认为该机制严重浪费资源,比特币网络耗费庞大且日益增长的电力来进行计算,预计到2020年,比特币网络的耗电量将达到丹麦整个国家的水平,而最终这些计算结果没有任何实际或科学价值。但支持者认为正是因为巨大的投入,导致攻击比特币区块链将会是异常艰难的事情,从而确保了比特币成为人类目前构建出最安全的“数据之锚”。也有人建议使用“权益证明机制(PoS,Proof of Stake)”,这种机制通过计算你持有币数占系统总币数的百分比,包括你占有币数所持有的时间,来决定你获得本次记账权的机率。这就类似于现实世界中的股票制度,在公司中大家是按照持股比例来获得分红,持有股权相对多的人获得更多的分红。这种安全机制的理由是,持有股票的人不会攻击公司,因为这会造成自己的损失,而不持有股票的人无法对公司构成威胁。权益证明机制的反对者认为该机制会加大系统中的贫富差距,持有币更多的人更加容易“挖”到新币,即持有股份更多的人会获得更多的分红。但是,拥护者的观点是,区块链没有理由去解决系统内的贫富差距问题,并且工作量证明也存在同样问题,那些富有者拥有矿机更多算力,也会获得更多的币。到现在,已经出现十几种共识机制,其实各种共识机制各有优劣,针对不同的区块链应用可以选择恰当的共识机制。了解完区块链,那么作为小白应该如何进行入门学习呢?接下来即将进入干货分享时间,觉得内容实用的小伙伴可以直接收藏,点赞鼓励,当然更可以关注我的知乎获取更多干货分享。福利一:区块链入门学习线路图福利二:区块链基础视频教程—人人都懂区块链下载地址:https://pan.baidu.com/s/1SBms82JqzE7MgsGE4G_qQA(无提取码,可直接在线或者下载学习哦~)此图为视频教程部分内容截图,更新时间超新哦!!!希望小编的干货分享能对大家的学习有帮助,获取更多行业干货可关注我的知乎号O(∩_∩)O大家的认可就是我持续分享的动力(^-^)V发布于 2018-08-22 11:50区块链(Blockchain)比特币 (Bitcoin)视频教程​赞同 147​​35 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录互联网视界互联网领域漫谈,欢迎大家分享知识与

区块链教程 - 廖雪峰的官方网站

区块链教程 - 廖雪峰的官方网站

Index

廖雪峰的官方网站

Blog

Java教程

手写Spring

手写Tomcat

Makefile教程

Python教程

JavaScript教程

区块链教程

SQL教程

Git教程

文章

问答

More

Java教程

手写Spring

手写Tomcat

Makefile教程

Python教程

JavaScript教程

区块链教程

SQL教程

Git教程

文章

问答

Java教程

手写Spring

手写Tomcat

Makefile教程

Python教程

JavaScript教程

区块链教程

SQL教程

Git教程

文章

问答

 

Profile

Passkey

Sign Out

Sign In

English

简体中文

Index

区块链教程

比特币

区块链原理

P2P交易原理

私钥

公钥和地址

签名

挖矿原理

可编程支付原理

多重签名

UTXO模型

Segwit地址

HD钱包

钱包层级

助记词

地址监控

以太坊

账户

区块结构

交易

智能合约

编写合约

部署合约

调用合约

编写Dapp

常用合约

ERC20

Wrapped Ether

关注公众号不定期领红包:

加入知识星球社群:

关注微博获取实时动态:

区块链教程

Last updated: ...

/

Reads: 58829626

Edit

区块链(Blockchain)技术源于比特币。在比特币中,为了保证每笔交易可信并不可篡改,中本聪发明了区块链,它通过后一个区块对前一个区块的引用,并以加密技术保证了区块链不可修改。

随着比特币的逐渐发展,人们发现区块链本质上其实是一个分布式的,不可篡改的数据库,天生具有可验证、可信任的特性,它不但可用于支持比特币,也可用于数字身份验证,清算业务等传统的必须由第三方介入的业务,从而降低交易成本。

虽然区块链近年来越来越火,各种概念和商业模式满天飞,但基于区块链底层技术的研究却很少。本教程从零基础开始,从底层开始研究区块链,彻底掌握区块链密码学原理、安全机制、共识技术与工程实现。最大的特色是:

零基础入门区块链,还能写代码!

不仅掌握理论,还能写代码实现,这样就可以轻松识别真假区块链,同时对未来技术的发展有清晰的认识。

本教程代码主要用JavaScript编写,可在线运行,学习方便,省时省力!

最后,请大家务必注意:

本教程为技术教程,教程的所有内容均不构成任何投资比特币或其他数字货币的意见和建议,也不赞成个人炒作任何数字货币!

本教程为技术教程,教程的所有内容均不构成任何投资比特币或其他数字货币的意见和建议,也不赞成个人炒作任何数字货币!

本教程为技术教程,教程的所有内容均不构成任何投资比特币或其他数字货币的意见和建议,也不赞成个人炒作任何数字货币!

重要的话说三遍,一心炒币,对技术不感兴趣的童鞋请自觉关闭页面离开,不要继续浪费时间学习。

Comments

Make a comment

Sign in to

make a comment

Index

区块链教程

比特币

区块链原理

P2P交易原理

私钥

公钥和地址

签名

挖矿原理

可编程支付原理

多重签名

UTXO模型

Segwit地址

HD钱包

钱包层级

助记词

地址监控

以太坊

账户

区块结构

交易

智能合约

编写合约

部署合约

调用合约

编写Dapp

常用合约

ERC20

Wrapped Ether

廖雪峰的官方网站

©Copyright 2019-2021

Powered by iTranswarp

Feedback

License

区块链技术可以应用到哪些领域? - 知乎

区块链技术可以应用到哪些领域? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册区块链(Blockchain)小蚁区块链区块链技术可以应用到哪些领域?在这个时代飞速发展的时代, 区块链技术可以应用到哪些领域?显示全部 ​关注者67被浏览92,845关注问题​写回答​邀请回答​好问题 2​添加评论​分享​26 个回答默认排序知乎用户谢谢阅读,最近万向区块链峰会举行,邀请了各个领域的大咖,听了几个会议的演讲,感觉中国银行原行长分享得挺好,结合他的演讲写下自己的一些思考。一、区块链改善的是什么?当我们提到人工智能的时候,我们大脑大概率会想到一个机器,这个机器可能具备人类智力去实现某个功能,比如机器人或者阿法狗(Alphago);提到云计算,我们会想到是把电脑的计算能力放到了云端的服务器里边;提到物联网,我们会想到万物互联,任何一个物品之间都有传感器,比如智能扫地机器人,智能灯具等等。但是,当我们提到区块链的时候,我们第一时间想不出一个具体的东西去描述它,联想不到任何与它相近的物体,因此它给人一种很虚幻的感觉。因为像人工智能、云计算、物联网等这些东西,它被实现出来,是可以提升人类社会生产力跟生产效率的。但是区块链,它的作用不是提升生产力,而是改善生产关系,改善人与人、节点与节点、机构与机构、国家与国家之间的关系。李行长在演讲中也指出,区块链是通过数学方法解决信任问题,只要信任共同的算法程序就可以建立互信,这种数字信任的价值就在于:在信任未知或信任薄弱的环境中形成可信任的纽带,节约信用形成所需的时间和成本,加持商业信用。在广域、高速的网络中建立零时差、零距离的认证工具,提高物联网的效率和可靠性。其中,值得我们注意的是,区块链的分布式存储技术可以将文件存储在不同的空间上,同时生成文件存储确权证明,在可靠性、边缘存储成本、数据隐私保护方面比传统云存储具有一定优势。二、区块链可以在什么方面突破我们的认知?大家可以看到李行长的演讲中提到各个方面的架构。现在的信息技术架构、商业社会、传统信任机制等,企业方面都分立割据,大企业保存着大量的数据,每个企业之间都是相互独立,自称体系,把控着中国各个领域。我们熟知的就有建行、商行、工行等银行;腾讯、阿里、字节等各大互联网公司。这里面值得我们注意的是:区块链技术通过建立数字化的可信立体交互架构作为解决方案,你可能好奇这是什么意思,就是我们可以通过区块链技术去完成企业之间的互信,实现数据等方面的交互,大家可以基于某种信任达成协作,更好地服务社会。如果这种方式能够形成,在未来就可能再造产业和商业模式,推动经济的升级。在观看会议的过程中,李行长提到:数字技术平等是数字经济、数字金融等竞争的基石。我觉得确实如此,如果我们的技术没有得到很好的发展,在经济、金融领域我们就会处处遇到瓶颈,像中国芯片行业、工程软件研发等领域,这两年被美国一直卡脖子。与此同时,我们可能忽略的是,中国是一个数据资源大国和数字化市场大国,在数据如此庞大的市场,构建数字化的信任体系,这是非常重要的一个领域。中国也是一个经济大国,维护经济金融稳定大局,主动防范系统性金融风险,是我们国家的金融底线,这也是为什么国内对虚拟货币打击这么严格,就是要维护国家金融的稳定,防止外部金融势力操控国内金融发展。三、区块链可以在哪些领域发挥作用?a.数据领域如果你是一个关注时事的读者,相信你一定发现了,今年我国通过了《中华人民共和国数据安全法》,这部法律主要是为了规范数据处理活动,保障数据安全,保护个人、组织的合法权益,维护国家主权、安全和发展利益,制定的法律。换句话说,未来我们的数据可能不会像现在一样,被随意窃取、随意贩卖、随意使用。数据资源如今也是国家的财富,数据安全是数据开发利用和数据产业发展的保障。如何去实现呢?区块链技术可能会在这方面大发光彩。区块链很好的一个作用就是数据确权,微众的报告中就提到隐私计算技术,它能够实现“数据可用不可见”,典型的技术包括:全同态加密、多方安全计算和联邦学习等,这些技术的发展可以实现数据在流通过程中的安全,可以大大促进数据的流转和交易,通过这些方式实现数据资源共享和安全应用。b.监管领域李行长在会议中指出:现在数字化技术创新正在改变金融服务模式,逐渐形成交互、交叉、交集的金融新业态。其中数字资产市场就包括:数字化的金融资产、资产话的专利数据、著作数据、所有权的交易、收益权的交易。看到这里我想起了,为什么这两年nft跟元宇宙被大家热捧,可能部分的原因是随着整个互联网的发展,我们很多资产慢慢转变为数字资产了,这个时候nft非同质化货币的属性,可以对数字资产进行唯一性的标识。举个不太恰当的比喻,如果我们有一个王者荣耀亚瑟的皮肤,我们可以生成一个数字标识,使这个皮肤不同于其他人的,借助这个思路,数字资产也可以生成唯一的标识。因此,随着数字资产市场的发展,唯一性的标识是必不可缺的,因为它涉及到所有权的归属问题。而随着数字资产市场的发展,国家也需要建立相应的监管机制,构建出数字金融安全的屏障,李行长提到以下三个点:1.深入分析分布式对等架构、去中心化架构等数字化技术已经具备及潜在的“颠覆性”性能。2.重点研究基于全新数字技术的去中心化金融工具穿越金融基础设施屏障的可能路径3.研究技术对策和政策预案。以上就是我观看整场会议的收获,更多内容大家可以去看视频如果您是对区块链技术感兴趣的,可以点赞+关注呀,后期会做出更多的分享。与此同时,我们在知乎组了一个社群,群里现在有40+位硕士博士研究生,群里一部分来自中国各大211与985高校,武大、中大、成电等,另一部分是C9高校的学长、国外顶尖高校的学者,北大、浙大、西交、帝国理工、悉尼大学等,研究的领域也是各个方面,从区块链应用到跨链,从存储到联邦学习,从TEE到共识等等。如果您是区块链方向的硕士或者博士研究生,实验室整体是在做区块链方向的,国内外高校都可以,研究生二年级起步确定了方向,博士最少也有一年的接触,我邀请你加入我们,跟我们一起交流讨论,互通有无。编辑于 2021-10-28 15:52​赞同 41​​7 条评论​分享​收藏​喜欢收起​优软众创英唐众创-智能产品方案开发,区块链应用开发(交易系统、软件开发)​ 关注大家都知道,区块链现在非常的火,它是一种共享的分布式数据库技术,区块链技术凭借着显著的特点在不同行业都会有非常好的发展前景,那么区块链有哪些应用领域?区块链应用1、数字货币:目前区块链技术最广泛、最成功的运用是以比特币为代表的数字货币。近年来数字货币发展很快,由于去中心化信用和频繁交易的特点,使得其具有较高交易流通价值,并能够通过开发对冲性质的金融衍生品作为准超主权货币,保持相对稳定的价格。自从有了比特币之后,已经陆续出现了数百种的数字货币,围绕着数字货币生成、存储、交易形成了较为庞大的产业链生态。以比特币为例,参与机构主要可分为基础设施、交易平台、ICO融资服务、区块链综合服务等四类。2、金融应用:区块链在金融领域有着天生的优势,在互联网上来说,这是区块链的基因决定的。主观来看,金融机构在区块链应用的探索上意愿最强,需要新的技术来提高运营效率,降低成本来应对整个全球经济当前现状。客观来看,金融行业市场空间巨大,些许的进步就能带来巨大收益。金融行业是对安全性、稳定性要求极高的行业,如果区块链在金融领域应用得以验证,那么将会产生巨大的示范效应,迅速在其他行业推广。在金融领域,除去数字货币应用,区块链也逐渐在跨境支付、供应链金融、保险、数字票据、资产证券化、银行征信等领域开始了应用。(1)保险业务:随着区块链技术的发展,未来关于个人的健康状况、事故记录等信息可能会上传至区块链中,使保险公司在客户投保时可以更加及时、准确地获得风险信息,从而降低核保成本、提升效率。区块链的共享透明特点降低了信息不对称,还可降低逆向选择风险;而其历史可追踪的特点,则有利于减少道德风险,进而降低保险的管理难度和管理成本。(2) 资产证券化:这一领域业务痛点在于底层资产真假无法保证;参与主体多、操作环节多交易透明度低出现信息不对称等问题,造成风险难以把控。数据痛点在于各参与方之间流转效率不高、各方交易系统间资金清算和对账往往需要大量人力物力、资产回款方式有线上线下多种渠道,无法监控资产的真实情况,还存在资产包形成后,交易链条里各方机构对底层资产数据真实性和准确性的信任问题。(3)数字票据:该领域痛点在于三个风险问题。操作风险,由于系统中心化,一旦中心服务器出问题,整个市场瘫痪;市场风险,根据数据统计,在2016年,涉及金额达到数亿以上的风险事件就有七件,涉及多家银行;道德风险,市场上存在"一票多卖"、虚假商业汇票等事件。区块链去中介化、系统稳定性、共识机制、不可篡改的特点,减少传统中心化系统中的操作风险、市场风险和道德风险。(4) 跨境支付:该领域的痛点在于到账周期长、费用高、交易透明度低。以第三方支付公司为中心,完成支付流程中的记账、结算和清算,到账周期长,比如跨境支付到账周期在三天以上,费用较高。区块链去中介化、交易公开透明和不可篡改的特点,没有第三方支付机构加入,缩短了支付周期、降低费用、增加了交易透明度。(5)征信管理:该领域的痛点在于数据缺乏共享,征信机构与用户信息不对称;正规市场化数据采集渠道有限,数据源争夺战耗费大量成本;数据隐私保护问题突出,传统技术架构难以满足新要求等。在征信领域,区块链具有去中心化、去信任、时间戳、非对称加密和智能合约等特征,在技术层面保证了可以在有效保护数据隐私的基础上实现有限度、可管控的信用数据共享和验证。(6)供应链金融:这一领域的痛点在于融资周期长、费用高。以供应链核心企业系统为中心,第三方增信机构很难鉴定供应链上各种相关凭证的真伪,造成人工审核的时间长、融资费用高。区块链去中介化、共识机制、不可篡改的特点,不需要第三方增信机构鉴定供应链上各种相关凭证的真实性,降低融资成本、减少融资的周期。(7)资产证券化:这一领域业务痛点在于底层资产真假无法保证;参与主体多、操作环节多交易透明度低出现信息不对称等问题,造成风险难以把控。数据痛点在于各参与方之间流转效率不高、各方交易系统间资金清算和对账往往需要大量人力物力、资产回款方式有线上线下多种渠道,无法监控资产的真实情况,还存在资产包形成后,交易链条里各方机构对底层资产数据真实性和准确性的信任问题。区块链去中介化、共识机制、不可篡改的特点,增加数据流转效率,减少成本,实时监控资产的真实情况,保证交易链条各方机构对底层资产的信任问题。3、区块链 + 行业应用:随着区块链技术在金融领域应用的不断验证,其技术优势在其他行业领域也逐渐体现出价值。目前,医疗健康、IP版权、教育、文化娱乐、通信、慈善公益、社会管理、共享经济、物联网等领域都在逐渐落地区块链应用项目,“区块链+”正在成为现实。(1)区块链 + 医疗:医疗领域,区块链能利用自己的匿名性、去中心化等特征保护病人隐私。电子健康病例(EHR)、DNA钱包、药品防伪等都是区块链技术可能的应用领域。IBM在去年的报告中预测,全球56%的医疗机构将在2020年前将投资区块链技术。(2)区块链 + 物联网:物联网是一个非常宽泛的概念,如果将通信、能源管理、供应链管理、共享经济等涵盖在内,区块链技术的物联网应用将成为一个非常重要的应用领域。(3)区块链 + IP版权&文化娱乐:互联网发展的越来越好,数字音乐、数字图书、数字视频、数字游戏等逐渐成为了主流。知识经济的兴起使得知识产权成为市场竞争的核心要素。但当下的互联网生态里知识产权侵权现象严重,数字资产的版权保护成为了行业痛点。区块链去中介化、共识机制、不可篡改的特点,利用区块链技术,能将文化娱乐价值链的各个环节进行有效整合、加速流通,缩短价值创造周期;同时,可实现数字内容的价值转移,并保证转移过程的可信、可审计和透明,有效预防盗版等行为。(4)区块链 + 公共服务&教育:在公共服务、教育、慈善公益等领域,档案管理、身份(资质)认证、公众信任等问题都是客观存在的,传统方式是依靠具备公信力的第三方作信用背书,但造假、缺失等问题依然存在。区块链技术能够保证所有数据的完整性、永久性和不可更改性,因而可以有效解决这些行业在存证、追踪、关联、回溯等方面的难点和痛点。相关内容:区块链的跨链技术区块链点对点交易系统开发区块链数字货币交易系统开发核心联盟链或成巨头新宠?来自京东金融研究院的区块链白皮书英唐众创:区块链的原理是什么?区块链交易平台系统开发原理如果你有任何不同见解或意见,欢迎你留言讨论。--------------------------------欢迎关注:我是英唐众创,还有关注我的知乎账号:@英唐众创@优软众创@深圳市优软众创技术有限公司方案:众创方案商城致力于分享智能产品方案、区块链技术应用开发经验,让生活更智能发布于 2018-04-25 14:23​赞同 101​​添加评论​分享​收藏​喜欢

【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所-腾讯云开发者社区-腾讯云

技术综述】:区块链技术发展现状与展望-中科院自动化所-腾讯云开发者社区-腾讯云WZEARW【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网WZEARW首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所WZEARW关注发布于 2018-04-16 11:39:595.4K0发布于 2018-04-16 11:39:59举报文章被收录于专栏:专知专知本文为中国科学院自动化研究所复杂系统管理与控制国家重点实验室袁勇博士与王飞跃教授发表在 2016 年 4 月出版的在《自动化学报》上关于区块链技术的综述论文。文章通过解构区块链的核心要素,提出了区块链系统的基础架构模型,详细阐述了区块链及与之相关的比特币的基本原理、技术、方法与应用现状,讨论了智能合约的理念、应用和意义。区块链是以比特币为代表的数字加密货币体系的核心支撑技术。区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。随着比特币近年来的快速发展与普及,区块链技术的研究与应用也呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑 [1]。区块链技术是下一代云计算的雏形,有望像互联网一样彻底重塑人类社会活动形态,并实现从目前的信息互联网向价值互联网的转变。区块链技术的快速发展引起了政府部门、金融机构、科技企业和资本市场的广泛关注。2016 年 1 月,英国政府发布区块链专题研究报告 [2],积极推行区块链在金融和政府事务中的应用;中国人民银行召开数字货币研讨会探讨采用区块链技术发行虚拟货币的可行性,以提高金融活动的效率、便利性和透明度。美国纳斯达克于 2015 年 12 月率先推出基于区块链技术的证券交易平台 Linq,成为金融证券市场去中心化趋势的重要里程碑;德勤和安永等专业审计服务公司相继组建区块链研发团队,致力于提升其客户审计服务质量。截止到 2016 年初,资本市场已经相继投入 10 亿美元以加速区块链领域的发展。初创公司 R3CEV 基于微软云服务平台 Azure 推出的 BaaS(Blockchain as a Service,区块链即服务)服务,已与美国银行、花旗银行等全球 40 余家大型银行机构签署区块链合作项目,致力于制定银行业的区块链行业标准与协议。区块链技术起源于 2008 年由化名为「中本聪」(Satoshi Nakamoto)的学者在密码学邮件组发表的奠基性论文《比特币:一种点对点电子现金系统》[3],目前尚未形成行业公认的区块链定义:狭义来讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账(Decentralized Shared Ledger),能够安全存储简单的、有先后关系的、能在系统内验证的数据。广义的区块链技术则是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式。区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点:首先是去中心化:区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构,采用纯数学方法而不是中心机构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统;其次是时序数据:区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有极强的可验证性和可追溯性;第三是集体维护:区块链系统采用特定的经济激励机制来保证分布式系统中所有节点均可参与数据区块的验证过程(如比特币的「挖矿」过程),并通过共识算法来选择特定的节点将新区块添加到区块链;第四是可编程:区块链技术可提供灵活的脚本代码系统,支持用户创建高级的智能合约、货币或其他去中心化应用。例如,以太坊(Ethereum)平台即提供了图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交易类型 [4];最后是安全可信:区块链技术采用非对称密码学原理对数据进行加密,同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击、保证区块链数据不可篡改和不可伪造,因而具有较高的安全性。区块链技术是具有普适性的底层技术框架,可以为金融、经济、科技甚至政治等各领域带来深刻变革。按照目前区块链技术的发展脉络,区块链技术将会经历以可编程数字加密货币体系为主要特征的区块链 1.0 模式、以可编程金融系统为主要特征的区块链 2.0 模式和以可编程社会为主要特征的区块链 3.0 模式 [1]。目前,一般认为区块链技术正处于 2.0 模式的初期,股权众筹和 P2P 借贷等各类基于区块链技术的互联网金融应用相继涌现。然而,上述模式实际上是平行而非演进式发展的,区块链 1.0 模式的数字加密货币体系仍然远未成熟,距离其全球货币一体化的愿景实际上更远、更困难。目前,区块链领域已经呈现出明显的技术和产业创新驱动的发展态势,相关学术研究严重滞后、亟待跟进。截止到 2016 年 2 月,以万方数据知识服务平台为中文数据源、以 Web of Science 和 EI Village 为英文数据源的文献检索显示,目前篇名包含关键词「区块链/blockchain」的仅有 2 篇中文 [5,6] 和 9 篇英文文献 [6~14]。本文系统性地梳理了区块链的基本原理、核心技术、典型应用和现存问题,以期为未来研究提供有益的启发与借鉴。本文组织结构为:第 1 节概述区块链与比特币的发展史及二者的关系;第 2 节阐述区块链的基础架构模型及其关键技术;第 3 节和第 4 节分别概要总结了区块链技术的应用场景与现存的问题;第 5 节介绍智能合约及其在区块链领域的应用现状;第 6 节展望了区块链驱动的平行社会发展趋势;第 7 节总结本文内容。1. 比特币与区块链概述比特币是迄今为止最为成功的区块链应用场景。据区块链实时监控网站 Blockchain.info 统计显示,平均每天有约 7500 万美元的 120000 笔交易被写入比特币区块链,目前已生成超过 40万个区块 [15]。加密货币市值统计网站 coinmarketcap.com 显示,截止到 2016 年 2 月,全球共有 675 种加密货币,总市值超过 67 亿美元,其中比特币市值约占 86%,瑞波币和以太币分别居二、三位 [16]。目前比特币供应量(即已经挖出的比特币数量)已经超过 1500 万枚,按照每枚比特币 389.50 美元的现行价格估算其总市值已超过 59 亿美元,在世界各国 2015 年 GDP 排名中占据第 144 位(略低于欧洲的摩尔多瓦)。换言之,在没有政府和中央银行信用背书的情况下,去中心化的比特币已经依靠算法信用创造出与欧洲小国体量相当的全球性经济体【注:近日比特币价格突破 5800 美元/枚,流通的比特币总价值达到 967 亿美元】。预计到 2027 年,全球 10% 的 GDP 将会通过区块链技术存储 [17]。比特币区块链的第一个区块(称为创世区块)诞生于 2009 年 1 月 4 日,由创始人中本聪持有。一周后,中本聪发送了 10 个比特币给密码学专家哈尔芬尼,形成了比特币史上第一次交易;2010 年 5 月,佛罗里达程序员用 1 万比特币购买价值为 25 美元的披萨优惠券,从而诞生了比特币的第一个公允汇率。此后,比特币价格快速上涨,并在 2013 年 11 月创下每枚比特币兑换 1242 美元的历史高值,超过同期每盎司 1241.98 美元的黄金价格。据 CoinDesk 估算,目前全球约有 6 万商家接受比特币交易,其中中国是比特币交易增长最为迅速的国家 [18]。比特币本质上是由分布式网络系统生成的数字货币,其发行过程不依赖特定的中心化机构,而是依赖于分布式网络节点共同参与一种称为工作量证明(Proof of Work,PoW)的共识过程以完成比特币交易的验证与记录。PoW 共识过程(俗称挖矿,每个节点称为矿工)通常是各节点贡献自己的计算资源来竞争解决一个难度可动态调整的数学问题,成功解决该数学问题的矿工将获得区块的记账权,并将当前时间段的所有比特币交易打包记入一个新的区块、按照时间顺序链接到比特币主链上。比特币系统同时会发行一定数量的比特币以奖励该矿工,并激励其他矿工继续贡献算力。比特币的流通过程依靠密码学方法保障安全。每一次比特币交易都会经过特殊算法处理和全体矿工验证后记入区块链,同时可以附带具有一定灵活性的脚本代码(智能合约)以实现可编程的自动化货币流通。由此可见,比特币和区块链系统一般具备如下五个关键要素,即公共的区块链账本、分布式的点对点网络系统、去中心化的共识算法、适度的经济激励机制以及可编程的脚本代码。区块链技术为比特币系统解决了数字加密货币领域长期以来所必需面对的两个重要问题,即双重支付问题和拜占庭将军问题 [19]:双重支付问题又称为「双花」,即利用货币的数字特性两次或多次使用「同一笔钱」完成支付。传统金融和货币体系中,现金(法币)因是物理实体,能够自然地避免双重支付;其他数字形式的货币则需要可信的第三方中心机构(如银行)来保证。区块链技术的贡献是在没有第三方机构的情况下,通过分布式节点的验证和共识机制解决了去中心化系统的双重支付问题,在信息传输的过程同时完成了价值转移。拜占庭将军问题是分布式系统交互过程普遍面临的难题,即在缺少可信任的中央节点的情况下,分布式节点如何达成共识和建立互信 [20]。区块链通过数字加密技术和分布式共识算法,实现了在无需信任单个节点的情况下构建一个去中心化的可信任系统。与传统中心机构(如中央银行)的信用背书机制不同的是,比特币区块链形成的是软件定义的信用,这标志着中心化的国家信用向去中心化的算法信用的根本性变革。图 1 比特币生态圈比特币凭借其先发优势,目前已经形成体系完备的涵盖发行、流通和金融衍生市场的生态圈与产业链(如图1所示),这也是其长期占据绝大多数数字加密货币市场份额的主要原因。比特币的开源特性吸引了大量开发者持续性地贡献其创新技术、方法和机制;比特币各网络节点(矿工)提供算力以保证比特币的稳定共识和安全性,其算力大多来自于设备商销售的专门用于 PoW 共识算法的专业设备(矿机)。比特币网络为每个新发现的区块发行一定数量的比特币以奖励矿工,部分矿工可能会相互合作建立收益共享的矿池,以便汇集算力来提高获得比特币的概率。比特币经发行进入流通环节后,持币人可以通过特定的软件平台(如比特币钱包)向商家支付比特币来购买商品或服务,这体现了比特币的货币属性;同时由于比特币价格的涨跌机制使其完全具备金融衍生品的所有属性,因此出现了比特币交易平台以方便持币人投资或者投机比特币。在流通环节和金融市场中,每一笔比特币交易都会由比特币网络的全体矿工验证并记入区块链。比特币是区块链技术赋能的第一个「杀手级」应用,迄今为止区块链的核心技术和人才资源仍大多在比特币研发领域。然而,区块链作为未来新一代的底层基础技术,其应用范畴势必会超越数字加密货币而延伸到金融、经济、科技和政治等其他领域。比特币的现有技术、模式和机制,将会对区块链在新应用领域的发展提供有益的借鉴,而新领域的区块链创新也势必反过来促进解决比特币系统现存的问题。因此,比特币和区块链技术存在着协同进化、和谐共生而非相互竞争的良性反馈关系。2. 区块链的基础模型与关键技术本节将结合比特币系统的技术与应用现状,阐述区块链技术的基础模型、基本原理和关键技术,以及区块链在比特币系统之外的若干创新模式。现存的其他区块链应用大多都与比特币类似,仅在某些特定的环节或多或少地采用比特币模式的变种。图 2 区块链基础架构模型区块链技术的基础架构模型如图 2 所示。一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。2.1 数据层狭义的区块链即是去中心化系统各节点共享的数据账本。每个分布式节点都可以通过特定的哈希算法和 Merkle 树数据结构,将一段时间内接收到的交易数据和代码封装到一个带有时间戳的数据区块中,并链接到当前最长的主区块链上,形成最新的区块。该过程涉及区块、链式结构、哈希算法、 Merkle 树和时间戳等技术要素。数据区块图 3 区块结构

如图 3 所示,每个数据区块一般包含区块头(Header)和区块体(Body)两部分。区块头封装了当前版本号(Version)、前一区块地址(Prev-block)、当前区块的目标哈希值(Bits)、当前区块 PoW 共识过程的解随机数(Nonce)、Merkle 根(Merkle-root)以及时间戳(Timestamp)等信息 [21]。比特币网络可以动态调整 PoW 共识过程的难度值,最先找到正确的解随机数 Nonce 并经过全体矿工验证的矿工将会获得当前区块的记账权。区块体则包括当前区块的交易数量以及经过验证的、区块创建过程中生成的所有交易记录。这些记录通过 Merkle 树的哈希过程生成唯一的 Merkle 根并记入区块头。链式结构取得记账权的矿工将当前区块链接到前一区块,形成最新的区块主链。各个区块依次环环相接,形成从创世区块到当前区块的一条最长主链,从而记录了区块链数据的完整历史,能够提供区块链数据的溯源和定位功能,任意数据都可以通过此链式结构顺藤摸瓜、追本溯源。

需要说明的是,如果短时间内有两个矿工同时「挖出」两个新的区块加以链接的话,区块主链可能会出现暂时的「分叉」现象,其解决方法是约定矿工总是选择延长累计工作量证明最大的区块链。因此,当主链分叉后,后续区块的矿工将通过计算和比较,将其区块链接到当前累计工作量证明最大化的备选链上,形成更长的新主链,从而解决分叉问题 [19]。时间戳区块链技术要求获得记账权的节点必须在当前数据区块头中加盖时间戳,表明区块数据的写入时间。因此,主链上各区块是按照时间顺序依次排列的。时间戳技术本身并不复杂,但其在区块链技术中的应用是具有重要意义的创新。时间戳可以作为区块数据的存在性证明(Proof of Existence),有助于形成不可篡改和不可伪造的区块链数据库,从而为区块链应用于公证、知识产权注册等时间敏感的领域奠定了基础。更为重要的是,时间戳为未来基于区块链的互联网和大数据增加了时间维度,使得通过区块数据和时间戳来重现历史成为可能。哈希函数区块链通常并不直接保存原始数据或交易记录,而是保存其哈希函数值,即将原始数据编码为特定长度的由数字和字母组成的字符串后记入区块链。哈希函数(也称散列函数)具有诸多优良特点,因而特别适合用于存储区块链数据。例如,通过哈希输出几乎不能反推输入值(单向性),不同长度输入的哈希过程消耗大约相同的时间(定时性)且产生固定长度的输出(定长性),即使输入仅相差一个字节也会产生显著不同的输出值(随机性)等。比特币区块链通常采用双 SHA256 哈希函数,即将任意长度的原始数据经过两次 SHA256 哈希运算后转换为长度为 256 位(32字节)的二进制数字来统一存储和识别。除上述特点外,SHA256 算法还具有巨大的散列空间(2256)和抗碰撞(避免不同输入值产生相同哈希值)等特性,可满足比特币的任何相关标记需要而不会出现冲突。Merkle 树Merkle 树是区块链的重要数据结构,其作用是快速归纳和校验区块数据的存在性和完整性。如图 3 所示,Merkle 树通常包含区块体的底层(交易)数据库,区块头的根哈希值(即Merkle 根)以及所有沿底层区块数据到根哈希的分支。Merkle 树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入到 Merkle 树中,如此递归直到只剩最后一个根哈希值并记为区块头的 Merkle 根。最常见的 Merkle 树是比特币采用的二叉 Merkle 树,其每个哈希节点总是包含两个相邻的数据块或其哈希值 [22],其他变种则包括以太坊的 Merkle Patricia Tree等 [4]。Merkle 树有诸多优点:首先是极大地提高了区块链的运行效率和可扩展性,使得区块头只需包含根哈希值而不必封装所有底层数据,这使得哈希运算可以高效地运行在智能手机甚至物联网设备上;其次是 Merkle 树可支持「简化支付验证」协议,即在不运行完整区块链网络节点的情况下,也能够对(交易)数据进行检验 [3]。例如,为验证图 3 中交易 6,一个没有下载完整区块链数据的客户端可以通过向其他节点索要包括从交易 6 哈希值沿 Merkle 树上溯至区块头根哈希处的哈希序列(即哈希节点6,5,56,78,5678,1234)来快速确认交易的存在性和正确性。一般说来,在 N 个交易组成的区块体中确认任一交易的算法复杂度仅为 log_2 N 。这将极大地降低区块链运行所需的带宽和验证时间,并使得仅保存部分相关区块链数据的轻量级客户端成为可能。非对称加密非对称加密是为满足安全性需求和所有权验证需求而集成到区块链中的加密技术,常见算法包括 RSA、Elgamal、Rabin、D-H、ECC(即椭圆曲线加密算法)等。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:

首先是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开;其次是公钥可向其他人公开、私钥则保密,其他人无法通过该公钥推算出相应的私钥。非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等,其中:信息加密场景主要是由信息发送者(记为 A)使用接受者(记为 B)的公钥对信息加密后再发送给 B,B 利用自己的私钥对信息解密。比特币交易的加密即属于此场景;数字签名场景则是由发送者 A 采用自己的私钥加密信息后发送给 B,B 使用 A 的公钥对信息解密、从而可确保信息是由 A 发送的;登录认证场景则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息。图 4 比特币非对称加密机制以比特币系统为例,其非对称加密机制如图 4 所示:比特币系统一般通过调用操作系统底层的随机数生成器来生成 256 位随机数作为私钥。比特币私钥的总量可达 2256,极难通过遍历全部私钥空间来获得存有比特币的私钥,因而是密码学安全的。为便于识别,256 位二进制形式的比特币私钥将通过 SHA256 哈希算法和 Base58 转换,形成 50 个字符长度的易识别和书写的私钥提供给用户;比特币的公钥是由私钥首先经过 Secp256k1 椭圆曲线算法生成 65 字节长度的随机数。该公钥可用于产生比特币交易时使用的地址,其生成过程为首先将公钥进行 SHA256 和 RIPEMD160 双哈希运算并生成20字节长度的摘要结果(即 hash160 结果),再经过 SHA256 哈希算法和 Base58 转换形成 33 字符长度的比特币地址 [19]。公钥生成过程是不可逆的,即不能通过公钥反推出私钥。比特币的公钥和私钥通常保存于比特币钱包文件,其中私钥最为重要。丢失私钥就意味着丢失了对应地址的全部比特币资产。现有的比特币和区块链系统中,根据实际应用需求已经衍生出多私钥加密技术,以满足多重签名等更为灵活和复杂的场景。2.2 网络层网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素。结合实际应用需求,通过设计特定的传播协议和数据验证机制,可使得区块链系统中每一个节点都能参与区块数据的校验和记账过程,仅当区块数据通过全网大部分节点验证后,才能记入区块链。组网方式区块链系统的节点一般具有分布式、自治性、开放可自由进出等特性,因而一般采用对等式网络(Peer-to-Peer Network,P2P 网络)来组织散布全球的参与数据验证和记账的节点。P2P 网络中的每个节点均地位对等且以扁平式拓扑结构相互连通和交互,不存在任何中心化的特殊节点和层级结构,每个节点均会承担网络路由、验证区块数据、传播区块数据、发现新节点等功能。按照节点存储数据量的不同,可以分为全节点和轻量级节点。前者保存有从创世区块到当前最新区块为止的完整区块链数据,并通过实时参与区块数据的校验和记账来动态更新主链。全节点的优势在于不依赖任何其他节点而能够独立地实现任意区块数据的校验、查询和更新,劣势则是维护全节点的空间成本较高。以比特币为例,截止到 2016 年 2 月,创世区块至当前区块的数据量已经超过 60 GB。与之相比,轻量级节点则仅保存一部分区块链数据,并通过第 2.1 节提到的简易支付验证方式向其相邻节点请求所需的数据来完成数据校验。数据传播协议任一区块数据生成后,将由生成该数据的节点广播到全网其他所有的节点来加以验证。现有的区块链系统一般根据实际应用需求设计比特币传播协议的变种,例如以太坊区块链集成了所谓的「幽灵协议」以解决因区块数据确认速度快而导致的高区块作废率和随之而来的安全性风险 [4]。根据中本聪的设计,比特币系统的交易数据传播协议包括如下步骤 [3]:1) 比特币交易节点将新生成的交易数据向全网所有节点进行广播;2) 每个节点都将收集到的交易数据存储到一个区块中;3) 每个节点基于自身算力在区块中找到一个具有足够难度的工作量证明;4) 当节点找到区块的工作量证明后,就向全网所有节点广播此区块;5) 仅当包含在区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;6) 其他节点接受该数据区块,并在该区块的末尾制造新的区块以延长该链条,而将被接受区块的随机哈希值视为先于新区块的随机哈希值。需要说明的是,如果交易节点是与其他节点无连接的新节点,比特币系统通常会将一组长期稳定运行的「种子节点」推荐给新节点建立连接,或者推荐至少一个节点连接到新节点。此外,交易数据广播时,并不需要全部节点均接收到,而是只要足够多的节点做出响应即可整合进入区块账本中。未接收到特定交易数据的节点则可向邻近节点请求下载该缺失的交易数据 [19]。数据验证机制P2P 网络中的每个节点都时刻监听比特币网络中广播的数据与新区块。节点接收到邻近节点发来的数据后,将首先验证该数据的有效性:如果数据有效,则按照接收顺序为新数据建立存储池以暂存尚未记入区块的有效数据,同时继续向邻近节点转发;如果数据无效,则立即废弃该数据,从而保证无效数据不会在区块链网络继续传播。以比特币为例,比特币的矿工节点会收集和验证 P2P 网络中广播的尚未确认的交易数据,并对照预定义的标准清单,从数据结构、语法规范性、输入输出和数字签名等各方面校验交易数据的有效性,并将有效交易数据整合到当前区块中。同理,当某矿工「挖」到新区块后,其他矿工节点也会按照预定义标准来校验该区块是否包含足够工作量证明,时间戳是否有效等。如确认有效,其他矿工节点会将该区块链接到主区块链上,并开始竞争下一个新区块。由网络层设计机理可见,区块链是典型的分布式大数据技术。全网数据同时存储于去中心化系统的所有节点上,即使部分节点失效,只要仍存在一个正常运行的节点,区块链主链数据就可完全恢复而不会影响后续区块数据的记录与更新。这种高度分散化的区块存储模式与云存储模式的区别在于,后者是基于中心化结构基础上的多重存储和多重数据备份模式,即「多中心化」模式,而前者则是完全「去中心化」的存储模式,具有更高的数据安全性。2.3 共识层如何在分布式系统中高效地达成共识是分布式计算领域的重要研究问题。正如社会系统中「民主」和「集中」的对立关系相似,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高;而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。区块链技术的核心优势之一就是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识。早期的比特币区块链采用高度依赖节点算力的工作量证明(Proof of Work,PoW)机制来保证比特币网络分布式记账的一致性。随着区块链技术的发展和各种竞争币的相继涌现,研究者提出多种不依赖算力而能够达成共识的机制,例如点点币首创的权益证明(Proof of Stake,PoS)共识 [23] 和比特股首创的授权股份证明机制(Delegated Proof of Stake,DPoS)共识机制 [24] 等。区块链共识层即封装了这些共识机制。PoW 共识中本聪在其比特币奠基性论文中设计了 PoW 共识机制,其核心思想是通过引入分布式节点的算力竞争来保证数据一致性和共识的安全性。比特币系统中,各节点(即矿工)基于各自的计算机算力相互竞争来共同解决一个求解复杂但验证容易的 SHA256 数学难题(即挖矿),最快解决该难题的节点将获得区块记账权和系统自动生成的比特币奖励。该数学难题可表述为:根据当前难度值,通过搜索求解一个合适的随机数(Nonce)使得图 3 中区块头各元数据的双 SHA256 哈希值小于或等于目标哈希值。比特币系统通过灵活调整随机数搜索的难度值来控制区块的平均生成时间为 10 分钟左右。一般说来,PoW 共识的随机数搜索过程如下(参照图3区块结构) [19]:步骤 1:搜集当前时间段的全网未确认交易,并增加一个用于发行新比特币奖励的 Coinbase 交易,形成当前区块体的交易集合;步骤 2:计算区块体交易集合的 Merkle 根记入区块头,并填写区块头的其他元数据,其中随机数 Nonce 置零;步骤 3:随机数 Nonce 加 1;计算当前区块头的双 SHA256 哈希值,如果小于或等于目标哈希值,则成功搜索到合适的随机数并获得该区块的记账权;否则继续步骤 3 直到任一节点搜索到合适的随机数为止;步骤 4:如果一定时间内未成功,则更新时间戳和未确认交易集合、重新计算 Merkle 根后继续搜索。符合要求的区块头哈希值通常由多个前导零构成,目标哈希值越小,区块头哈希值的前导零越多,成功找到合适的随机数并「挖」出新区块的难度越大。据区块链实时监测网站 Blockchain.info 显示,截止到 2016 年 2 月,符合要求的区块头哈希值一般有 17 个前导零,例如第 398346 号区块哈希值为「0000000000000000077f754f22f21629a7975cf…」。按照概率计算,每 16 次随机数搜索将会有找到一个含有一个前导零的区块哈希值,因而比特币目前 17 位前导零哈希值要求 1617 次随机数搜索才能找到一个合适的随机数并生成一个新的区块。由此可见,比特币区块链系统的安全性和不可篡改性是由 PoW 共识机制的强大算力所保证的,任何对于区块数据的攻击或篡改都必须重新计算该区块以及其后所有区块的 SHA256 难题,并且计算速度必须使得伪造链长度超过主链,这种攻击难度导致的成本将远超其收益。据估计,截止到 2016 年 1 月,比特币区块链的算力已经达到 800000000 Gh/s,即每秒进行8×10^18 次运算,超过全球 Top 500 超级计算机的算力总和。PoW 共识机制是具有重要意义的创新,其近乎完美地整合了比特币系统的货币发行、交易支付和验证等功能,并通过算力竞争保障系统的安全性和去中心性。PoW 共识机制同时存在着显著的缺陷,其强大算力造成的资源浪费(如电力)历来为研究者所诟病,而且长达 10 分钟的交易确认时间使其相对不适合小额交易的商业应用。PoS 共识机制PoS 共识是为解决 PoW 共识机制的资源浪费和安全性缺陷而提出的替代方案。限于篇幅,本文主要聚焦于 PoS 相对于 PoW 的创新之处。PoS 共识本质上是采用权益证明来代替 PoW 中的基于哈希算力的工作量证明,是由系统中具有最高权益而非最高算力的节点获得区块记账权。权益体现为节点对特定数量货币的所有权,称为币龄或币天数(Coin Days)。币龄是特定数量的币与其最后一次交易的时间长度的乘积,每次交易都将会消耗掉特定数量的币龄。例如,某人在一笔交易中收到 10 个币后并持有 10 天,则获得 100 币龄;而后其花掉 5 个币后,则消耗掉 50 币龄。显然,采用 PoS 共识机制的系统在特定时间点上的币龄总数是有限的,长期持币者更倾向于拥有更多币龄,因此币龄可视为其在 PoS 系统中的权益。此外,PoW 共识过程中各节点挖矿难度相同,而 PoS 共识过程中的难度与交易输入的币龄成反比,消耗币龄越多则挖矿难度越低。节点判断主链的标准也由 PoW 共识的最高累计难度转变为最高消耗币龄,每个区块的交易都会将其消耗的币龄提交给该区块,累计消耗币龄最高的区块将被链接到主链。由此可见,PoS 共识过程仅依靠内部币龄和权益而不需要消耗外部算力和资源,从根本上解决了 PoW 共识算力浪费的问题,并且能够在一定程度上缩短达成共识的时间,因而比特币之后的许多竞争币均采用 PoS 共识机制。DPoS 共识机制DPoS 共识机制的基本思路类似于「董事会决策」,即系统中每个股东节点可以将其持有的股份权益作为选票授予一个代表,获得票数最多且愿意成为代表的前 101 个节点将进入「董事会」,按照既定的时间表轮流对交易进行打包结算并且签署(即生产)一个新区块。每个区块被签署之前,必须先验证前一个区块已经被受信任的代表节点所签署。「董事会」的授权代表节点可以从每笔交易的手续费中获得收入,同时要成为授权代表节点必须缴纳一定量的保证金,其金额相当于生产一个区块收入的 100 倍。授权代表节点必须对其他股东节点负责,如果其错过签署相对应的区块,则股东将会收回选票从而将该节点「投出」董事会。因此,授权代表节点通常必须保证 99% 以上的在线时间以实现盈利目标 [24]。显然,与 PoW 共识机制必须信任最高算力节点和 PoS 共识机制必须信任最高权益节点不同的是,DPoS 共识机制中每个节点都能够自主决定其信任的授权节点且由这些节点轮流记账生成新区块,因而大幅减少了参与验证和记账的节点数量,可以实现快速共识验证。除上述三种主流共识机制外,实际区块链应用中也衍生出了 PoW + PoS、行动证明(Proof of Activity)等多个变种机制。这些共识机制各有优劣势,比特币的 PoW 共识机制依靠其先发优势已经形成成熟的挖矿产业链,支持者众多,而 PoS 和 DPoS 等新兴机制则更为安全、环保和高效,从而使得共识机制的选择问题成为区块链系统研究者最不易达成共识的问题。2.4 激励层区块链共识过程通过汇聚大规模共识节点的算力资源来实现共享区块链账本的数据验证和记账工作,因而其本质上是一种共识节点间的任务众包过程。去中心化系统中的共识节点本身是自利的,最大化自身收益是其参与数据验证和记账的根本目标。因此,必须设计激励相容的合理众包机制,使得共识节点最大化自身收益的个体理性行为与保障去中心化区块链系统的安全和有效性的整体目标相吻合。区块链系统通过设计适度的经济激励机制并与共识过程相集成,从而汇聚大规模的节点参与并形成了对区块链历史的稳定共识。以比特币为例,比特币 PoW 共识中的经济激励由新发行比特币奖励和交易流通过程中的手续费两部分组成,奖励给 PoW 共识过程中成功搜索到该区块的随机数并记录该区块的节点。因此,只有当各节点通过合作共同构建共享和可信的区块链历史记录、并维护比特币系统的有效性,其获得的比特币奖励和交易手续费才会有价值。比特币已经形成成熟的挖矿生态圈,大量配备专业矿机设备的矿工积极参与基于挖矿的 PoW 共识过程,其根本目的就是通过获取比特币奖励并转换为相应法币来实现盈利。发行机制比特币系统中每个区块发行比特币的数量是随着时间阶梯性递减的。创世区块起的每个区块将发行 50 个比特币奖励给该区块的记账者,此后每隔约 4 年(21万个区块)每区块发行比特币的数量降低一半,依此类推,一直到比特币的数量稳定在上限 2100 万为止 [19]。比特币交易过程中会产生手续费,目前默认手续费是万分之一个比特币,这部分费用也会记入区块并奖励给记账者。这两部分费用将会封装在每个区块的第一个交易(称为 Coinbase 交易)中。虽然现在每个区块的总手续费相对于新发行比特币来说规模很小(通常不会超过 1 个比特币),但随着未来比特币发行数量的逐步减少甚至停止发行,手续费将逐渐成为驱动节点共识和记账的主要动力。同时,手续费还可以防止大量微额交易对比特币网络发起的「粉尘」攻击,起到保障安全的作用。分配机制比特币系统中,大量的小算力节点通常会选择加入矿池,通过相互合作汇集算力来提高「挖」到新区块的概率,并共享该区块的比特币和手续费奖励。据 Bitcoinmining.com 统计,目前已经存在 13 种不同的分配机制 [25]。主流矿池通常采用 PPLNS(Pay Per Last N Shares)、PPS(Pay Per Share)和 PROP(PROPortionately)等机制。矿池将各节点贡献的算力按比例划分成不同的股份(Share),其中:PPLNS 机制是指发现区块后,各合作节点根据其在最后 N 个股份内贡献的实际股份比例来分配区块中的比特币;PPS 则直接根据股份比例为各节点估算和支付一个固定的理论收益,采用此方式的矿池将会适度收取手续费来弥补其为各节点承担的收益不确定性风险;PROP 机制则根据节点贡献的股份按比例地分配比特币。矿池的出现是对比特币和区块链去中心化趋势的潜在威胁,如何设计合理的分配机制引导各节点合理地合作、避免出现因算力过度集中而导致的安全性问题是亟待解决的研究问题。2.5 合约层合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。如果说数据、网络和共识三个层次作为区块链底层「虚拟机」分别承担数据表示、数据传播和数据验证功能的话,合约层则是建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链系统灵活编程和操作数据的基础。包括比特币在内的数字加密货币大多采用非图灵完备的简单脚本代码来编程控制交易过程,这也是智能合约的雏形。随着技术的发展,目前已经出现以太坊等图灵完备的可实现更为复杂和灵活的智能合约的脚本语言,使得区块链能够支持宏观金融和社会系统的诸多应用。本节将以比特币脚本为例,从技术角度简述合约层的基本技术和方法,关于智能合约的延伸内容将在第 5 节讨论。比特币采用一种简单的、基于堆栈的、从左向右处理的脚本语言,而一个脚本本质上是附着在比特币交易上的一组指令的列表。比特币交易依赖于两类脚本来加以验证,即锁定脚本和解锁脚本,二者的不同组合可在比特币交易中衍生出无限数量的控制条件。其中,锁定脚本是附着在交易输出值上的「障碍」,规定以后花费这笔交易输出的条件;解锁脚本则是满足被锁定脚本在一个输出上设定的花费条件的脚本,同时它将允许输出被消费。举例来说,大多数比特币交易均是采用接受者的公钥加密和私钥解密,因而其对应的P2PKH(Pay to Public Key Hash)标准交易脚本中的锁定脚本即是使用接受者的公钥实现阻止输出功能,而使用私钥对应的数字签名来加以解锁 [19]。比特币脚本系统可以实现灵活的交易控制,例如:通过规定某个时间段(如一周)作为解锁条件,可以实现延时支付;通过规定接受者和担保人必须共同私钥签名才能支配一笔比特币,可以实现担保交易;通过设计一种可根据外部信息源核查某概率事件是否发生的规则并作为解锁脚本附着在一定数量的比特币交易上,即可实现博彩和预测市场等类型的应用;通过设定 N 个私钥集合中至少提供 M 个私钥才可解锁,可实现 M - N 型多重签名,即 N个潜在接受者中至少有 M 个同意签名才可实现支付。多重签名可广泛应用于公司决策、财务监督、中介担保甚至遗产分配等场景。比特币脚本是智能合约的雏形,催生了人类历史上第一种可编程的全球性货币。然而,比特币脚本系统是非图灵完备的,其中不存在复杂循环和流控制,这在损失一定灵活性的同时能够极大地降低复杂性和不确定性,并能够避免因无限循环等逻辑炸弹而造成拒绝服务等类型的安全性攻击。为提高脚本系统的灵活性和可扩展性,研究者已经尝试在比特币协议之上叠加新的协议,以满足在区块链上构建更为复杂的智能合约的需求。以太坊已经研发出一套图灵完备的脚本语言,用户可基于以太坊构建任意复杂和精确定义的智能合约与去中心化应用,从而为基于区块链构建可编程的金融与社会系统奠定了基础 [4]。3. 区块链的应用场景由区块链独特的技术设计可见,区块链系统具有分布式高冗余存储、时序数据且不可篡改及伪造、去中心化信用、自动执行的智能合约、安全和隐私保护等显著的特点,这使得区块链技术不仅可以成功应用于数字加密货币领域,同时在经济、金融和社会系统中也存在广泛的应用场景。根据区块链技术应用的现状,本文将区块链目前的主要应用笼统地归纳为数字货币、数据存储、数据鉴证、金融交易、资产管理和选举投票共六个场景,并概述除数字货币外的五大应用场景以及区块链的三种应用模式。数据存储区块链的高冗余存储(每个节点存储一份数据)、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。与比特币交易数据类似地,任意数据均可通过哈希运算生成相应的 Merkle 树并打包记入区块链,通过系统内共识节点的算力和非对称加密技术来保证安全性。区块链的多重签名技术可以灵活配置数据访问的权限,例如必须获得指定 5 个人中 3 个人的私钥授权才可获得访问权限。目前,利用区块链来存储个人健康数据(如电子病历、基因数据等)是极具前景的应用领域,此外存储各类重要电子文件(视频、图片、文本等)乃至人类思想和意识等也有一定应用空间 [7]。数据鉴证区块链数据带有时间戳、由共识节点共同验证和记录、不可篡改和伪造,这些特点使得区块链可广泛应用于各类数据公证和审计场景。例如,区块链可以永久地安全存储由政府机构核发的各类许可证、登记表、执照、证明、认证和记录等,并可在任意时间点方便地证明某项数据的存在性和一定程度上的真实性。包括德勤在内的多家专业审计公司已经部署区块链技术来帮助其审计师实现低成本和高效地实时审计,Factom 公司则基于区块链设计了一套准确的、可核查的和不可更改的审计公证流程与方法 [26]。金融交易区块链技术与金融市场应用有非常高的契合度。区块链可以在去中心化系统中自发地产生信用,能够建立无中心机构信用背书的金融市场,从而在很大程度上实现了「金融脱媒」,这对第三方支付、资金托管等存在中介机构的商业模式来说是颠覆性的变革。在互联网金融领域,区块链特别适合或者已经应用于股权众筹、P2P 网络借贷和互联网保险等商业模式。证券和银行业务也是区块链的重要应用领域,传统证券交易需要经过中央结算机构、银行、证券公司和交易所等中心机构的多重协调,而利用区块链自动化智能合约和可编程的特点,能够极大地降低成本和提高效率,避免繁琐的中心化清算交割过程,实现方便快捷的金融产品交易。同时,区块链和比特币的即时到帐的特点可使得银行实现比 SWIFT 代码体系更为快捷、经济和安全的跨境转账,这也是目前 R3CEV 和纳斯达克等各大银行、证券商和金融机构相继投入区块链技术研发的重要原因。资产管理区块链在资产管理领域的应用具有广泛前景,能够实现有形和无形资产的确权、授权和实时监控。对于无形资产来说,基于时间戳技术和不可篡改等特点,可以将区块链技术应用于知识产权保护、域名管理、积分管理等领域。而对有形资产来说,通过结合物联网技术为资产设计唯一标识并部署到区块链上,能够形成「数字智能资产」,实现基于区块链的分布式资产授权和控制。例如,通过对房屋、车辆等实物资产的区块链密钥授权,可以基于特定权限来发放和回收资产的使用权,有助于 Airbnb 等房屋租赁或车辆租赁等商业模式实现自动化的资产交接。通过结合物联网的资产标记和识别技术,还可以利用区块链实现灵活的供应链管理和产品溯源等功能。选举投票投票是区块链技术在政治事务中的代表性应用。基于区块链的分布式共识验证、不可篡改等特点,可以低成本高效地实现政治选举、企业股东投票等应用。同时,区块链也支持用户个体对特定议题的投票。例如,通过记录用户对特定事件是否发生的投票,可以将区块链应用于博彩和预测市场等场景 [27]。通过记录用户对特定产品的投票评分与建议,可以实现大规模用户众包设计产品的「社会制造」模式等。根据实际应用场景和需求,区块链技术已经演化出三种应用模式,即公共链(Public Blockchain)、联盟链(Consortium Blockchain)和私有链(Private Blockchain):公共链是完全去中心化的区块链,分布式系统的任何节点均可参与链上数据的读写、验证和共识过程,并根据其 PoW 或 PoS 贡献获得相应的经济激励。比特币是公共链的典型代表。联盟链则是部分去中心化(或称多中心化)的区块链,适用于多个实体构成的组织或联盟,其共识过程受到预定义的一组节点控制,例如生成区块需要获得 10 个预选的共识节点中的 5 个节点确认。私有链则是完全中心化的区块链,适用于特定机构的内部数据管理与审计等,其写入权限由中心机构控制,而读取权限可视需求有选择性地对外开放。需要说明的是,由于去中心化程度不同,联盟链和私有链可能不完全符合第 2 节提出的区块链模型,例如,中心化程度较高的区块链可能不需要设计激励层中的经济激励等。4. 区块链的现存问题作为近年来兴起并快速发展的新技术,区块链必然会面临各种制约其发展的问题和障碍。本节将从安全、效率、资源和博弈四方面概述区块链技术有待解决的问题。4.1 安全问题安全性威胁是区块链迄今为止所面临的最重要的问题。其中,基于 PoW 共识过程的区块链主要面临的是 51% 攻击问题,即节点通过掌握全网超过 51% 的算力就有能力成功篡改和伪造区块链数据。以比特币为例,据统计中国大型矿池的算力已占全网总算力的 60% 以上,理论上这些矿池可以通过合作实施 51% 攻击,从而实现比特币的双重支付 [1]。虽然实际系统中为掌握全网 51% 算力所需的成本投入远超成功实施攻击后的收益,但 51% 攻击的安全性威胁始终存在。基于 PoS 共识过程在一定程度上解决了51%攻击问题,但同时也引入了区块分叉时的N@S(Nothing at Stake)攻击问题。研究者已经提出通过构造同时依赖高算力和高内存的 PoW 共识算法来部分解决 51% 攻击问题 [4],更为安全和有效的共识机制尚有待于更加深入的研究和设计。区块链的非对称加密机制也将随着数学、密码学和计算技术的发展而变的越来越脆弱。据估计,以目前天河二号的算力来说,产生比特币 SHA256 哈希算法的一个哈希碰撞大约需要 248 年,但随着量子计算机等新计算技术的发展,未来非对称加密算法具有一定的破解可能性,这也是区块链技术面临的潜在安全威胁。区块链的隐私保护也存在安全性风险。区块链系统内各节点并非完全匿名,而是通过类似电子邮件地址的地址标识(例如比特币公钥地址)来实现数据传输。虽然地址标识并未直接与真实世界的人物身份相关联,但区块链数据是完全公开透明的,随着各类反匿名身份甄别技术的发展,实现部分重点目标的定位和识别仍是有可能的。4.2 效率问题区块链效率也是制约其应用的重要因素。首先是区块膨胀问题:区块链要求系统内每个节点保存一份数据备份,这对于日益增长的海量数据存储来说是极为困难的。以比特币为例,完全同步自创世区块至今的区块数据需要约 60 GB 存储空间,虽然轻量级节点可部分解决此问题,但适用于更大规模的工业级解决方案仍有待研发 [28]。其次是交易效率问题:比特币区块链目前每秒仅能处理 7 笔交易,这极大地限制了区块链在大多数金融系统高频交易场景中的应用(例如 VISA 信用卡每秒最多可处理 10000 笔交易)[1]。最后是交易确认时间问题:比特币区块生成时间为 10 分钟,因而交易确认时间一般为 10 分钟,这在一定程度上限制了比特币在小额交易和时间敏感交易中的应用。4.3 资源问题PoW 共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决 SHA256 哈希和随机数搜索,除此之外并不产生任何实际社会价值,因而一般意义上认为这些算力资源是被「浪费」掉了,同时被浪费掉的还有大量的电力资源。随着比特币的日益普及和专业挖矿设备的出现,比特币生态圈已经在资本和设备方面呈现出明显的军备竞赛态势,逐渐成为高耗能的资本密集型行业,进一步凸显了资源消耗问题的重要性。因此,如何能有效汇集分布式节点的网络算力来解决实际问题,是区块链技术需要解决的重要问题。研究者目前已经开始尝试解决此问题,例如 Primecoin(质数币)要求各节点在共识过程中找到素数的最长链条(坎宁安链和双向双链)而非无意义的 SHA256 哈希值 [29]。未来的潜在发展趋势是设计行之有效的交互机制来汇聚和利用分布式共识节点的群体智能,以辅助解决大规模的实际问题。4.4 博弈问题区块链网络作为去中心化的分布式系统,其各节点在交互过程中不可避免地会存在相互竞争与合作的博弈关系,这在比特币挖矿过程中尤为明显。通常来说,比特币矿池间可以通过相互合作保持各自稳定的收益。然而,矿池可以通过称为区块截留攻击(Block with Holding Attacks)的方式、通过伪装为对手矿池的矿工、享受对手矿池的收益但不实际贡献完整工作量证明来攻击其他矿池,从而降低对手矿池的收益。如果矿池相互攻击,则双方获得的收益均少于不攻击对方的收益。当矿池收益函数满足特定条件时,这种攻击和竞争将会造成「囚徒困境」博弈结局 [30]。如何设计合理的惩罚函数来抑制非理性竞争、使得合作成为重复性矿池博弈的稳定均衡解,尚需进一步深入研究。此外,正如前文提到的,区块链共识过程本质上是众包过程,如何设计激励相容的共识机制,使得去中心化系统中的自利节点能够自发地实施区块数据的验证和记账工作,并提高系统内非理性行为的成本以抑制安全性攻击和威胁,是区块链有待解决的重要科学问题。5. 基于区块链的智能合约智能合约概念最早在 1994 年由学者 Nick Szabo 提出,最初被定义为一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,其设计初衷是希望通过将智能合约内置到物理实体来创造各种灵活可控的智能资产。由于计算手段的落后和应用场景的缺失,智能合约并未受到研究者的广泛关注。区块链技术的出现重新定义了智能合约。智能合约是区块链的核心构成要素(合约层),是由事件驱动的、具有状态的、运行在可复制的共享区块链数据账本上的计算机程序,能够实现主动或被动的处理数据,接受、储存和发送价值,以及控制和管理各类链上智能资产等功能。智能合约作为一种嵌入式程序化合约,可以内置在任何区块链数据、交易、有形或无形资产上,形成可编程控制的软件定义的系统、市场和资产。智能合约不仅为传统金融资产的发行、交易、创造和管理提供了创新性的解决方案,同时能够在社会系统中的资产管理、合同管理、监管执法等事务中发挥重要作用。具体说来,智能合约是一组情景-应对型的程序化规则和逻辑,是部署在区块链上的去中心化、可信共享的程序代码。智能合约同样具有区块链数据的一般特征,如分布式记录、存储和验证,不可篡改和伪造等。签署合约的各参与方就合约内容、违约条件、违约责任和外部核查数据源达成一致,必要时检查和测试合约代码以确保无误后,以智能合约的形式部署在区块链上,即可不依赖任何中心机构地自动化代表各签署方执行合约。智能合约的可编程特性使得签署方可以增加任意复杂的条款。图 5 智能合约的运作机理智能合约的运作机理如图 5 所示:通常情况下,智能合约经各方签署后,以程序代码的形式附着在区块链数据(例如一笔比特币交易)上,经 P2P 网络传播和节点验证后记入区块链的特定区块中。智能合约封装了预定义的若干状态及转换规则、触发合约执行的情景(如到达特定时间或发生特定事件等)、特定情景下的应对行动等。区块链可实时监控智能合约的状态,并通过核查外部数据源、确认满足特定触发条件后激活并执行合约。区块链和智能合约有极为广阔的应用场景。例如,互联网金融领域的股权众筹或 P2P 网络借贷等商业模式可以通过区块链和智能合约加以实现。传统方式是通过股权众筹或 P2P 借贷的交易所或网络平台作为中心机构完成资金募集、管理和投资,实际操作过程中容易出现因中心机构的信用缺失而导致的资金风险。利用智能合约,这些功能均可以封装在去中心化可信的区块链上自动执行。区块链可记录每一笔融资,当成功达到特定融资额度时计算每个投资人的股权份额,或在一段时间内未达到融资额度时自动将资金退还给投资人。再如,通过将房屋和车辆等实体资产进行非对称加密,并嵌入含有特定访问控制规则的智能合约后部署在区块链上,使用者符合特定的访问权限或执行特定操作(如付款)后就可使用这些资产,这能够有效解决房屋或车辆租赁商业模式中资产交接和使用许可方面的痛点。智能合约具有自治、自足和去中心化等特征:自治表示合约一旦启动就会自动运行,而不需要其他签署方进行任何干预;自足则意味着合约能够通过提供服务或发行资产来获取资金,并在需要时使用这些资金;去中心化则意味着智能合约是由去中心化存储和验证的程序代码而非中心化实体来保障执行的合约,能在很大程度上保证合约的公平和公正性 [1]。智能合约对于区块链技术来说具有重要的意义:一方面,智能合约是区块链的激活器,为静态的底层区块链数据赋予了灵活可编程的机制和算法,并为构建区块链 2.0 和 3.0 时代的可编程金融系统与社会系统奠定了基础;另一方面,智能合约的自动化和可编程特性使其可封装分布式区块链系统中各节点的复杂行为,成为区块链构成的虚拟世界中的软件代理机器人,这有助于促进区块链技术在各类分布式人工智能系统中的应用,使得基于区块链技术构建各类去中心化应用(Decentralized Application,Dapp)、去中心化自治组织(Decentralized Autonomous Organization,DAO)、去中心化自治公司(Decentralized Autonomous Corporation,DAC)甚至去中心化自治社会(Decentralized Autonomous Society,DAS)成为可能。就现状而言,区块链和智能合约技术的主要发展趋势是由自动化向智能化方向演化。现存的各类智能合约及其应用的本质逻辑大多仍是根据预定义场景的「IF-THEN」类型的条件响应规则,能够满足目前自动化交易和数据处理的需求。未来的智能合约应具备根据未知场景的「WHAT - IF」推演、计算实验和一定程度上的自主决策功能,从而实现由目前「自动化」合约向真正的「智能」合约的飞跃 [31-32]。6. 区块链驱动的平行社会互联网近年来的迅猛发展及其与物理世界的深度耦合与强力反馈,已经根本性地改变了现代社会的生产、生活与管理决策模式,形成了现实物理世界-虚拟网络空间紧密耦合、虚实互动和协同演化的平行社会空间,催生了「互联网+」和工业 4.0 等一系列国家战略。未来社会的发展趋势则必将从物理 + 网络的 CPS 实际世界(Cyber-Physical Systems,CPS)走向精神层面的人工世界,形成物理 + 网络 + 人工的人-机-物一体化的三元耦合系统,称为社会物理信息系统(Cyber-Physical-Social Systems,CPSS)。目前,基于 CPSS 的平行社会已现端倪,其核心和本质特征是虚实互动与平行演化 [33]。区块链是实现 CPSS 平行社会的基础架构之一,其主要贡献是为分布式社会系统和分布式人工智能研究提供了一套行之有效的去中心化的数据结构、交互机制和计算模式,并为实现平行社会奠定了坚实的数据基础和信用基础:就数据基础而言,管理学家爱德华戴明曾说过:除了上帝,所有人必须以数据说话。然而在中心化社会系统中,数据通常掌握在政府和大型企业等「少数人」手中,为少数人「说话」,其公正性、权威性甚至安全性可能都无法保证。区块链数据则通过高度冗余的分布式节点存储,掌握在「所有人」手中,能够做到真正的「数据民主」。就信用基础而言,中心化社会系统因其高度工程复杂性和社会复杂性而不可避免地会存在「默顿系统」的特性,即不确定性、多样性和复杂性,社会系统中的中心机构和规则制定者可能会因个体利益而出现失信行为。区块链技术有助于实现软件定义的社会系统,其基本理念就是剔除中心化机构、将不可预测的行为以智能合约的程序化代码形式提前部署和固化在区块链数据中,事后不可伪造和篡改并自动化执行,从而在一定程度上能够将「默顿」社会系统转化为可全面观察、可主动控制、可精确预测的「牛顿」社会系统 [34]。ACP(人工社会 Artiflcial Societies、计算实验 Computational Experiments 和平行执行 Parallel Execution)方法是迄今为止平行社会管理领域唯一成体系化的、完整的研究框架,是复杂性科学在新时代平行社会环境下的逻辑延展和创新[35]。ACP 方法可以自然地与区块链技术相结合,实现区块链驱动的平行社会管理:首先,区块链的 P2P 组网、分布式共识协作和基于贡献的经济激励等机制本身就是分布式社会系统的自然建模,其中每个节点都将作为分布式系统中的一个自主和自治的智能体(Agent)。随着区块链生态体系的完善,区块链各共识节点和日益复杂与自治的智能合约将通过参与各种形式的 Dapp,形成特定组织形式的 DAC 和 DAO,最终形成 DAS,即 ACP 中的人工社会 [36]。其次,智能合约的可编程特性使得区块链可进行各种「WHAT - IF」类型的虚拟实验设计、场景推演和结果评估,通过这种计算实验过程获得并自动或半自动地执行最优决策。最后,区块链与物联网等相结合形成的智能资产使得联通现实物理世界和虚拟网络空间成为可能,并可通过真实和人工社会系统的虚实互动和平行调谐实现社会管理和决策的协同优化。不难预见,未来现实物理世界的实体资产都登记为链上智能资产的时候,就是区块链驱动的平行社会到来之时。7. 结束语随着以比特币为代表的数字加密货币的强势崛起,新兴的区块链技术逐渐成为学术界和产业界的热点研究课题。区块链技术的去中心化信用、不可篡改和可编程等特点,使其在数字加密货币、金融和社会系统中有广泛的应用前景。然而,与蓬勃发展的区块链商业应用相比,区块链的基础理论和技术研究仍处于起步阶段,许多更为本质性的、对区块链产业发展至关重要的科学问题亟待研究跟进。本文系统地梳理了区块链技术的基本原理、技术、方法与应用,以期为未来研究提供有益的启发与借鉴。参考文献作者简介袁勇博士,中国科学院自动化研究所复杂系统管理与控制国家重点实验室副研究员。2008 年于山东科技大学获得计算机软件与理论专业博士学位。主要研究方向为商务智能与计算广告学。

王飞跃教授,中国科学院自动化研究所复杂系统管理与控制国家重点实验室研究员,国防科技大学军事计算实验与平行系统技术中心教授。主要研究方向为智能系统和复杂系统的建模、分析与控制。

来源:自动化学报本文参与 腾讯云自媒体分享计划,分享自微信公众号。原始发表:2018-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除区块链人工智能分布式本文分享自 专知 微信公众号,前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!区块链人工智能分布式评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0相关产品与服务区块链云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。产品介绍2024新春采购节领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 |  京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00

区块链入门--准备搭建自己的区块链_自建区块链-CSDN博客

>

区块链入门--准备搭建自己的区块链_自建区块链-CSDN博客

区块链入门--准备搭建自己的区块链

最新推荐文章于 2024-01-20 20:52:04 发布

CY_BRYANT

最新推荐文章于 2024-01-20 20:52:04 发布

阅读量5.1k

收藏

36

点赞数

6

分类专栏:

区块链

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_43721475/article/details/104281412

版权

区块链

专栏收录该内容

8 篇文章

1 订阅

订阅专栏

最近在B站上看到一个Hyperleger Fabric搭建自己的区块链的视频,把里面的内容整理了出来。个人认为其中如何下载安装Docker,利用Hyperleger中的插件,实际搭建的过程讲述的并不清楚,但是对于需要准备的知识这一部分还是大有裨益。

文章目录

区块链技术简述技术名词区块链的类型 三种区块链特点区块链平台应用场景

区块链技术组成部分P2P网络协议P2P网络实现密码学-Hash密码学-加解密算法账本结构共识算法(分布式一致性算法)

Hyperleger Fabric简介智能合约链码链码的编程接口环境

区块链需要的相关知识:深入了解区块链

区块链技术简述

技术名词

交易,一次状态转移操作,在这里是一次对键值对的增删改查

区块,交易的集合,区块链网络中节点将他某一段时间内所有的交易打包,形成区块

链,区块的顺序排列,后一区块包括前一区块的哈希值

区块链的类型 三种

私有链 公有链 联盟链

区块链特点

去中心化,这一点存在争议,实际上取决于程度

去信任化,区块链形成后我们只需要信任相关的区块网络

数据共享

不可篡改,发起交易后不可以撤销

区块链平台

区块链1.0:数字货币时代 比特币

区块链2.0:引入智能合约到区块链,但是不能用于商业 以太坊

区块链3.0:我们的时代 eosio 企业级区块链操作系统

超级账本 Hyperleger

应用场景

去信任(去中介)

价值转移(而非拷贝)

数据共享,区块链之前数据共享有三种方式,中介机构保存,互相提供api互相调用,数据存储在第三方,区块链网络中每一个节点都是一致的,只需要访问自己维护的节点。

区块链技术组成部分

P2P网络协议

网络通信中所有的节点都是平等的,没有服务器没有客户端,或者都既是服务器又是客户端,迅雷采用的就是P2P技术。

回顾软件架构的发展:首先中心化,一个服务器多个客户端,系统的可靠性依赖于服务器的稳定性,后来是分布式,服务拆分,横向拓展,系统的可靠性依赖于分布式的容载恢复能力,服务的提供方依旧依赖于某一中心机构。去中心化所有人既是服务的又是客户端,生产者和消费者。

P2P网络实现

Hyperleger Fabric: gRPC对等服务

以太坊:Kad DHT技术

密码学-Hash

Hash:将不定长度的数据转化成固定长度的哈希值 应用最多的是SHA2-256

正向快速、逆向困难输入敏感抗碰撞

密码学-加解密算法

对称加密:密钥相同、容易泄露 AES、DES等

非对称加密:公钥/私钥,效率低(RAS算法,椭圆曲线等)

账本结构

共识算法(分布式一致性算法)

强一致性:一般很难实现或实现后性能很差,因为需要大量的网络通信,不能用于商用

最终一致性算法:弱化后的分布式一致

CAP原理:一个分布式系统不可能同时满足一致性,可用性和分区容忍性,必须三者取其二

ACID原理:原子性,一致性,隔离性,持久性

目前共识算法认为有两个系列:Paxos,拜占庭容错,前者假设分布式系统中只有故障节点,没有恶意节点(故意制造错误信息);后者既能容纳故障节点也能容纳恶意节点,一般分布式系统满足Paxos即可,但是区块链要满足拜占庭容错

Hyperleger Fabric

简介

IBM发起,Linux基金会托管,企业级联盟链基础设施,可拔插的共识机制(sols,kafka),多链多通道隔离,保障数据隐私,只存在相关参与主体中

智能合约

合约协议的数字化代码表达分布式优先状态机,在一个分布式状态系统中,如果启动状态都一致,而且每个状态的改变状态都一样,最终肯定会得到一个一致的结果执行环境安全隔离、不受第三方干扰(EVM,Docker),不会受到人的意志影响,目前还无法实现自动化

链码

Fabric应用层的基石,必须写一个链码部署在Fabric上,最后基于Fabric提供的SDK,写一个应用程序与部署在区块链上的链码进行交互

链码的编程接口

Init()Invoke() 两者都接收链码的SDK作为参数

环境

推荐使用centos,ubuntu,macOS,win10也行但不推荐,Docker环境支持 CSDN上使用centOS搭建Hyperleger fabric的文章较多,可以自行参考。 Fabric samples是GO语言项目,所以还要部署GO语言环境

区块链需要的相关知识:

GO C++ Java Python 系统架构 以太坊 Linux hyperleger JavaScript Node.js 共识算法 密码学 分布式计算 智能合约 数据挖掘 后端思维 GO语言编程 区块链基础知识 Docker、git等

深入了解区块链

如果想更加深入了解区块链本身的相关基础,可以浏览笔者的另一篇文章

优惠劵

CY_BRYANT

关注

关注

6

点赞

36

收藏

觉得还不错?

一键收藏

知道了

1

评论

区块链入门--准备搭建自己的区块链

最近在B站上看到一个Hyperleger Fabric搭建自己的区块链的视频,把里面的内容整理了出来。个人认为其中如何下载安装Docker,利用Hyperleger中的插件,实际搭建的过程讲述的并不清楚,但是对于需要准备的知识这一部分还是大有裨益。文章目录区块链技术简述技术名词区块链的类型 三种区块链特点区块链平台应用场景区块链技术组成部分P2P网络协议P2P网络实现密码学-Hash密码学-加解...

复制链接

扫一扫

专栏目录

动手搭建一个简单的区块链

11-19

区块链就是一个不可变、有序的链(chain)结构,链中保存着称之为块(block)的记录,这些记录可以是交易,文件或是任意你想要的数据。其中重要的是它们通过哈希链接在一起。

从零开始构建区块链(Blockchain)

H.A.N的博客

10-08

3025

区块链现在有多火看看比特币的价格也就知道了,不过作为一个有逼格的程序员,我们不应只关注到币的价值(为啥我没去买比特币,T-T),而应该去关注技术的本质,这个号称“第四次工业革命”的区块链技术。不过很多人估计对这个技术不太了解,包括我自己。既然不懂不如自己动手撸一个,实践出真知。在翻阅文章的时候刚好找到了这篇文章,下面让我们自己动手搭建一个简单的区块链。

简单的说,区块链就是一个不可变、有序的链(c...

1 条评论

您还未登录,请先

登录

后发表或查看评论

区块链交易所开发

最新发布

feiji_st5940的博客

01-20

328

4. 测试和优化:在开发完成后,开发者需要进行详细的测试,发现并修复潜在的问题。此外,开发者还需要根据用户反馈和市场需求,不断优化交易所的功能和性能。它通过区块链技术实现去中心化、安全、透明和高效的交易。1. 市场调研:在开发交易所之前,开发者需要对市场进行深入的调研,了解用户需求和竞争对手的情况,以便制定合适的开发策略。2. 技术选型:根据市场调研结果,开发者需要选择合适的区块链技术和开发框架,以确保交易所的性能和安全性。4. 交易记录:交易所为用户提供完整的交易历史记录,以便他们跟踪和管理自己的交易。

区块链网络搭建(三)

weixin_64443786的博客

05-06

731

fabric

他们自建区块链底层架构,携手25家知名机构上线数字资产网络,每月累积交易笔数150万笔,资产总额突破10个亿

渡鸦区块链

03-29

793

“很多人问我区块链难不难,我说不难,就在于你面向于用户做数字服务时你愿不愿意将权利交给用户。”

雄安,杭州政府自建区块链底层平台 自建、外包、加入三种模式谁是未来

Interchain的博客

11-27

1152

文丨互链脉搏·黑珍珠号未经授权,不得转载!在科技公司为政府开拓出逐渐明确的区块链治理之路后,城市政府开始尝试自建底层平台。11月17日,雄安发布消息,将积极探索搭建自主知...

从零开始构建区块链:我的区块链开发之旅

qq_51447436的博客

01-08

1776

从零开始构建区块链:我的区块链开发之旅

搭建区块链

这里是萤石ym的学习路途,努力搬砖!

07-06

2984

在src/main/jsva下新建com/wym/fisco,再将org/example下的Main移到fisco下,删除org/example。做完了,不知道做的什么,没有实现数据上链,只是调用了智能合约,2023/7/6,迷茫中加油吧。再将虚拟机下的abi和bin拖到idea下的resources​​​​​​​​​​​​​​。File》Project Structure》语言选择Java8。// 调用HelloWorld合约的get接口。// 调用HelloWorld合约的set接口。

创建自己的区块链网络 一

患孤的博客

04-02

2297

目录前言一、创建目录1、切换至gopath/src

前言

上次我们跑通了官方的byfn.sh的官方文档,当然官方的文档是远远满足不了我们的业务需求,所以我们需要创建一个属于我们自己的区块链网络,那么接下来我会从零开始一步步的创建这个项目,首先大家要把自己的环境配置好,这个之前的文章写过了,这里就不过多赘述了,大家可以去看我之前的文章。链接如下:

文章

链接

1、搭建虚拟机

点击此处

2、创建root用户

点击此处

3、搭建网络环境

点击此处

4、运行官方byfn.sh跑通网络

区块链系列教程——创建属于自己的区块链

程序员Sunny的博客

05-02

7456

区块链系列教程以以太坊区块链为基础,主要包括若干以太坊区块链的创建使用等,还包括部分原理说明,后期还会加入对其的改进。

本文是区块链系列教程的第一章,主要内容是使用以太坊区块链创建私链,并使用控制台进行一些基本操作。

1. 区块链简介

    在正文之前,先简单介绍一下区块链的基本概念。

    区块链,顾名思义,...

使用Java开发一个自己的区块链产品:联盟链!

xmt1139057136的专栏

10-26

3743

你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起精进!编辑:业余草来源:suo.im/5tYtNB推荐:https://www.xttbl...

区块链入门–准备搭建自己的区块链

01-08

最近在B站上看到一个Hyperleger Fabric搭建自己的区块链的视频,把里面的内容整理了出来。个人认为其中如何下载安装Docker,利用Hyperleger中的插件,实际搭建的过程讲述的并不清楚,但是对于需要准备的知识这一部分...

java实现区块链入门

03-29

这篇分享就是希望小伙伴能使用java入门区块链,希望小伙伴们喜欢

fiscobcos+springboot+vue前后端分离电商项目(简单易懂的区块链入门项目,包含区块链环境部署)

05-29

fiscobcos+springboot+vue前后端分离电商项目(简单易懂的区块链入门项目,包含区块链环境部署,前后端源码,作者联系方式,代码任何问题都可联系作者)。

《区块链DApp开发入门、代码实现、场景应用》学习笔记03—第二章:开发环境搭建

01-08

2.1 Remix的使用 ...运行环境: 1. Environment(智能合约运行的环境) JavaScript VM:沙箱运行环境,它并不会与以太坊公链发生交互。(测试期间使用此环境,快速检查调式智能合约) Injected Provider:嵌入到...

学习区块链以太坊相关文章

03-13

新手入门级学习以太坊和区块链相关的文章,用于搭建自己的私链,为毕业设计时推荐文章和相关学习,主要为应用层。

7分钟讲解区块链:区块链的起源和技术与应用场景

kali_Chenye的博客

02-09

3026

区块链的起源、技术与应用

这是一篇很好的了解区块链起源、技术及其运用的文章。请勿未经允许进行转载。

文章目录区块链的起源、技术与应用区块链的发展历史区块链的密码学基础加密货币公共密码学数字签名区块链与加密货币技术原理什么是区块链区块链技术原理区块链的结构区块的生成挖矿与工作量证明区块的广播矿工的激励存储空间的回收支持验证的简化区块链中的共识机制拜占庭容错技术RAFT算法工作量证明机制权益证明机制区...

fabric-go-sdk 学习

kali_Chenye的博客

05-31

1685

fabric-go-sdk 学习

抽空发布一些实用干货鸭

1. 安装软件环境

此项目在macPro环境下部署

安装git

安装golang

安装docker

安装docker-compose

以上软件安装自行google吧,教程很多。

2. 编译工具

把fabric源码下载到 $GOPATH/src/github.com/hyperledger 目录下

git clone git@github.com:hyperledger/fabric.git

切换到1.1版本(本项目使用fabirc1.1作

区块链系统监控与eth-net-stats

12-31

区块链系统监控是指对区块链网络中的节点进行实时监控和统计,以便及时发现和解决问题。eth-netstats是一个用于监控以太坊网络的工具,它可以提供节点的实时状态和性能指标。以下是使用eth-netstats进行区块链系统监控的步骤:

1. 安装eth-netstats和eth-net-intelligence-api:

```shell

git clone https://github.com/cubedro/eth-netstats

cd eth-netstats

npm install

sudo npm install -g grunt-cli

grunt all

```

2. 启动eth-net-intelligence-api作为服务端:

```shell

nohup npm start &

```

3. 在浏览器中访问http://localhost:3000,即可查看节点的实时状态和性能指标。

请注意,使用eth-netstats进行区块链系统监控需要在每个节点上安装eth-net-intelligence-api作为服务端,并将其连接到eth-netstats客户端。这样,eth-netstats才能获取到节点的信息并进行监控。

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

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

CY_BRYANT

CSDN认证博客专家

CSDN认证企业博客

码龄5年

暂无认证

80

原创

4万+

周排名

64万+

总排名

18万+

访问

等级

2122

积分

146

粉丝

144

获赞

23

评论

964

收藏

私信

关注

热门文章

线性时不变系统特性和判定以及作图问题

27532

思科路由器配置命令(一)

9486

流密码(一)同步流密码、自同步流密码以及线性反馈移位寄存器

8534

流密码应用-现代密码学第二章

8245

思科路由器配置命令(三)

7827

分类专栏

笔记

12篇

ASM

1篇

密码学

15篇

OS

22篇

计算机网络

7篇

网络工程与组网技术

6篇

区块链

8篇

信号与线性系统

4篇

A

6篇

Java

11篇

CTF

2篇

安全

最新评论

Chandy-Lamport快照算法仿真实现

m0_46405603:

博主,请问有代码可以参考学习吗?

入侵检测与数字取证-期末复习

味堡o_0:

看的我热泪盈眶

思科路由器配置命令(三)

叫我Irvine:

博主有没有什么相关知识点的书籍推荐呀

OS 关于信号量处理中的忙等待问题

kurok_:

因为这里限制的操作只有value减一或者加一,很快就执行完了,要是放外面普通代码里可能要限制很长一段时间

OS 关于信号量处理中的忙等待问题

ltx0720:

为什么说 操作系统的临界区的忙等待的时间比较短?请大佬解答下

最新文章

流量获取与分析(网安课设)报告-SEU2021

数字水印-期末复习

入侵检测与数字取证-期末复习

2021年6篇

2020年82篇

目录

目录

分类专栏

笔记

12篇

ASM

1篇

密码学

15篇

OS

22篇

计算机网络

7篇

网络工程与组网技术

6篇

区块链

8篇

信号与线性系统

4篇

A

6篇

Java

11篇

CTF

2篇

安全

目录

评论 1

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所-腾讯云开发者社区-腾讯云

技术综述】:区块链技术发展现状与展望-中科院自动化所-腾讯云开发者社区-腾讯云WZEARW【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网WZEARW首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所WZEARW关注发布于 2018-04-16 11:39:595.4K0发布于 2018-04-16 11:39:59举报文章被收录于专栏:专知专知本文为中国科学院自动化研究所复杂系统管理与控制国家重点实验室袁勇博士与王飞跃教授发表在 2016 年 4 月出版的在《自动化学报》上关于区块链技术的综述论文。文章通过解构区块链的核心要素,提出了区块链系统的基础架构模型,详细阐述了区块链及与之相关的比特币的基本原理、技术、方法与应用现状,讨论了智能合约的理念、应用和意义。区块链是以比特币为代表的数字加密货币体系的核心支撑技术。区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。随着比特币近年来的快速发展与普及,区块链技术的研究与应用也呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑 [1]。区块链技术是下一代云计算的雏形,有望像互联网一样彻底重塑人类社会活动形态,并实现从目前的信息互联网向价值互联网的转变。区块链技术的快速发展引起了政府部门、金融机构、科技企业和资本市场的广泛关注。2016 年 1 月,英国政府发布区块链专题研究报告 [2],积极推行区块链在金融和政府事务中的应用;中国人民银行召开数字货币研讨会探讨采用区块链技术发行虚拟货币的可行性,以提高金融活动的效率、便利性和透明度。美国纳斯达克于 2015 年 12 月率先推出基于区块链技术的证券交易平台 Linq,成为金融证券市场去中心化趋势的重要里程碑;德勤和安永等专业审计服务公司相继组建区块链研发团队,致力于提升其客户审计服务质量。截止到 2016 年初,资本市场已经相继投入 10 亿美元以加速区块链领域的发展。初创公司 R3CEV 基于微软云服务平台 Azure 推出的 BaaS(Blockchain as a Service,区块链即服务)服务,已与美国银行、花旗银行等全球 40 余家大型银行机构签署区块链合作项目,致力于制定银行业的区块链行业标准与协议。区块链技术起源于 2008 年由化名为「中本聪」(Satoshi Nakamoto)的学者在密码学邮件组发表的奠基性论文《比特币:一种点对点电子现金系统》[3],目前尚未形成行业公认的区块链定义:狭义来讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账(Decentralized Shared Ledger),能够安全存储简单的、有先后关系的、能在系统内验证的数据。广义的区块链技术则是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式。区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点:首先是去中心化:区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构,采用纯数学方法而不是中心机构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统;其次是时序数据:区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有极强的可验证性和可追溯性;第三是集体维护:区块链系统采用特定的经济激励机制来保证分布式系统中所有节点均可参与数据区块的验证过程(如比特币的「挖矿」过程),并通过共识算法来选择特定的节点将新区块添加到区块链;第四是可编程:区块链技术可提供灵活的脚本代码系统,支持用户创建高级的智能合约、货币或其他去中心化应用。例如,以太坊(Ethereum)平台即提供了图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交易类型 [4];最后是安全可信:区块链技术采用非对称密码学原理对数据进行加密,同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击、保证区块链数据不可篡改和不可伪造,因而具有较高的安全性。区块链技术是具有普适性的底层技术框架,可以为金融、经济、科技甚至政治等各领域带来深刻变革。按照目前区块链技术的发展脉络,区块链技术将会经历以可编程数字加密货币体系为主要特征的区块链 1.0 模式、以可编程金融系统为主要特征的区块链 2.0 模式和以可编程社会为主要特征的区块链 3.0 模式 [1]。目前,一般认为区块链技术正处于 2.0 模式的初期,股权众筹和 P2P 借贷等各类基于区块链技术的互联网金融应用相继涌现。然而,上述模式实际上是平行而非演进式发展的,区块链 1.0 模式的数字加密货币体系仍然远未成熟,距离其全球货币一体化的愿景实际上更远、更困难。目前,区块链领域已经呈现出明显的技术和产业创新驱动的发展态势,相关学术研究严重滞后、亟待跟进。截止到 2016 年 2 月,以万方数据知识服务平台为中文数据源、以 Web of Science 和 EI Village 为英文数据源的文献检索显示,目前篇名包含关键词「区块链/blockchain」的仅有 2 篇中文 [5,6] 和 9 篇英文文献 [6~14]。本文系统性地梳理了区块链的基本原理、核心技术、典型应用和现存问题,以期为未来研究提供有益的启发与借鉴。本文组织结构为:第 1 节概述区块链与比特币的发展史及二者的关系;第 2 节阐述区块链的基础架构模型及其关键技术;第 3 节和第 4 节分别概要总结了区块链技术的应用场景与现存的问题;第 5 节介绍智能合约及其在区块链领域的应用现状;第 6 节展望了区块链驱动的平行社会发展趋势;第 7 节总结本文内容。1. 比特币与区块链概述比特币是迄今为止最为成功的区块链应用场景。据区块链实时监控网站 Blockchain.info 统计显示,平均每天有约 7500 万美元的 120000 笔交易被写入比特币区块链,目前已生成超过 40万个区块 [15]。加密货币市值统计网站 coinmarketcap.com 显示,截止到 2016 年 2 月,全球共有 675 种加密货币,总市值超过 67 亿美元,其中比特币市值约占 86%,瑞波币和以太币分别居二、三位 [16]。目前比特币供应量(即已经挖出的比特币数量)已经超过 1500 万枚,按照每枚比特币 389.50 美元的现行价格估算其总市值已超过 59 亿美元,在世界各国 2015 年 GDP 排名中占据第 144 位(略低于欧洲的摩尔多瓦)。换言之,在没有政府和中央银行信用背书的情况下,去中心化的比特币已经依靠算法信用创造出与欧洲小国体量相当的全球性经济体【注:近日比特币价格突破 5800 美元/枚,流通的比特币总价值达到 967 亿美元】。预计到 2027 年,全球 10% 的 GDP 将会通过区块链技术存储 [17]。比特币区块链的第一个区块(称为创世区块)诞生于 2009 年 1 月 4 日,由创始人中本聪持有。一周后,中本聪发送了 10 个比特币给密码学专家哈尔芬尼,形成了比特币史上第一次交易;2010 年 5 月,佛罗里达程序员用 1 万比特币购买价值为 25 美元的披萨优惠券,从而诞生了比特币的第一个公允汇率。此后,比特币价格快速上涨,并在 2013 年 11 月创下每枚比特币兑换 1242 美元的历史高值,超过同期每盎司 1241.98 美元的黄金价格。据 CoinDesk 估算,目前全球约有 6 万商家接受比特币交易,其中中国是比特币交易增长最为迅速的国家 [18]。比特币本质上是由分布式网络系统生成的数字货币,其发行过程不依赖特定的中心化机构,而是依赖于分布式网络节点共同参与一种称为工作量证明(Proof of Work,PoW)的共识过程以完成比特币交易的验证与记录。PoW 共识过程(俗称挖矿,每个节点称为矿工)通常是各节点贡献自己的计算资源来竞争解决一个难度可动态调整的数学问题,成功解决该数学问题的矿工将获得区块的记账权,并将当前时间段的所有比特币交易打包记入一个新的区块、按照时间顺序链接到比特币主链上。比特币系统同时会发行一定数量的比特币以奖励该矿工,并激励其他矿工继续贡献算力。比特币的流通过程依靠密码学方法保障安全。每一次比特币交易都会经过特殊算法处理和全体矿工验证后记入区块链,同时可以附带具有一定灵活性的脚本代码(智能合约)以实现可编程的自动化货币流通。由此可见,比特币和区块链系统一般具备如下五个关键要素,即公共的区块链账本、分布式的点对点网络系统、去中心化的共识算法、适度的经济激励机制以及可编程的脚本代码。区块链技术为比特币系统解决了数字加密货币领域长期以来所必需面对的两个重要问题,即双重支付问题和拜占庭将军问题 [19]:双重支付问题又称为「双花」,即利用货币的数字特性两次或多次使用「同一笔钱」完成支付。传统金融和货币体系中,现金(法币)因是物理实体,能够自然地避免双重支付;其他数字形式的货币则需要可信的第三方中心机构(如银行)来保证。区块链技术的贡献是在没有第三方机构的情况下,通过分布式节点的验证和共识机制解决了去中心化系统的双重支付问题,在信息传输的过程同时完成了价值转移。拜占庭将军问题是分布式系统交互过程普遍面临的难题,即在缺少可信任的中央节点的情况下,分布式节点如何达成共识和建立互信 [20]。区块链通过数字加密技术和分布式共识算法,实现了在无需信任单个节点的情况下构建一个去中心化的可信任系统。与传统中心机构(如中央银行)的信用背书机制不同的是,比特币区块链形成的是软件定义的信用,这标志着中心化的国家信用向去中心化的算法信用的根本性变革。图 1 比特币生态圈比特币凭借其先发优势,目前已经形成体系完备的涵盖发行、流通和金融衍生市场的生态圈与产业链(如图1所示),这也是其长期占据绝大多数数字加密货币市场份额的主要原因。比特币的开源特性吸引了大量开发者持续性地贡献其创新技术、方法和机制;比特币各网络节点(矿工)提供算力以保证比特币的稳定共识和安全性,其算力大多来自于设备商销售的专门用于 PoW 共识算法的专业设备(矿机)。比特币网络为每个新发现的区块发行一定数量的比特币以奖励矿工,部分矿工可能会相互合作建立收益共享的矿池,以便汇集算力来提高获得比特币的概率。比特币经发行进入流通环节后,持币人可以通过特定的软件平台(如比特币钱包)向商家支付比特币来购买商品或服务,这体现了比特币的货币属性;同时由于比特币价格的涨跌机制使其完全具备金融衍生品的所有属性,因此出现了比特币交易平台以方便持币人投资或者投机比特币。在流通环节和金融市场中,每一笔比特币交易都会由比特币网络的全体矿工验证并记入区块链。比特币是区块链技术赋能的第一个「杀手级」应用,迄今为止区块链的核心技术和人才资源仍大多在比特币研发领域。然而,区块链作为未来新一代的底层基础技术,其应用范畴势必会超越数字加密货币而延伸到金融、经济、科技和政治等其他领域。比特币的现有技术、模式和机制,将会对区块链在新应用领域的发展提供有益的借鉴,而新领域的区块链创新也势必反过来促进解决比特币系统现存的问题。因此,比特币和区块链技术存在着协同进化、和谐共生而非相互竞争的良性反馈关系。2. 区块链的基础模型与关键技术本节将结合比特币系统的技术与应用现状,阐述区块链技术的基础模型、基本原理和关键技术,以及区块链在比特币系统之外的若干创新模式。现存的其他区块链应用大多都与比特币类似,仅在某些特定的环节或多或少地采用比特币模式的变种。图 2 区块链基础架构模型区块链技术的基础架构模型如图 2 所示。一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。2.1 数据层狭义的区块链即是去中心化系统各节点共享的数据账本。每个分布式节点都可以通过特定的哈希算法和 Merkle 树数据结构,将一段时间内接收到的交易数据和代码封装到一个带有时间戳的数据区块中,并链接到当前最长的主区块链上,形成最新的区块。该过程涉及区块、链式结构、哈希算法、 Merkle 树和时间戳等技术要素。数据区块图 3 区块结构

如图 3 所示,每个数据区块一般包含区块头(Header)和区块体(Body)两部分。区块头封装了当前版本号(Version)、前一区块地址(Prev-block)、当前区块的目标哈希值(Bits)、当前区块 PoW 共识过程的解随机数(Nonce)、Merkle 根(Merkle-root)以及时间戳(Timestamp)等信息 [21]。比特币网络可以动态调整 PoW 共识过程的难度值,最先找到正确的解随机数 Nonce 并经过全体矿工验证的矿工将会获得当前区块的记账权。区块体则包括当前区块的交易数量以及经过验证的、区块创建过程中生成的所有交易记录。这些记录通过 Merkle 树的哈希过程生成唯一的 Merkle 根并记入区块头。链式结构取得记账权的矿工将当前区块链接到前一区块,形成最新的区块主链。各个区块依次环环相接,形成从创世区块到当前区块的一条最长主链,从而记录了区块链数据的完整历史,能够提供区块链数据的溯源和定位功能,任意数据都可以通过此链式结构顺藤摸瓜、追本溯源。

需要说明的是,如果短时间内有两个矿工同时「挖出」两个新的区块加以链接的话,区块主链可能会出现暂时的「分叉」现象,其解决方法是约定矿工总是选择延长累计工作量证明最大的区块链。因此,当主链分叉后,后续区块的矿工将通过计算和比较,将其区块链接到当前累计工作量证明最大化的备选链上,形成更长的新主链,从而解决分叉问题 [19]。时间戳区块链技术要求获得记账权的节点必须在当前数据区块头中加盖时间戳,表明区块数据的写入时间。因此,主链上各区块是按照时间顺序依次排列的。时间戳技术本身并不复杂,但其在区块链技术中的应用是具有重要意义的创新。时间戳可以作为区块数据的存在性证明(Proof of Existence),有助于形成不可篡改和不可伪造的区块链数据库,从而为区块链应用于公证、知识产权注册等时间敏感的领域奠定了基础。更为重要的是,时间戳为未来基于区块链的互联网和大数据增加了时间维度,使得通过区块数据和时间戳来重现历史成为可能。哈希函数区块链通常并不直接保存原始数据或交易记录,而是保存其哈希函数值,即将原始数据编码为特定长度的由数字和字母组成的字符串后记入区块链。哈希函数(也称散列函数)具有诸多优良特点,因而特别适合用于存储区块链数据。例如,通过哈希输出几乎不能反推输入值(单向性),不同长度输入的哈希过程消耗大约相同的时间(定时性)且产生固定长度的输出(定长性),即使输入仅相差一个字节也会产生显著不同的输出值(随机性)等。比特币区块链通常采用双 SHA256 哈希函数,即将任意长度的原始数据经过两次 SHA256 哈希运算后转换为长度为 256 位(32字节)的二进制数字来统一存储和识别。除上述特点外,SHA256 算法还具有巨大的散列空间(2256)和抗碰撞(避免不同输入值产生相同哈希值)等特性,可满足比特币的任何相关标记需要而不会出现冲突。Merkle 树Merkle 树是区块链的重要数据结构,其作用是快速归纳和校验区块数据的存在性和完整性。如图 3 所示,Merkle 树通常包含区块体的底层(交易)数据库,区块头的根哈希值(即Merkle 根)以及所有沿底层区块数据到根哈希的分支。Merkle 树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入到 Merkle 树中,如此递归直到只剩最后一个根哈希值并记为区块头的 Merkle 根。最常见的 Merkle 树是比特币采用的二叉 Merkle 树,其每个哈希节点总是包含两个相邻的数据块或其哈希值 [22],其他变种则包括以太坊的 Merkle Patricia Tree等 [4]。Merkle 树有诸多优点:首先是极大地提高了区块链的运行效率和可扩展性,使得区块头只需包含根哈希值而不必封装所有底层数据,这使得哈希运算可以高效地运行在智能手机甚至物联网设备上;其次是 Merkle 树可支持「简化支付验证」协议,即在不运行完整区块链网络节点的情况下,也能够对(交易)数据进行检验 [3]。例如,为验证图 3 中交易 6,一个没有下载完整区块链数据的客户端可以通过向其他节点索要包括从交易 6 哈希值沿 Merkle 树上溯至区块头根哈希处的哈希序列(即哈希节点6,5,56,78,5678,1234)来快速确认交易的存在性和正确性。一般说来,在 N 个交易组成的区块体中确认任一交易的算法复杂度仅为 log_2 N 。这将极大地降低区块链运行所需的带宽和验证时间,并使得仅保存部分相关区块链数据的轻量级客户端成为可能。非对称加密非对称加密是为满足安全性需求和所有权验证需求而集成到区块链中的加密技术,常见算法包括 RSA、Elgamal、Rabin、D-H、ECC(即椭圆曲线加密算法)等。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:

首先是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开;其次是公钥可向其他人公开、私钥则保密,其他人无法通过该公钥推算出相应的私钥。非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等,其中:信息加密场景主要是由信息发送者(记为 A)使用接受者(记为 B)的公钥对信息加密后再发送给 B,B 利用自己的私钥对信息解密。比特币交易的加密即属于此场景;数字签名场景则是由发送者 A 采用自己的私钥加密信息后发送给 B,B 使用 A 的公钥对信息解密、从而可确保信息是由 A 发送的;登录认证场景则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息。图 4 比特币非对称加密机制以比特币系统为例,其非对称加密机制如图 4 所示:比特币系统一般通过调用操作系统底层的随机数生成器来生成 256 位随机数作为私钥。比特币私钥的总量可达 2256,极难通过遍历全部私钥空间来获得存有比特币的私钥,因而是密码学安全的。为便于识别,256 位二进制形式的比特币私钥将通过 SHA256 哈希算法和 Base58 转换,形成 50 个字符长度的易识别和书写的私钥提供给用户;比特币的公钥是由私钥首先经过 Secp256k1 椭圆曲线算法生成 65 字节长度的随机数。该公钥可用于产生比特币交易时使用的地址,其生成过程为首先将公钥进行 SHA256 和 RIPEMD160 双哈希运算并生成20字节长度的摘要结果(即 hash160 结果),再经过 SHA256 哈希算法和 Base58 转换形成 33 字符长度的比特币地址 [19]。公钥生成过程是不可逆的,即不能通过公钥反推出私钥。比特币的公钥和私钥通常保存于比特币钱包文件,其中私钥最为重要。丢失私钥就意味着丢失了对应地址的全部比特币资产。现有的比特币和区块链系统中,根据实际应用需求已经衍生出多私钥加密技术,以满足多重签名等更为灵活和复杂的场景。2.2 网络层网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素。结合实际应用需求,通过设计特定的传播协议和数据验证机制,可使得区块链系统中每一个节点都能参与区块数据的校验和记账过程,仅当区块数据通过全网大部分节点验证后,才能记入区块链。组网方式区块链系统的节点一般具有分布式、自治性、开放可自由进出等特性,因而一般采用对等式网络(Peer-to-Peer Network,P2P 网络)来组织散布全球的参与数据验证和记账的节点。P2P 网络中的每个节点均地位对等且以扁平式拓扑结构相互连通和交互,不存在任何中心化的特殊节点和层级结构,每个节点均会承担网络路由、验证区块数据、传播区块数据、发现新节点等功能。按照节点存储数据量的不同,可以分为全节点和轻量级节点。前者保存有从创世区块到当前最新区块为止的完整区块链数据,并通过实时参与区块数据的校验和记账来动态更新主链。全节点的优势在于不依赖任何其他节点而能够独立地实现任意区块数据的校验、查询和更新,劣势则是维护全节点的空间成本较高。以比特币为例,截止到 2016 年 2 月,创世区块至当前区块的数据量已经超过 60 GB。与之相比,轻量级节点则仅保存一部分区块链数据,并通过第 2.1 节提到的简易支付验证方式向其相邻节点请求所需的数据来完成数据校验。数据传播协议任一区块数据生成后,将由生成该数据的节点广播到全网其他所有的节点来加以验证。现有的区块链系统一般根据实际应用需求设计比特币传播协议的变种,例如以太坊区块链集成了所谓的「幽灵协议」以解决因区块数据确认速度快而导致的高区块作废率和随之而来的安全性风险 [4]。根据中本聪的设计,比特币系统的交易数据传播协议包括如下步骤 [3]:1) 比特币交易节点将新生成的交易数据向全网所有节点进行广播;2) 每个节点都将收集到的交易数据存储到一个区块中;3) 每个节点基于自身算力在区块中找到一个具有足够难度的工作量证明;4) 当节点找到区块的工作量证明后,就向全网所有节点广播此区块;5) 仅当包含在区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;6) 其他节点接受该数据区块,并在该区块的末尾制造新的区块以延长该链条,而将被接受区块的随机哈希值视为先于新区块的随机哈希值。需要说明的是,如果交易节点是与其他节点无连接的新节点,比特币系统通常会将一组长期稳定运行的「种子节点」推荐给新节点建立连接,或者推荐至少一个节点连接到新节点。此外,交易数据广播时,并不需要全部节点均接收到,而是只要足够多的节点做出响应即可整合进入区块账本中。未接收到特定交易数据的节点则可向邻近节点请求下载该缺失的交易数据 [19]。数据验证机制P2P 网络中的每个节点都时刻监听比特币网络中广播的数据与新区块。节点接收到邻近节点发来的数据后,将首先验证该数据的有效性:如果数据有效,则按照接收顺序为新数据建立存储池以暂存尚未记入区块的有效数据,同时继续向邻近节点转发;如果数据无效,则立即废弃该数据,从而保证无效数据不会在区块链网络继续传播。以比特币为例,比特币的矿工节点会收集和验证 P2P 网络中广播的尚未确认的交易数据,并对照预定义的标准清单,从数据结构、语法规范性、输入输出和数字签名等各方面校验交易数据的有效性,并将有效交易数据整合到当前区块中。同理,当某矿工「挖」到新区块后,其他矿工节点也会按照预定义标准来校验该区块是否包含足够工作量证明,时间戳是否有效等。如确认有效,其他矿工节点会将该区块链接到主区块链上,并开始竞争下一个新区块。由网络层设计机理可见,区块链是典型的分布式大数据技术。全网数据同时存储于去中心化系统的所有节点上,即使部分节点失效,只要仍存在一个正常运行的节点,区块链主链数据就可完全恢复而不会影响后续区块数据的记录与更新。这种高度分散化的区块存储模式与云存储模式的区别在于,后者是基于中心化结构基础上的多重存储和多重数据备份模式,即「多中心化」模式,而前者则是完全「去中心化」的存储模式,具有更高的数据安全性。2.3 共识层如何在分布式系统中高效地达成共识是分布式计算领域的重要研究问题。正如社会系统中「民主」和「集中」的对立关系相似,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高;而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。区块链技术的核心优势之一就是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识。早期的比特币区块链采用高度依赖节点算力的工作量证明(Proof of Work,PoW)机制来保证比特币网络分布式记账的一致性。随着区块链技术的发展和各种竞争币的相继涌现,研究者提出多种不依赖算力而能够达成共识的机制,例如点点币首创的权益证明(Proof of Stake,PoS)共识 [23] 和比特股首创的授权股份证明机制(Delegated Proof of Stake,DPoS)共识机制 [24] 等。区块链共识层即封装了这些共识机制。PoW 共识中本聪在其比特币奠基性论文中设计了 PoW 共识机制,其核心思想是通过引入分布式节点的算力竞争来保证数据一致性和共识的安全性。比特币系统中,各节点(即矿工)基于各自的计算机算力相互竞争来共同解决一个求解复杂但验证容易的 SHA256 数学难题(即挖矿),最快解决该难题的节点将获得区块记账权和系统自动生成的比特币奖励。该数学难题可表述为:根据当前难度值,通过搜索求解一个合适的随机数(Nonce)使得图 3 中区块头各元数据的双 SHA256 哈希值小于或等于目标哈希值。比特币系统通过灵活调整随机数搜索的难度值来控制区块的平均生成时间为 10 分钟左右。一般说来,PoW 共识的随机数搜索过程如下(参照图3区块结构) [19]:步骤 1:搜集当前时间段的全网未确认交易,并增加一个用于发行新比特币奖励的 Coinbase 交易,形成当前区块体的交易集合;步骤 2:计算区块体交易集合的 Merkle 根记入区块头,并填写区块头的其他元数据,其中随机数 Nonce 置零;步骤 3:随机数 Nonce 加 1;计算当前区块头的双 SHA256 哈希值,如果小于或等于目标哈希值,则成功搜索到合适的随机数并获得该区块的记账权;否则继续步骤 3 直到任一节点搜索到合适的随机数为止;步骤 4:如果一定时间内未成功,则更新时间戳和未确认交易集合、重新计算 Merkle 根后继续搜索。符合要求的区块头哈希值通常由多个前导零构成,目标哈希值越小,区块头哈希值的前导零越多,成功找到合适的随机数并「挖」出新区块的难度越大。据区块链实时监测网站 Blockchain.info 显示,截止到 2016 年 2 月,符合要求的区块头哈希值一般有 17 个前导零,例如第 398346 号区块哈希值为「0000000000000000077f754f22f21629a7975cf…」。按照概率计算,每 16 次随机数搜索将会有找到一个含有一个前导零的区块哈希值,因而比特币目前 17 位前导零哈希值要求 1617 次随机数搜索才能找到一个合适的随机数并生成一个新的区块。由此可见,比特币区块链系统的安全性和不可篡改性是由 PoW 共识机制的强大算力所保证的,任何对于区块数据的攻击或篡改都必须重新计算该区块以及其后所有区块的 SHA256 难题,并且计算速度必须使得伪造链长度超过主链,这种攻击难度导致的成本将远超其收益。据估计,截止到 2016 年 1 月,比特币区块链的算力已经达到 800000000 Gh/s,即每秒进行8×10^18 次运算,超过全球 Top 500 超级计算机的算力总和。PoW 共识机制是具有重要意义的创新,其近乎完美地整合了比特币系统的货币发行、交易支付和验证等功能,并通过算力竞争保障系统的安全性和去中心性。PoW 共识机制同时存在着显著的缺陷,其强大算力造成的资源浪费(如电力)历来为研究者所诟病,而且长达 10 分钟的交易确认时间使其相对不适合小额交易的商业应用。PoS 共识机制PoS 共识是为解决 PoW 共识机制的资源浪费和安全性缺陷而提出的替代方案。限于篇幅,本文主要聚焦于 PoS 相对于 PoW 的创新之处。PoS 共识本质上是采用权益证明来代替 PoW 中的基于哈希算力的工作量证明,是由系统中具有最高权益而非最高算力的节点获得区块记账权。权益体现为节点对特定数量货币的所有权,称为币龄或币天数(Coin Days)。币龄是特定数量的币与其最后一次交易的时间长度的乘积,每次交易都将会消耗掉特定数量的币龄。例如,某人在一笔交易中收到 10 个币后并持有 10 天,则获得 100 币龄;而后其花掉 5 个币后,则消耗掉 50 币龄。显然,采用 PoS 共识机制的系统在特定时间点上的币龄总数是有限的,长期持币者更倾向于拥有更多币龄,因此币龄可视为其在 PoS 系统中的权益。此外,PoW 共识过程中各节点挖矿难度相同,而 PoS 共识过程中的难度与交易输入的币龄成反比,消耗币龄越多则挖矿难度越低。节点判断主链的标准也由 PoW 共识的最高累计难度转变为最高消耗币龄,每个区块的交易都会将其消耗的币龄提交给该区块,累计消耗币龄最高的区块将被链接到主链。由此可见,PoS 共识过程仅依靠内部币龄和权益而不需要消耗外部算力和资源,从根本上解决了 PoW 共识算力浪费的问题,并且能够在一定程度上缩短达成共识的时间,因而比特币之后的许多竞争币均采用 PoS 共识机制。DPoS 共识机制DPoS 共识机制的基本思路类似于「董事会决策」,即系统中每个股东节点可以将其持有的股份权益作为选票授予一个代表,获得票数最多且愿意成为代表的前 101 个节点将进入「董事会」,按照既定的时间表轮流对交易进行打包结算并且签署(即生产)一个新区块。每个区块被签署之前,必须先验证前一个区块已经被受信任的代表节点所签署。「董事会」的授权代表节点可以从每笔交易的手续费中获得收入,同时要成为授权代表节点必须缴纳一定量的保证金,其金额相当于生产一个区块收入的 100 倍。授权代表节点必须对其他股东节点负责,如果其错过签署相对应的区块,则股东将会收回选票从而将该节点「投出」董事会。因此,授权代表节点通常必须保证 99% 以上的在线时间以实现盈利目标 [24]。显然,与 PoW 共识机制必须信任最高算力节点和 PoS 共识机制必须信任最高权益节点不同的是,DPoS 共识机制中每个节点都能够自主决定其信任的授权节点且由这些节点轮流记账生成新区块,因而大幅减少了参与验证和记账的节点数量,可以实现快速共识验证。除上述三种主流共识机制外,实际区块链应用中也衍生出了 PoW + PoS、行动证明(Proof of Activity)等多个变种机制。这些共识机制各有优劣势,比特币的 PoW 共识机制依靠其先发优势已经形成成熟的挖矿产业链,支持者众多,而 PoS 和 DPoS 等新兴机制则更为安全、环保和高效,从而使得共识机制的选择问题成为区块链系统研究者最不易达成共识的问题。2.4 激励层区块链共识过程通过汇聚大规模共识节点的算力资源来实现共享区块链账本的数据验证和记账工作,因而其本质上是一种共识节点间的任务众包过程。去中心化系统中的共识节点本身是自利的,最大化自身收益是其参与数据验证和记账的根本目标。因此,必须设计激励相容的合理众包机制,使得共识节点最大化自身收益的个体理性行为与保障去中心化区块链系统的安全和有效性的整体目标相吻合。区块链系统通过设计适度的经济激励机制并与共识过程相集成,从而汇聚大规模的节点参与并形成了对区块链历史的稳定共识。以比特币为例,比特币 PoW 共识中的经济激励由新发行比特币奖励和交易流通过程中的手续费两部分组成,奖励给 PoW 共识过程中成功搜索到该区块的随机数并记录该区块的节点。因此,只有当各节点通过合作共同构建共享和可信的区块链历史记录、并维护比特币系统的有效性,其获得的比特币奖励和交易手续费才会有价值。比特币已经形成成熟的挖矿生态圈,大量配备专业矿机设备的矿工积极参与基于挖矿的 PoW 共识过程,其根本目的就是通过获取比特币奖励并转换为相应法币来实现盈利。发行机制比特币系统中每个区块发行比特币的数量是随着时间阶梯性递减的。创世区块起的每个区块将发行 50 个比特币奖励给该区块的记账者,此后每隔约 4 年(21万个区块)每区块发行比特币的数量降低一半,依此类推,一直到比特币的数量稳定在上限 2100 万为止 [19]。比特币交易过程中会产生手续费,目前默认手续费是万分之一个比特币,这部分费用也会记入区块并奖励给记账者。这两部分费用将会封装在每个区块的第一个交易(称为 Coinbase 交易)中。虽然现在每个区块的总手续费相对于新发行比特币来说规模很小(通常不会超过 1 个比特币),但随着未来比特币发行数量的逐步减少甚至停止发行,手续费将逐渐成为驱动节点共识和记账的主要动力。同时,手续费还可以防止大量微额交易对比特币网络发起的「粉尘」攻击,起到保障安全的作用。分配机制比特币系统中,大量的小算力节点通常会选择加入矿池,通过相互合作汇集算力来提高「挖」到新区块的概率,并共享该区块的比特币和手续费奖励。据 Bitcoinmining.com 统计,目前已经存在 13 种不同的分配机制 [25]。主流矿池通常采用 PPLNS(Pay Per Last N Shares)、PPS(Pay Per Share)和 PROP(PROPortionately)等机制。矿池将各节点贡献的算力按比例划分成不同的股份(Share),其中:PPLNS 机制是指发现区块后,各合作节点根据其在最后 N 个股份内贡献的实际股份比例来分配区块中的比特币;PPS 则直接根据股份比例为各节点估算和支付一个固定的理论收益,采用此方式的矿池将会适度收取手续费来弥补其为各节点承担的收益不确定性风险;PROP 机制则根据节点贡献的股份按比例地分配比特币。矿池的出现是对比特币和区块链去中心化趋势的潜在威胁,如何设计合理的分配机制引导各节点合理地合作、避免出现因算力过度集中而导致的安全性问题是亟待解决的研究问题。2.5 合约层合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。如果说数据、网络和共识三个层次作为区块链底层「虚拟机」分别承担数据表示、数据传播和数据验证功能的话,合约层则是建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链系统灵活编程和操作数据的基础。包括比特币在内的数字加密货币大多采用非图灵完备的简单脚本代码来编程控制交易过程,这也是智能合约的雏形。随着技术的发展,目前已经出现以太坊等图灵完备的可实现更为复杂和灵活的智能合约的脚本语言,使得区块链能够支持宏观金融和社会系统的诸多应用。本节将以比特币脚本为例,从技术角度简述合约层的基本技术和方法,关于智能合约的延伸内容将在第 5 节讨论。比特币采用一种简单的、基于堆栈的、从左向右处理的脚本语言,而一个脚本本质上是附着在比特币交易上的一组指令的列表。比特币交易依赖于两类脚本来加以验证,即锁定脚本和解锁脚本,二者的不同组合可在比特币交易中衍生出无限数量的控制条件。其中,锁定脚本是附着在交易输出值上的「障碍」,规定以后花费这笔交易输出的条件;解锁脚本则是满足被锁定脚本在一个输出上设定的花费条件的脚本,同时它将允许输出被消费。举例来说,大多数比特币交易均是采用接受者的公钥加密和私钥解密,因而其对应的P2PKH(Pay to Public Key Hash)标准交易脚本中的锁定脚本即是使用接受者的公钥实现阻止输出功能,而使用私钥对应的数字签名来加以解锁 [19]。比特币脚本系统可以实现灵活的交易控制,例如:通过规定某个时间段(如一周)作为解锁条件,可以实现延时支付;通过规定接受者和担保人必须共同私钥签名才能支配一笔比特币,可以实现担保交易;通过设计一种可根据外部信息源核查某概率事件是否发生的规则并作为解锁脚本附着在一定数量的比特币交易上,即可实现博彩和预测市场等类型的应用;通过设定 N 个私钥集合中至少提供 M 个私钥才可解锁,可实现 M - N 型多重签名,即 N个潜在接受者中至少有 M 个同意签名才可实现支付。多重签名可广泛应用于公司决策、财务监督、中介担保甚至遗产分配等场景。比特币脚本是智能合约的雏形,催生了人类历史上第一种可编程的全球性货币。然而,比特币脚本系统是非图灵完备的,其中不存在复杂循环和流控制,这在损失一定灵活性的同时能够极大地降低复杂性和不确定性,并能够避免因无限循环等逻辑炸弹而造成拒绝服务等类型的安全性攻击。为提高脚本系统的灵活性和可扩展性,研究者已经尝试在比特币协议之上叠加新的协议,以满足在区块链上构建更为复杂的智能合约的需求。以太坊已经研发出一套图灵完备的脚本语言,用户可基于以太坊构建任意复杂和精确定义的智能合约与去中心化应用,从而为基于区块链构建可编程的金融与社会系统奠定了基础 [4]。3. 区块链的应用场景由区块链独特的技术设计可见,区块链系统具有分布式高冗余存储、时序数据且不可篡改及伪造、去中心化信用、自动执行的智能合约、安全和隐私保护等显著的特点,这使得区块链技术不仅可以成功应用于数字加密货币领域,同时在经济、金融和社会系统中也存在广泛的应用场景。根据区块链技术应用的现状,本文将区块链目前的主要应用笼统地归纳为数字货币、数据存储、数据鉴证、金融交易、资产管理和选举投票共六个场景,并概述除数字货币外的五大应用场景以及区块链的三种应用模式。数据存储区块链的高冗余存储(每个节点存储一份数据)、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。与比特币交易数据类似地,任意数据均可通过哈希运算生成相应的 Merkle 树并打包记入区块链,通过系统内共识节点的算力和非对称加密技术来保证安全性。区块链的多重签名技术可以灵活配置数据访问的权限,例如必须获得指定 5 个人中 3 个人的私钥授权才可获得访问权限。目前,利用区块链来存储个人健康数据(如电子病历、基因数据等)是极具前景的应用领域,此外存储各类重要电子文件(视频、图片、文本等)乃至人类思想和意识等也有一定应用空间 [7]。数据鉴证区块链数据带有时间戳、由共识节点共同验证和记录、不可篡改和伪造,这些特点使得区块链可广泛应用于各类数据公证和审计场景。例如,区块链可以永久地安全存储由政府机构核发的各类许可证、登记表、执照、证明、认证和记录等,并可在任意时间点方便地证明某项数据的存在性和一定程度上的真实性。包括德勤在内的多家专业审计公司已经部署区块链技术来帮助其审计师实现低成本和高效地实时审计,Factom 公司则基于区块链设计了一套准确的、可核查的和不可更改的审计公证流程与方法 [26]。金融交易区块链技术与金融市场应用有非常高的契合度。区块链可以在去中心化系统中自发地产生信用,能够建立无中心机构信用背书的金融市场,从而在很大程度上实现了「金融脱媒」,这对第三方支付、资金托管等存在中介机构的商业模式来说是颠覆性的变革。在互联网金融领域,区块链特别适合或者已经应用于股权众筹、P2P 网络借贷和互联网保险等商业模式。证券和银行业务也是区块链的重要应用领域,传统证券交易需要经过中央结算机构、银行、证券公司和交易所等中心机构的多重协调,而利用区块链自动化智能合约和可编程的特点,能够极大地降低成本和提高效率,避免繁琐的中心化清算交割过程,实现方便快捷的金融产品交易。同时,区块链和比特币的即时到帐的特点可使得银行实现比 SWIFT 代码体系更为快捷、经济和安全的跨境转账,这也是目前 R3CEV 和纳斯达克等各大银行、证券商和金融机构相继投入区块链技术研发的重要原因。资产管理区块链在资产管理领域的应用具有广泛前景,能够实现有形和无形资产的确权、授权和实时监控。对于无形资产来说,基于时间戳技术和不可篡改等特点,可以将区块链技术应用于知识产权保护、域名管理、积分管理等领域。而对有形资产来说,通过结合物联网技术为资产设计唯一标识并部署到区块链上,能够形成「数字智能资产」,实现基于区块链的分布式资产授权和控制。例如,通过对房屋、车辆等实物资产的区块链密钥授权,可以基于特定权限来发放和回收资产的使用权,有助于 Airbnb 等房屋租赁或车辆租赁等商业模式实现自动化的资产交接。通过结合物联网的资产标记和识别技术,还可以利用区块链实现灵活的供应链管理和产品溯源等功能。选举投票投票是区块链技术在政治事务中的代表性应用。基于区块链的分布式共识验证、不可篡改等特点,可以低成本高效地实现政治选举、企业股东投票等应用。同时,区块链也支持用户个体对特定议题的投票。例如,通过记录用户对特定事件是否发生的投票,可以将区块链应用于博彩和预测市场等场景 [27]。通过记录用户对特定产品的投票评分与建议,可以实现大规模用户众包设计产品的「社会制造」模式等。根据实际应用场景和需求,区块链技术已经演化出三种应用模式,即公共链(Public Blockchain)、联盟链(Consortium Blockchain)和私有链(Private Blockchain):公共链是完全去中心化的区块链,分布式系统的任何节点均可参与链上数据的读写、验证和共识过程,并根据其 PoW 或 PoS 贡献获得相应的经济激励。比特币是公共链的典型代表。联盟链则是部分去中心化(或称多中心化)的区块链,适用于多个实体构成的组织或联盟,其共识过程受到预定义的一组节点控制,例如生成区块需要获得 10 个预选的共识节点中的 5 个节点确认。私有链则是完全中心化的区块链,适用于特定机构的内部数据管理与审计等,其写入权限由中心机构控制,而读取权限可视需求有选择性地对外开放。需要说明的是,由于去中心化程度不同,联盟链和私有链可能不完全符合第 2 节提出的区块链模型,例如,中心化程度较高的区块链可能不需要设计激励层中的经济激励等。4. 区块链的现存问题作为近年来兴起并快速发展的新技术,区块链必然会面临各种制约其发展的问题和障碍。本节将从安全、效率、资源和博弈四方面概述区块链技术有待解决的问题。4.1 安全问题安全性威胁是区块链迄今为止所面临的最重要的问题。其中,基于 PoW 共识过程的区块链主要面临的是 51% 攻击问题,即节点通过掌握全网超过 51% 的算力就有能力成功篡改和伪造区块链数据。以比特币为例,据统计中国大型矿池的算力已占全网总算力的 60% 以上,理论上这些矿池可以通过合作实施 51% 攻击,从而实现比特币的双重支付 [1]。虽然实际系统中为掌握全网 51% 算力所需的成本投入远超成功实施攻击后的收益,但 51% 攻击的安全性威胁始终存在。基于 PoS 共识过程在一定程度上解决了51%攻击问题,但同时也引入了区块分叉时的N@S(Nothing at Stake)攻击问题。研究者已经提出通过构造同时依赖高算力和高内存的 PoW 共识算法来部分解决 51% 攻击问题 [4],更为安全和有效的共识机制尚有待于更加深入的研究和设计。区块链的非对称加密机制也将随着数学、密码学和计算技术的发展而变的越来越脆弱。据估计,以目前天河二号的算力来说,产生比特币 SHA256 哈希算法的一个哈希碰撞大约需要 248 年,但随着量子计算机等新计算技术的发展,未来非对称加密算法具有一定的破解可能性,这也是区块链技术面临的潜在安全威胁。区块链的隐私保护也存在安全性风险。区块链系统内各节点并非完全匿名,而是通过类似电子邮件地址的地址标识(例如比特币公钥地址)来实现数据传输。虽然地址标识并未直接与真实世界的人物身份相关联,但区块链数据是完全公开透明的,随着各类反匿名身份甄别技术的发展,实现部分重点目标的定位和识别仍是有可能的。4.2 效率问题区块链效率也是制约其应用的重要因素。首先是区块膨胀问题:区块链要求系统内每个节点保存一份数据备份,这对于日益增长的海量数据存储来说是极为困难的。以比特币为例,完全同步自创世区块至今的区块数据需要约 60 GB 存储空间,虽然轻量级节点可部分解决此问题,但适用于更大规模的工业级解决方案仍有待研发 [28]。其次是交易效率问题:比特币区块链目前每秒仅能处理 7 笔交易,这极大地限制了区块链在大多数金融系统高频交易场景中的应用(例如 VISA 信用卡每秒最多可处理 10000 笔交易)[1]。最后是交易确认时间问题:比特币区块生成时间为 10 分钟,因而交易确认时间一般为 10 分钟,这在一定程度上限制了比特币在小额交易和时间敏感交易中的应用。4.3 资源问题PoW 共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决 SHA256 哈希和随机数搜索,除此之外并不产生任何实际社会价值,因而一般意义上认为这些算力资源是被「浪费」掉了,同时被浪费掉的还有大量的电力资源。随着比特币的日益普及和专业挖矿设备的出现,比特币生态圈已经在资本和设备方面呈现出明显的军备竞赛态势,逐渐成为高耗能的资本密集型行业,进一步凸显了资源消耗问题的重要性。因此,如何能有效汇集分布式节点的网络算力来解决实际问题,是区块链技术需要解决的重要问题。研究者目前已经开始尝试解决此问题,例如 Primecoin(质数币)要求各节点在共识过程中找到素数的最长链条(坎宁安链和双向双链)而非无意义的 SHA256 哈希值 [29]。未来的潜在发展趋势是设计行之有效的交互机制来汇聚和利用分布式共识节点的群体智能,以辅助解决大规模的实际问题。4.4 博弈问题区块链网络作为去中心化的分布式系统,其各节点在交互过程中不可避免地会存在相互竞争与合作的博弈关系,这在比特币挖矿过程中尤为明显。通常来说,比特币矿池间可以通过相互合作保持各自稳定的收益。然而,矿池可以通过称为区块截留攻击(Block with Holding Attacks)的方式、通过伪装为对手矿池的矿工、享受对手矿池的收益但不实际贡献完整工作量证明来攻击其他矿池,从而降低对手矿池的收益。如果矿池相互攻击,则双方获得的收益均少于不攻击对方的收益。当矿池收益函数满足特定条件时,这种攻击和竞争将会造成「囚徒困境」博弈结局 [30]。如何设计合理的惩罚函数来抑制非理性竞争、使得合作成为重复性矿池博弈的稳定均衡解,尚需进一步深入研究。此外,正如前文提到的,区块链共识过程本质上是众包过程,如何设计激励相容的共识机制,使得去中心化系统中的自利节点能够自发地实施区块数据的验证和记账工作,并提高系统内非理性行为的成本以抑制安全性攻击和威胁,是区块链有待解决的重要科学问题。5. 基于区块链的智能合约智能合约概念最早在 1994 年由学者 Nick Szabo 提出,最初被定义为一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,其设计初衷是希望通过将智能合约内置到物理实体来创造各种灵活可控的智能资产。由于计算手段的落后和应用场景的缺失,智能合约并未受到研究者的广泛关注。区块链技术的出现重新定义了智能合约。智能合约是区块链的核心构成要素(合约层),是由事件驱动的、具有状态的、运行在可复制的共享区块链数据账本上的计算机程序,能够实现主动或被动的处理数据,接受、储存和发送价值,以及控制和管理各类链上智能资产等功能。智能合约作为一种嵌入式程序化合约,可以内置在任何区块链数据、交易、有形或无形资产上,形成可编程控制的软件定义的系统、市场和资产。智能合约不仅为传统金融资产的发行、交易、创造和管理提供了创新性的解决方案,同时能够在社会系统中的资产管理、合同管理、监管执法等事务中发挥重要作用。具体说来,智能合约是一组情景-应对型的程序化规则和逻辑,是部署在区块链上的去中心化、可信共享的程序代码。智能合约同样具有区块链数据的一般特征,如分布式记录、存储和验证,不可篡改和伪造等。签署合约的各参与方就合约内容、违约条件、违约责任和外部核查数据源达成一致,必要时检查和测试合约代码以确保无误后,以智能合约的形式部署在区块链上,即可不依赖任何中心机构地自动化代表各签署方执行合约。智能合约的可编程特性使得签署方可以增加任意复杂的条款。图 5 智能合约的运作机理智能合约的运作机理如图 5 所示:通常情况下,智能合约经各方签署后,以程序代码的形式附着在区块链数据(例如一笔比特币交易)上,经 P2P 网络传播和节点验证后记入区块链的特定区块中。智能合约封装了预定义的若干状态及转换规则、触发合约执行的情景(如到达特定时间或发生特定事件等)、特定情景下的应对行动等。区块链可实时监控智能合约的状态,并通过核查外部数据源、确认满足特定触发条件后激活并执行合约。区块链和智能合约有极为广阔的应用场景。例如,互联网金融领域的股权众筹或 P2P 网络借贷等商业模式可以通过区块链和智能合约加以实现。传统方式是通过股权众筹或 P2P 借贷的交易所或网络平台作为中心机构完成资金募集、管理和投资,实际操作过程中容易出现因中心机构的信用缺失而导致的资金风险。利用智能合约,这些功能均可以封装在去中心化可信的区块链上自动执行。区块链可记录每一笔融资,当成功达到特定融资额度时计算每个投资人的股权份额,或在一段时间内未达到融资额度时自动将资金退还给投资人。再如,通过将房屋和车辆等实体资产进行非对称加密,并嵌入含有特定访问控制规则的智能合约后部署在区块链上,使用者符合特定的访问权限或执行特定操作(如付款)后就可使用这些资产,这能够有效解决房屋或车辆租赁商业模式中资产交接和使用许可方面的痛点。智能合约具有自治、自足和去中心化等特征:自治表示合约一旦启动就会自动运行,而不需要其他签署方进行任何干预;自足则意味着合约能够通过提供服务或发行资产来获取资金,并在需要时使用这些资金;去中心化则意味着智能合约是由去中心化存储和验证的程序代码而非中心化实体来保障执行的合约,能在很大程度上保证合约的公平和公正性 [1]。智能合约对于区块链技术来说具有重要的意义:一方面,智能合约是区块链的激活器,为静态的底层区块链数据赋予了灵活可编程的机制和算法,并为构建区块链 2.0 和 3.0 时代的可编程金融系统与社会系统奠定了基础;另一方面,智能合约的自动化和可编程特性使其可封装分布式区块链系统中各节点的复杂行为,成为区块链构成的虚拟世界中的软件代理机器人,这有助于促进区块链技术在各类分布式人工智能系统中的应用,使得基于区块链技术构建各类去中心化应用(Decentralized Application,Dapp)、去中心化自治组织(Decentralized Autonomous Organization,DAO)、去中心化自治公司(Decentralized Autonomous Corporation,DAC)甚至去中心化自治社会(Decentralized Autonomous Society,DAS)成为可能。就现状而言,区块链和智能合约技术的主要发展趋势是由自动化向智能化方向演化。现存的各类智能合约及其应用的本质逻辑大多仍是根据预定义场景的「IF-THEN」类型的条件响应规则,能够满足目前自动化交易和数据处理的需求。未来的智能合约应具备根据未知场景的「WHAT - IF」推演、计算实验和一定程度上的自主决策功能,从而实现由目前「自动化」合约向真正的「智能」合约的飞跃 [31-32]。6. 区块链驱动的平行社会互联网近年来的迅猛发展及其与物理世界的深度耦合与强力反馈,已经根本性地改变了现代社会的生产、生活与管理决策模式,形成了现实物理世界-虚拟网络空间紧密耦合、虚实互动和协同演化的平行社会空间,催生了「互联网+」和工业 4.0 等一系列国家战略。未来社会的发展趋势则必将从物理 + 网络的 CPS 实际世界(Cyber-Physical Systems,CPS)走向精神层面的人工世界,形成物理 + 网络 + 人工的人-机-物一体化的三元耦合系统,称为社会物理信息系统(Cyber-Physical-Social Systems,CPSS)。目前,基于 CPSS 的平行社会已现端倪,其核心和本质特征是虚实互动与平行演化 [33]。区块链是实现 CPSS 平行社会的基础架构之一,其主要贡献是为分布式社会系统和分布式人工智能研究提供了一套行之有效的去中心化的数据结构、交互机制和计算模式,并为实现平行社会奠定了坚实的数据基础和信用基础:就数据基础而言,管理学家爱德华戴明曾说过:除了上帝,所有人必须以数据说话。然而在中心化社会系统中,数据通常掌握在政府和大型企业等「少数人」手中,为少数人「说话」,其公正性、权威性甚至安全性可能都无法保证。区块链数据则通过高度冗余的分布式节点存储,掌握在「所有人」手中,能够做到真正的「数据民主」。就信用基础而言,中心化社会系统因其高度工程复杂性和社会复杂性而不可避免地会存在「默顿系统」的特性,即不确定性、多样性和复杂性,社会系统中的中心机构和规则制定者可能会因个体利益而出现失信行为。区块链技术有助于实现软件定义的社会系统,其基本理念就是剔除中心化机构、将不可预测的行为以智能合约的程序化代码形式提前部署和固化在区块链数据中,事后不可伪造和篡改并自动化执行,从而在一定程度上能够将「默顿」社会系统转化为可全面观察、可主动控制、可精确预测的「牛顿」社会系统 [34]。ACP(人工社会 Artiflcial Societies、计算实验 Computational Experiments 和平行执行 Parallel Execution)方法是迄今为止平行社会管理领域唯一成体系化的、完整的研究框架,是复杂性科学在新时代平行社会环境下的逻辑延展和创新[35]。ACP 方法可以自然地与区块链技术相结合,实现区块链驱动的平行社会管理:首先,区块链的 P2P 组网、分布式共识协作和基于贡献的经济激励等机制本身就是分布式社会系统的自然建模,其中每个节点都将作为分布式系统中的一个自主和自治的智能体(Agent)。随着区块链生态体系的完善,区块链各共识节点和日益复杂与自治的智能合约将通过参与各种形式的 Dapp,形成特定组织形式的 DAC 和 DAO,最终形成 DAS,即 ACP 中的人工社会 [36]。其次,智能合约的可编程特性使得区块链可进行各种「WHAT - IF」类型的虚拟实验设计、场景推演和结果评估,通过这种计算实验过程获得并自动或半自动地执行最优决策。最后,区块链与物联网等相结合形成的智能资产使得联通现实物理世界和虚拟网络空间成为可能,并可通过真实和人工社会系统的虚实互动和平行调谐实现社会管理和决策的协同优化。不难预见,未来现实物理世界的实体资产都登记为链上智能资产的时候,就是区块链驱动的平行社会到来之时。7. 结束语随着以比特币为代表的数字加密货币的强势崛起,新兴的区块链技术逐渐成为学术界和产业界的热点研究课题。区块链技术的去中心化信用、不可篡改和可编程等特点,使其在数字加密货币、金融和社会系统中有广泛的应用前景。然而,与蓬勃发展的区块链商业应用相比,区块链的基础理论和技术研究仍处于起步阶段,许多更为本质性的、对区块链产业发展至关重要的科学问题亟待研究跟进。本文系统地梳理了区块链技术的基本原理、技术、方法与应用,以期为未来研究提供有益的启发与借鉴。参考文献作者简介袁勇博士,中国科学院自动化研究所复杂系统管理与控制国家重点实验室副研究员。2008 年于山东科技大学获得计算机软件与理论专业博士学位。主要研究方向为商务智能与计算广告学。

王飞跃教授,中国科学院自动化研究所复杂系统管理与控制国家重点实验室研究员,国防科技大学军事计算实验与平行系统技术中心教授。主要研究方向为智能系统和复杂系统的建模、分析与控制。

来源:自动化学报本文参与 腾讯云自媒体分享计划,分享自微信公众号。原始发表:2018-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除区块链人工智能分布式本文分享自 专知 微信公众号,前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!区块链人工智能分布式评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0相关产品与服务区块链云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。产品介绍2024新春采购节领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 |  京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00

[入门指引] - 推荐一份区块链基础教程 | 登链社区 | 区块链技术社区

[入门指引] - 推荐一份区块链基础教程 | 登链社区 | 区块链技术社区

文章

问答

讲堂

专栏

集市

更多

提问

发表文章

活动

文档

招聘

发现

Toggle navigation

首页 (current)

文章

问答

讲堂

专栏

活动

招聘

文档

集市

搜索

登录/注册

[入门指引] - 推荐一份区块链基础教程

DeCert.me

更新于 2023-10-20 15:23

阅读 9038

一份为小白用户准备的免费区块链基础教程

[Decert.me](https://github.com/orgs/decert-me/) 的愿景把数据从中心化机构手中解放出来,让每个人都能掌握自己的信用。

这个开源、开放的公益平台为每个人提供了构建自己链上信用履历的机会。我们相信,只有开放、可信的数据才能让这个世界更自由、更可信、更高效。

我们所有的教程均在 Github 上开源, [教程开源地址](https://github.com/orgs/decert-me/)

欢迎大家补充完善,你的贡献让更自由、更可信、更高效的世界又进一步。

---

区块链是一项令人兴奋和有前途的技术,你也许看到过这些频繁在社交媒体、新闻频道上冒出的新名词:智能合约、代币(通证)、Web3、DeFi、DAO 组织。

如果你还不是很明白他们的意思,这份免费区块链基础教程就是为你(小白们)准备的。

这份教程目前包含 7 篇文章:

**第1篇:[比特币与区块链诞生](https://decert.me/tutorial/blockchain-basic/bitcoin/)**

在中本聪之前,几位大师对数字货币的探索,中本聪结合前人的探索及工作量证明的加入,诞生出第一个去中心化的数字货币:比特币, 第1篇文章将将了解比特币的基本原理和概念,包括区块、交易、挖矿等

**第2篇:[比特币运行原理](https://decert.me/tutorial/blockchain-basic/how_bitcoin_work)**

详细介绍了比特币的工作原理,包括去中心化、共识机制、区块链结构等。第2篇让我们将了解到如何发起交易,交易如何打包上链。

**第3篇:[区块链技术整体概述](https://decert.me/tutorial/blockchain-basic/what_is_blockchain)**

什么是区块链,为什么它是一种革命性的技术,第3篇介绍在比特币之后,区块链技术的发展,在智能合约引入之后,区块链的能力大大增强。不同的团队在探索使用各种不同的共识机制来扩展区块链的性能

**第4篇:[不同类型的区块链](https://decert.me/tutorial/blockchain-basic/blockchains)**

第4篇探讨了不同类型的区块链,包括公有链、私有链和联盟链等,他们各自的特点是什么。

**第5篇:[区块链不同的层次](https://decert.me/tutorial/blockchain-basic/layers)**

由于区块链本身受不可能三角限制,开发人员考虑将更多的计算转移到链下,因此区块链出现了分层发展的趋势。第5篇介绍了比特币的闪电网络以及以太坊的 Rollup。

**第6篇:[Web3 与存储协议](https://decert.me/tutorial/blockchain-basic/web3_storage)**

区块链催生了新形态的应用,我们称之为 Web3 应用,Web3应用的特点是用户自己控制所有权。

去中心化存储协议也是Web3 应用重要的组成部分。

**第7篇:[区块链应用场景](https://decert.me/tutorial/blockchain-basic/scenarios)**

区块链到底有什么用,第7篇给出了一些广泛的应用场景, 如在跨境支付/结算、资产数字化等金融服务,数字存证/防伪,NFT/数字艺术品,游戏等领域都可能产生颠覆性的影响,还催生了全新 DAO 组织这样全新的合作形态。

Decert.me 的愿景把数据从中心化机构手中解放出来,让每个人都能掌握自己的信用。

这个开源、开放的公益平台为每个人提供了构建自己链上信用履历的机会。我们相信,只有开放、可信的数据才能让这个世界更自由、更可信、更高效。

我们所有的教程均在 Github 上开源, 教程开源地址

欢迎大家补充完善,你的贡献让更自由、更可信、更高效的世界又进一步。

区块链是一项令人兴奋和有前途的技术,你也许看到过这些频繁在社交媒体、新闻频道上冒出的新名词:智能合约、代币(通证)、Web3、DeFi、DAO 组织。

如果你还不是很明白他们的意思,这份免费区块链基础教程就是为你(小白们)准备的。

这份教程目前包含 7 篇文章:

第1篇:比特币与区块链诞生

在中本聪之前,几位大师对数字货币的探索,中本聪结合前人的探索及工作量证明的加入,诞生出第一个去中心化的数字货币:比特币, 第1篇文章将将了解比特币的基本原理和概念,包括区块、交易、挖矿等

第2篇:比特币运行原理

详细介绍了比特币的工作原理,包括去中心化、共识机制、区块链结构等。第2篇让我们将了解到如何发起交易,交易如何打包上链。

第3篇:区块链技术整体概述

什么是区块链,为什么它是一种革命性的技术,第3篇介绍在比特币之后,区块链技术的发展,在智能合约引入之后,区块链的能力大大增强。不同的团队在探索使用各种不同的共识机制来扩展区块链的性能

第4篇:不同类型的区块链

第4篇探讨了不同类型的区块链,包括公有链、私有链和联盟链等,他们各自的特点是什么。

第5篇:区块链不同的层次

由于区块链本身受不可能三角限制,开发人员考虑将更多的计算转移到链下,因此区块链出现了分层发展的趋势。第5篇介绍了比特币的闪电网络以及以太坊的 Rollup。

第6篇:Web3 与存储协议

区块链催生了新形态的应用,我们称之为 Web3 应用,Web3应用的特点是用户自己控制所有权。

去中心化存储协议也是Web3 应用重要的组成部分。

第7篇:区块链应用场景

区块链到底有什么用,第7篇给出了一些广泛的应用场景, 如在跨境支付/结算、资产数字化等金融服务,数字存证/防伪,NFT/数字艺术品,游戏等领域都可能产生颠覆性的影响,还催生了全新 DAO 组织这样全新的合作形态。

原创

学分: 155

分类: 公链

标签:

入门 

比特币 

DeCert 

本文已由作者铸造成 NFT

网络:

Polygon

合约地址:

0x6f772e254Ef50e9b462915b66404009c73766350

IPFS hash:

QmP5k5ixYQZH4f2YXyWrUha3NshRrfCvRcMjSVHFP7tYn5

查看TA的链上存证

点赞 8

收藏 7

分享

Twitter分享

微信扫码分享

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

你可能感兴趣的文章

RoochBTC - 用链上索引器实现比特币二层

853 浏览

重新思考闪电网络

816 浏览

深入探讨比特币二层概念

1802 浏览

TI 专访 Merlin Protocol:构建在比特币网络上的资产适配协议

522 浏览

运行 v0.7 及更早版本的 Bitcoin Core

984 浏览

比特币 常见的几个疑惑点解密

959 浏览

相关问题

以太坊节点同步遇到错误

2 回答

阿波罗公链是pos算法公链吗

4 回答

fabric2.2.0可以运行在Intel的SGX(software guard extensions)中么?

0 回答

全小白应该怎么系统的学习

2 回答

如何去理解区块链技术,怎样高效的学习区块链技术

1 回答

想找一名区块链老师,学习区块链编程。

4 回答

0 条评论

请先 登录 后评论

DeCert.me

关注

贡献值: 96

学分: 576

https://decert.me/

面向未来学习,构建链上信用

文章目录

关于

关于我们

社区公约

学分规则

Github

伙伴们

DeCert

ChainTool

GCC

合作

广告投放

发布课程

联系我们

友情链接

关注社区

Discord

Twitter

Youtube

B 站

公众号

关注不错过动态

微信群

加入技术圈子

©2024 登链社区 版权所有 |

Powered By Tipask3.5|

粤公网安备 44049102496617号

粤ICP备17140514号

粤B2-20230927

增值电信业务经营许可证

×

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

发给:

内容:

取消

发送

×

举报此文章

垃圾广告信息:

广告、推广、测试等内容

违规内容:

色情、暴力、血腥、敏感信息等内容

不友善内容:

人身攻击、挑衅辱骂、恶意行为

其他原因:

请补充说明

举报原因:

取消

举报

×

如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!

吐血推荐!!!一个完整的区块链入门学习整理 - 知乎

吐血推荐!!!一个完整的区块链入门学习整理 - 知乎切换模式写文章登录/注册吐血推荐!!!一个完整的区块链入门学习整理一链幽梦入门介绍与原理:一、比特币1.比特币白皮书这是一切的开始2.精通比特币讲比特币很详细的一本书,看完基本对比特币的认识就清楚了。3.TheProof-of-Work ConceptPoW机制理论介绍,英文4.比特币的原理及运作机制这篇是新手向,适合向圈外人介绍什么是比特币什么是区块链5.比特币pow难度调节机制PoW的难度调节是一个要点,一篇简介6.区块链文档资源二、区块链1.区块链技术指南这本书也很推荐,对区块链技术讲解得非常全面2.csdn的blockchain知识库老牌站CSDN论坛里没有区块链的板块,不过知识库还是有些值得一看的3.区块链可应用场景应用场景探讨,只是简述,欢迎讨论4.汪晓明对区块链、以太坊的思考小明说还是做得很不错的一个系列专题5.侧链技术介绍侧链是区块链技术里很重要的一个分支技术,这篇讲得很详细了6.Quorum(NRW)算法机制简介这篇其实是一个引申,更多是关于分布式存储算法的7.PoS的设计思想PoS也是很重要的一种共识算法,原理讲解,当中还有对共识算法的一些基础内容8.分布式日志系统另一篇引申,分布式日志9.非对称加密基本概念区块链中非对称加密是一个重要的基础概念技术操作向:一、以太坊1.ethereum white paper不多说,白皮书2.以太坊黄皮书黄皮书更多偏向技术,英文3.以太坊常见问题可以看做是官方FAQ了,英文4.Solidity语言Solidity语言的文档,英文5.理解以太坊Serenity以太坊第四阶段介绍,虽然还有点遥远6.Vlad谈Casper共识协议Casper其实就是以太坊想要转的PoS,简介7.以太坊智能合约编程之菜鸟教程8.通过truffle部署以太坊智能合约9.Truffle 3.0部署智能合约至Ethereum节点10.以太坊智能合约编写实例11.以太坊智能合约编写实例212.在CentOS6.5上搭建以太坊私有链剩下几篇是实际操作向,有些可能因为发表时间不同会有些过时,不过也有一定的参考价值二、Hyperledger fabric1.Hyperledger Fabric V1.0– 开发者快速入门万达大佬写的开发者入门指南2.Hyperledger 源码分析之 Fabric源码分析,感兴趣研究的同学可以看看3. Hyperledgerfablic 1.0 在centos7环境下的安装与部署和动态增加节点4.fabric源码搭建5.Hyperledger Fabric1.0架构概览6.fabric中文文档7.Ubuntu中使用 Docker 部署 HyperledgerFabric剩下几篇也是操作向,同上三、布萌1.布萌接入指南布萌官方的指南有些模糊,个人整理了一版出来仅供参考2.布萌API文档3.布萌SDK文档两个官方文档,其实官网就有,顺手列在这了:D4.布萌PHP SDK今天看到有朋友放出的PHP的SDK,膜拜大神四、其他1.Nodejs开发加密货币基于Ebookcoin(亿书币)的开发教程,有一定参考价值2.创建自己的私有比特币测试链比特币私链搭建教程3.programmingblockchain in c#用C#开发区块链教程,英文————————————————原文链接:一个完整的区块链入门学习整理,吐血推荐!!!_hui_yong的博客-CSDN博客_区块链学习发布于 2021-07-26 15:07区块链技术区块链技术指南(书籍)​赞同 1​​添加评论​分享​喜欢​收藏​申请

区块链该怎么入门,要学些什么? - 知乎

区块链该怎么入门,要学些什么? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册互联网入门指南区块链(Blockchain)区块链该怎么入门,要学些什么?入门要学些什么内容?显示全部 ​关注者43被浏览41,716关注问题​写回答​邀请回答​好问题​2 条评论​分享​19 个回答默认排序程序员客栈​已认证账号​ 关注在区块链世界中,智能合约是不可缺少的一部分。而作为一种真正意义上运行在去中心化网络上的合约,Solidity在智能合约的编写中占据了非常大的份额,学习solidity属于入门区块链的必修科目。今天我整理了solidity的最强攻略,希望能带大家以最快的速度学习掌握solidity,如果大家觉得有用,记得点赞收藏加关注哦~初学者对solidity完全没接触过的同学,学过其他语言的话solidity是十分好上手的,但是对于计算机小白来说solidity不适合作为初学语言。我接下来的推荐也是默认大家有其他语言基础的哦。1.尚硅谷视频尚硅谷关于编程的教学视频质量普遍质量偏高,且尚硅谷在solidity方面的视频讲得细致深入,涉猎范围广,让初学者能轻松掌握。2.僵尸工厂僵尸工厂是一个关于solidity编写智能合约的一个小游戏,里面涉及到了solidity的大部分基础内容,玩者跟着他的引导写代码,一步一步把僵尸游戏写出来。编程技术从来都不是看出来的,而是自己一步步敲出来的。初学者在一边看视频的同时,可以自己跟着僵尸工厂进行实践编程。当基础知识巩固的差不多了,就可以开始下一阶段的学习进阶者1.Solidity官方文档官方文档由于是Solidity的编写者所著,所以其必定包含了关于Solidity的全部方面,并且随着Solidity的更新换代,官方文档也在随之更新,里面涉及到了从基础知识到底层实现逻辑和用solidity编写的项目实例,所以看官方文档是进阶的必须项。2.The EthernautThe Ethernaut是有关solidity智能合约的靶场,里面有很多关卡,每一关都设置了不同的要求,通过该关就需要达到他所设置的所有要求,非常适合在solidity学习过程中的实践和对学习知识的完善和巩固3.以太坊黄皮书以太坊黄皮书是关于以太坊技术的实现规范,黄皮书中解读了大量关于以太坊中的重点内容包括evm,solidity等的说明和补充,适用于需要进一步深度了解的人进行阅读和学习4.Openzeppelin一个用于安全智能合约开发的库,里面包含了现存的大量的代币标准,是掌握solidity基础知识后需要掌握的新知识,包括但不限于代币、API等solidity相关知识。5.Reentrancy里面包含了大量的关于以太坊solidity的漏洞分析和重入复现,以及讲述了如何避免产生这些漏洞以避免智能合约出现问题的方法。学习这个可以规避掉将来写代码的一些错误,值得去看。6.DASP Top10与前一个网站类似,同样包含了以太坊中的solidity漏洞分析,不同的是这个网站统计的是以太坊历史上遭受的重大攻击并进行分析,以预防以后再次遭受到同样的攻击而无法解决。Solidity相关书籍1.Solidity编程此书一方面从概念上介绍了 Solidity 编程语言,另一方面从编写智能合约的角度进行了阐述,介绍了智能合约的测试和调试工具。适合初学者作为辅助学习。2.以太坊Solidity智能合约开发此书深入到高级应用,包括设计模式、合约可升级的设计、合约的安全性问题及对策等,并结合EVM的实现,讨论Solidity语句的汇编实现;对一些原理的讲解,提供了相对应的实例,以期更易于理解原理的实现机理;同时,对Solidity应用于DApp开发,及使用区块链上的去中心化存储(IPFS)也有详细的介绍。其实好的书有很多,主要是看自己适应于哪本书的教学模式,所以今天就先只推荐这两本,如果感兴趣的可以去看看。以上就是全部攻略啦,期待你的点赞~发布于 2022-07-14 13:54​赞同 8​​添加评论​分享​收藏​喜欢收起​Conflux中文社区价值比特 互信互享 ​ 关注首先了解区块链的由来,从中本聪发布的比特币白皮书看起:https://bitcoin.org/files/bitcoin-paper/bitcoin_zh_cn.pdf 该白皮书介绍了区块链的一些基本技术概念:分布式网络,时间戳,不对称加密,POW共识算法等。其次可以从阅读以太坊的白皮书看起了解下区块链2.0智能合约时代:https://github.com/ethereum/wiki/wiki/%5B%E4%B8%AD%E6%96%87%5D-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%99%BD%E7%9A%AE%E4%B9%A6入门通过这两篇白皮书的学习,基本的概念这里大概就清晰了。平时多关注些行业内的时事新闻也有助于理解学习。发布于 2019-09-16 10:35​赞同 2​​添加评论​分享​收藏​喜欢

区块链小白入门书 - 知乎

区块链小白入门书 - 知乎切换模式写文章登录/注册区块链小白入门书多米公会区块链金融融狙击手警告区块链作为金融互联网新技术,不可避免地会涉及到投资和投机 —— 而对绝大多数普通人来说:投资有风险,决策需谨慎!前言到了 2019 年,是李笑来在区块链世界里生存的第 9 个年头。这些年来,人们对区块链的误解甚至诋毁现在终于可以烟消云散了 —— 因为区块链技术终于在中国获得了认可与支持。然而,需要注意的是,区块链技术作为金融互联网新技术,不可避免地与投机(或投资)联系在一起,导致的结果是市场上骗局丛生,行业里鱼龙混杂,所以有必要让民众对区块链有正确且清楚的了解。这就是《区块链小白书》的意义 —— 它就是写给小白的,目的不仅是为了让小白少走弯路,更是为了让小白不要误入歧途。李笑来,二〇一九年十月,于北京准备工作1. 不要滥用类比你将要尝试着学习并理解的,是一个前所未有的重大创新,其中有很多你一下子难以理解透彻的概念,很少有人能一下子全都弄明白……在这样的时候,人们会不由自主地抄近路走捷径 —— 滥用类比:“哦!我明白了,这就好像是……”比如,你经常会看到人们挣扎着理解了半天,突然冒出一句:“哦,我懂了,比特币就是电子黄金!” 类比是约等号(≈),而“这就是”是等号(=),约等号和等号之间的差别有时甚至超过十万八千里。比特币与电子黄金之间的关系甚至干脆就谈不上是约等于…… 全然不是一个东西。在理解全新事物的时候,滥用类比的危害非常大,因为你压根就找不到什么过往已经存在的东西真的和这个创新竟然一模一样 —— 否则,它也不可能被称为创新了,是不是?这种不恰当的类比被滥用多次之后,就再也没办法形成正确的理解了 —— 因为理解一个创新需要理解多个前所未有的概念,每个都做了不恰当的类比之后,多次非常不恰当的约等于拼接起来之后,无论如何都没办法达到一个与正确理解相近的效果。请务必注意,每次你的脑子里不由自主地冒出 “这就好像……” 这个念头的时候,你都要把它强压回去。2. 重复重复再重复遇到暂时无法理解的概念,不要担心、不要纠结、不要停顿,你要做的事情很简单:继续读下去;读完之后再重复读很多次……这是学习任何新知识或者在任何新领域探索的 “必杀技”。这背后有一个重要的原理:绝大多数难以理解的知识,是因为它内部有很多 “前置引用”。所谓的前置引用,就是一个在后面才能深入理解的概念竟然在此之前已经被引用了,导致的结果是学习者总是处于懵懂的状态。学校里的知识却不是这样的,学校里的知识总是线性层层递进的,理解了前面,就能理解后面…… 关于 “前置引用”,你可以参阅我在《自学是门手艺》里的阐述。“硬着头皮读完,而后重复读很多次” 这个策略,就是可以轻松突破 “前置引用” 所设置的障碍。这个技巧,事实上可以用在任何领域。3.借助群智的力量快速掌握新知识,快速适应新领域,还有个重要的技巧,就是借助群智的力量。事实上,在学校里,你早就应该发现这个技巧了 —— 如果你能跟那些学霸经常聊天,经常玩耍,你就会发现总是在不经意之间,很多重点难点就那样轻而易举地被解决掉了……这首先因为人是社交动物,然而更为重要的是,交流这个东西,随意的交流总是比刻意的交流更为有效 —— 因为随意的交流总是刻意解决那些连你自己都没意识到的问题…… 可偏偏,这些你自己意识不到的问题恰恰是最重要甚至最关键的问题。如果不借助这种群智的力量,很难想象还有什么办法可以解决这种隐秘的关键问题。在 Mixin Messenger 上,有一个群,群号是 7000102093,里面有一万多人 —— 可能是目前国内最优质的小白社群。群里定期有公开课,并且定期会开放聊天机会…… 在那里,你可以向别人提问,也可以观察他人之间的讨论,很多你弄不明白的问题,可能一不小心就彻底被他人的对话解决掉了。比特币比特币是个前所未有的东西,所以绝大多数人很难清楚地理解它。这一个章节之中,我们会用极为简单的语言尽量做到通俗易懂 —— 并且,尽量不涉及那些晦涩难懂的技术概念。1. 什么是比特币2009 年,比特币横空出世,绝大多数人对此全然不知。即便是在 10 年后的今天,比特币对大众来说也依然神秘…… 不过,总是可以用很简单的方式说清楚:理解比特币最简单的方法是把它想象成一家世界银行:这家叫 Bitcoin 的世界银行发行了一个叫作 BTC 的货币……基于翻译的局限,无论是 Bitcoin 还是 BTC,在中文之中都叫 “比特币”。对中国民众来说,最大的狐疑来自于 “银行是谁都可以开的么?”,以及 “货币这东西你说发就发啊?”…… 刚开始的时候这确实难以理解,甚至难以接受。可科技发展已经给我们演示过很多次 “过去完全不可能的事情竟然就那么发生了!” 电子邮件就那样悄无声息地替代了书信,互联网语音通讯就那么不声不响地替代了电话。2. 比特币其实不可能替代法币对于新生事物,人们总是过于两极分化,要么断然拒绝接受,要么对它寄予过分的期待。比特币不可能替代法币(Fiat Money,法定货币)—— 只因为最简单的原因:日常生活中人们需要的货币必须是价格相对稳定的。在可预见的未来相当长一段时间里,比特币的价格不可能稳定;恰恰相反,它的价格波动剧烈 —— 仅此一点,就使得它没办法成为日常生活中人们所最普遍使用的货币。长期来看,即便比特币的价格因为绝大多数人都接受而趋于稳定,它也只不过会成为地球上众多货币之中的一个而已,仍旧不可能替代所有法币。3. 比特币解决了什么问题如果你有兴趣耐心反复阅读比特币白皮书,《比特币:一种点对点的电子现金系统》,那么你就会发现一个你之前并不了解的概念是它的核心:双花问题(Double Spending)简单讲,就是“同一笔钱一次只能花在一个地方”,“绝对不能让同一笔钱竟然同时花到了两个地方”,否则就只能是 “记账有误”。银行的核心业务是什么呢?银行的最核心业务其实只有一个,那就是:记账 —— 绝对不能记错账,更不应该做假账。数字时代的尴尬在于,传统中心化管理的数据库,用来记账的时候,那账簿是有无数种可能被篡改的,账本上随意增加一条不合理的记录、随意删除一条不合规的记录,随意修改任何记录中的数字,都有可能违规且干脆无法防范……那怎么办呢?比特币这家世界银行的解决方案很简单:我不自己管理数据库了;把这个数据库的管理权限交给所有人,大家共同维护这个账簿;每个人手中所持有的账簿必须与其他人的一样才算有效账簿;所以,全网所有的账簿都只能一样;所以,没有人可以私自篡改账簿并被所有其他人接受……如此这般,就保证了这家世界银行的账簿不可能出错,不可能被恶意篡改,不可能再出现任何 “同一笔钱竟然同时花在两个地方” 的情况。于是,逻辑就很清晰了:问题是 “必须要有一个不可篡改的可信账簿……”解决方案是 “那我们分布式管理罢!”你看,“去中心化” 并非目标,而是分布式管理的结果;而 “公开透明” 也只是分布式管理的自然而然的结果…… 多年以来,不明就里的人们总是神话 “去中心化” 带来的颠覆,总是神话 “公开透明” 的各种优势 —— 其实是本末倒置了。去中心化指的是网络结构去中心化,不会直接带来任何颠覆。而公开透明,固然在一些地方必需必要,但,事实上绝大多数商业模式在公开透明的方式下无法良好运营。别说商业模式了,连游戏都是这样的,猜大小游戏可以一直公开透明,可棋牌游戏,必须等到游戏结束之后才可以公开透明,否则游戏就无法进行了……4. 区块链究竟是什么区块链是 blockchain 这个英文新词汇的 “生硬翻译” —— 事实上,绝大多数翻译就是很生硬的,你看看上面的 “双花”(Double Spending)就能感觉到了。所谓区块,是 block 的翻译,可以理解为 “信息块”(这个单词在计算机领域就是这个意思)。block, Computing: a large piece of text processed as a unit.如此这般,区块链(blockchain)就是字面上的意思,它就是由前后链接起来的信息块构成。在比特币这家世界银行的设计中,区块(block),就是一个又一个不断生成的子账簿,这些子账簿通过一种特定的算法(哈希算法)前后链接起来,形成总账簿(blockchain)。从这个角度望过去,区块链技术没什么神秘的,通俗地讲,它只不过是一种新的记账技术而已。比特币这家世界银行,就是这样建立在区块链技术上的第一个分布式应用。而区块链技术,通俗地讲,无非是个不可篡改的分布式数据库技术而已。5. 区块链技术会改变世界吗在一些场景下,这个世界的确需要不可篡改的数据库技术。比如,法院的卷宗,交通部门的违章记录,工商部门的企业登记,民政局的婚姻登记,公安局的身份证,大学的毕业证,等等等等……尤其需要区块链技术的领域,除了公共事务领域之外,还有物联网。机器产生数据的速度和数量都远远超过人类,而机器数量未来也会必然远远超出人口的数量不止几个量级…… 面对未来不可想象地庞大的物联网世界,不可篡改的数据记录绝对不可或缺 —— 甚至可以说,没有区块链技术,未来的物联网世界不可能安全发展。所以说,区块链技术的确会改变世界。不过,至于区块链技术究竟在将来会把这个世界变成什么样子,今天的我们很难准确预测。历史证明,每次技术革新出现的时候,我们的想象力都极为匮乏,我们的预测能力都聊胜于无。三四十年前,人们想象互联网是这样改变世界的:到时候你给别人写信,就会变成这样:你在这边敲完,那边的打印机就自动把整个信件打印出来了……事实上,没有任何一个专家能在四十年前想象出我们今天可以拿着一个掌中设备坐在家里点两下一会儿外卖就送到门口了…… 所以,过多的预测和想象,实际上是徒劳无益的。6. 挖矿是怎么回事比特币这家世界银行想出来的维护账簿的方式是使用分布式网络,那么就需要吸引足够多的节点来参与 —— 节点数量越多,网络越安全。可问题在于:人家凭什么来参与呢?所以,比特币这家世界银行吸引大家参与分布式网络建设的方法是:每 10 分钟左右发一次 “红包”……这里的 “10 分钟”,是因为比特币这个分布式网络每十分钟要完成一个子账簿(就是一个区块),而后把这个新的子账簿附加到原来的总账之中(即,区块链)。生成、校验子账簿,并且确认无误地附加到原来的总账之中,这个过程需要网络中的节点贡献算力。而算力并不是白白贡献的,大家干活了之后,就可以参与 ”抢红包“!比特币这家世界银行通过不断地 “发红包” 完成了它的货币发行 —— 按照程序最初的设定,比特币这家世界银行(Bitcoin)要持续发红包 142 年!刚开始的时候每 10 分钟左右发 50 个比特币(BTC),以后每 4 年减半一次,每个 “红包” 里的比特币数量从 50 个减成 25 个,后来再减成 12.5 个,6.25 个…… 以此类推。比特币(BTC)总量为恒定的 2,100 万个 —— 红包全部发完之后,参与网络维护的节点依然可以通过分享网络转账手续费而获益。通过架设比特币节点获利的过程,被人们形象地称为 “挖矿”(mining),而参与建设节点的那些人被人们称为 “矿工”(miners)。因为 “抢红包” 是有一定运气因素存在的行为,所以,矿工们会集中挖矿,方式是把自己的节点算力集中到一个 “矿池”(mining pool)之中,以便增加自己抢红包时的运气。目前全球排名第一的矿池是币印矿池。十年前,比特币网络刚刚运行的时候,参与人数少,总算力也很低,那时候随便用一台笔记本电脑就可以 “挖” 出很多比特币 —— 当然,那时候的比特币也不值钱…… 第一笔比特币交易是,有人用 10 万个比特币买了 2 个披萨!上图来自:https://www.blockchain.com/charts/hash-rate?timespan=all时至今日,比特币网络算力已经大到惊人的地步,不使用专门定制的计算机(所谓 “矿机”)是很难 “挖” 出比特币的。矿机的发展,经过了 CPU 时代,GPU 时代,早就进入了 ASIC 时代,并且,从 128 纳米的芯片几经升级,目前已经有公司在研究 7 纳米、甚至 5 纳米的比特币挖矿芯片了。7. 比特币凭什么涨啊涨如果你能把比特币(BTC)理解为 “一个叫作比特币(Bitcoin)的分布式世界银行应用” 的股票,那么就比较容易理解比特币(BTC)的价格上涨趋势了。上图来自 https://www.blockchain.com/charts/market-price?timespan=all这个叫作比特币(Bitcoin)的分布式世界银行应用就好像是一家上市公司,它的核心业务只有两个部分:发行和记账。而它的价值取决于有多少人认同它、使用它 —— 在这一方面,地球上任何一家银行都如此。截至 2019 年,全球使用比特币的人数不超过 3000 万,相对于整个人口数量,这依然是个相当小的比例。所以,它还有很大的上涨空间 —— 只不过,在任何一个短期之内,上下波动都非常剧烈,所以,普通人参与投机的风险非常高。8. 区块链有没有被篡改的风险事实上,仅仅分布式管理本身,是无法做到 “无法篡改” 的 —— 顶多能做到的是 “很难篡改”。假设全网诸多节点中有 51% 的节点联合起来 —— 不管是善意还是恶意,反正都是故意 —— 那么这些节点 “合谋” 的结果就是该数据库不再是 “不可篡改” 的数据库。以上所描述的情况,就是所谓的 “51 攻击” —— 这并不是技术能够解决的问题。区块链的第一个应用,比特币,解决这个问题的方式,同样不是靠技术,而是靠利益驱动(博弈原理):若是真的有谁能够操纵 51% 的算力,那么他会发现,对他来说,“贡献” 远比 “攻击” 更有利可图。9. 小白如何购买比特币目前世界上对小白最友好的多币种钱包是 Mixin Messenger,它不仅支持你所能听说过的绝大多数数字资产收发与存储,并且使用极为方便。Mixin 下载方式:iOS国内用户,在 iTunes 下载 Mixin 畅聊版国外用户,在 iTunes 下载 Mixin MessengerAndroid国内用户,在腾讯应用宝下载,或者小米应用商店下载国外用户,在 Google Play Store 下载iOS 国内用户下载的 Mixin 畅聊版 需要添加小钱包机器人(ID: 7000101425)才能使用数字资产收发存储功能。在 Mixin 里提供 OTC 服务的是 exin,机器人 ID:7000101276。你也可以到 https://big.one 或者 https://b1.run,这是国内老牌交易所云币团队打造的有信誉保障的区块链数字资产交易所,可以使用 USDT 购买比特币,它也有 OTC 服务。另外,Big.One 的 Mixin 大群 ID 是:7000101910。再次需要提醒风险:区块链数字资产价格波动巨大,投资有风险,决策需谨慎!另外,对小白来说最靠谱的投资策略是定投策略 —— 至于具体应该如何操作,请移步《定投改变命运》(开源第三版)。区块链自从比特币横空出世之后,支撑比特币的底层技术,即区块链技术引起了巨大的关注。人们开始琢磨:“这个区块链技术还可以用在什么地方呢?” —— 当然,人们琢磨得最多的还有另外一个问题:“我应该如何获利呢?”1. 山寨币2009 年至 2017 年之间,至少有几千个山寨币出现,而后批量死亡。所谓山寨币,就是对比特币进行了事实上并没有什么用的改造,然后取一个什么名字,然后就发布的所谓下一个比特币,下一个机会……有一个山寨币,对比特币进行了最没用的改造 —— 只是把确认时间从 10 分钟改成了 2.5 分钟 —— 却最终顽强地活了下来…… 它叫莱特币(Litecoin)。也许是它的宣传语太吸引人了吧,它说,比特币是金,我们莱特币是银。于是,大量觉得自己错过了比特币的人,购买了莱特币…… 你看这世界多有趣,它总是有一定的容错机制。2. 公链2015 年年底,以太坊开始融资;2016 年,云币成了地球上第一个上架交易以太坊的交易所…… 2017 年,以太坊成了最火爆的区块链项目。以太坊想要解决的问题是什么?又,解决的足够好吗?历史证明,以太坊是一次并不成功的尝试 —— 它想要成为一个区块链技术应用平台,在这个分布式的 “计算机” 上,有它自己的编程语言;用这个特定的编程语言写的程序被称为 “智能合约”;人们可以在以太坊这个平台上发布各种基于区块链技术的应用…… 也就是说,它想要成为一条公链(Public Chain),顾名思义,就是公众都可以使用的区块链。以太坊所遇到的困难,其实是它尚未诞生之时已经被质疑的东西:使用 PoW 共识机制的一条 “公链” 就是难以承载真正有意义的大规模应用。即便是以太坊的 PoW 被设计成十几秒之内确认一次,不要高兴得太早,10 分钟和 10 几秒事实上没什么区别 —— 因为真正有意义的大规模应用需要的是每秒钟成千上万次确认才可以……缺陷最大的是以太坊独立设计的编程语言 Solidity,虽然最初的时候最大的宣传点是它 “图灵完整”,可事实上,并没有什么用,为什么呢?因为不管谁写的编程语言都一样,都难免有臭虫(bug)…… 可问题是,这种编程语言是用来写所谓 “智能合约” 的,这种程序是直接涉及到钱的,于是,只要有问题就会被攻击。以太坊上线没多久,有个叫作 DAO 的项目就被黑客攻击转移走了大量的资产,以太坊只好以 “紧急分叉” 来 “解决” 问题,于是遗留了一个今天人们不知道那是用来干什么的 ETC(Ethereum Classic),新的币叫作 ETH。虽然以太坊计划将共识机制从 PoW 更新为 dPoS,但它现在面临两个问题:1. 如此这般的话,那么只能再次分叉,新的币叫什么好呢?老的币又能干什么呢?对技术人员来说是困扰,对投资者来说是未知的风险;2. 基于 dPoS 机制的,有多线程支持的分布式计算平台 EOS 早已于 2018 年 6 月正式上线……3. 共识机制首先,在这里请注意,我们所讨论 “共识” 是网络中节点之间的共识,是机器与机器之间的共识,而不是人与人之间的共识。人与人之间的共识与区块链没有任何关系 —— “共识” 这个词常常被人们误用、滥用。这也是为什么我曾经戏谑地说 “傻屄的共识也是共识” 的原因。我想说的是,傻屄们死活搞不懂,那不是人与人之间的共识,然后吧,他们还总是不懂装懂……区块链本质上来看就是一个分布式管理的可不断添加记录却不能删除记录的数据库。由于是分布式维护,所以,每次添加记录的时候,要在网络节点之间达成共识,确认要被添加的记录有效之后才能进行添加操作。比特币所采用的共识算法是 PoW(Proof of Work,工作量证明机制),简单讲,就是网络中的节点根据自己的贡献获得权益,多劳多得。PoW 在比特币这个区块链技术的第一个应用之中是完美无缺的,可是,正如你所看到的,对野心在于 “创建一个分布式计算机” 的以太坊来说,PoW 就成了致命缺陷 —— 无论如何,这种机制的新记录确认速度就是满足不了现实需求。dPoS(Delegated Proof of Stake)是 PoS(Proof of Stake)的进一步改良。简单讲,就是你作为持币者,可以通过持有量和持有时间的多少获得权益。PoS 的问题在于,大多数持币者并没有专业知识,也不见得有足够的预算,于是,他们不见得能提供高性能节点所需要的计算机硬件和软件要求。于是,进一步改良的 dPoS 采用了基于投票选举的共识算法,持币者选出若干个节点来运营网络……小白对更多的技术细节可以直接跳过,需要弄明白的是,PoW 无法支撑公链的需求;而 dPoS 是 EOS 创始人 Dan Larimer 的创新概念,PoS 从 2014 年的 BitShares 时代就开始验证,后来经过若干次更新改进,变成了 dPoS。你可以将 dPoS 理解为一次为了平台性能相对于 PoW 而作出的妥协,而这个共识算法目前来看是公链的最靠谱选择之一。4. 山寨链正如曾经山寨币群魔乱舞一样,2017 年开始,各种山寨链神出鬼没。各种名称的共识机制漫天飞舞,Po 两个字母之后,从 A 到 Z,全被用光了,各种 PoX(Proof of something)…… 它们真的有存在的必要吗?这些山寨链欺负普通民众不懂编程,大面积抄袭,反正抄袭已经没戏了的以太坊不划算,于是只能抄袭已经证明为较为靠谱的 EOS。事实上,除了这两个项目之外,抄袭者们也没有什么其他的选择。正如当年山寨币除了抄袭比特币之外也没有任何其它选择一样。这世界是有容错机制的,山寨比特币的莱特币顽强存活到了今天;也许,那些抄袭 EOS 的各种项目之中,也会有那么一两个最终幸存?到底哪一个能够最终幸存我们没办法提前知道,但,我们知道的是,抄袭不可能超越。所以,山寨项目是留给那些想不明白的人的,不是吗?5. 目的与手段正如你所见,打造一个不可篡改的分布式数据库,是目的;而区块链技术,是达成这个目的的手段。再进一步,所谓共识机制,是区块链技术的一部分;除了共识机制之外,还有另外一个重要的组成部分,奖励机制 —— 否则人们不会自动对网络有所贡献。长期以来,所谓的技术创新基本上都聚焦在了如何改进共识机制之上,而奖励机制被默认为 “不可或缺” 的组成部分。人们以为,共识机制和奖励机制就好像是区块链这架马车的两个轮子一样,缺一不可。有没有可能去掉奖励机制呢?然而,在此之前,还要问另外一个问题:为什么要想办法去掉奖励机制呢?我们之前提到过,乍看起来区块链技术应该被应用到很多地方:在一些场景下,这个世界的确需要不可篡改的数据库技术。比如,法院的卷宗,交通部门的违章记录,工商部门的企业登记,民政局的婚姻登记,公安局的身份证,大学的毕业证,等等等等……你看,几乎所有的政务部门都需要不可篡改的数据库技术,可是,你不能让这些部门为了使用区块链技术而天天 “挖矿” 吧?关键矛盾在于,公共事务领域反正不是也不应该是靠利益刺激运行的。看来,在一些场景下,有必要去掉奖励机制 —— 可如何做到呢?冯晓东设计的 Mixin Network 提供了一个解决方案 —— 它的非商业非营利版叫作恒信网络(HengXin Network)。恒信网络是世界上第一个已被证明为可行的无币区块链解决方案。恒信网络通过使用 TEE(Trusted Execution Environment,可信执行环境)生成了一个由中心化管理渐进为去中心化管理的可以无需奖励机制的分布式网络。除了 TEE 之外,恒信还结合了 DAG(Directed Acyclic Graph,有向无环图)为基础,辅以 ABFT(Asynchronous Byzantine Fault Tolerance,异步拜占庭容错)算法作为解决方案,构造了一个成本低廉,易维护、易使用,性能高,兼容性强的不可篡改的分布式网络。TEE(Trusted Execution Environment,可信执行环境)的作用是,向公众证明网络中某个节点(或称服务器) “正在运行的代码” 的确是 “它声称正在运行的代码”。简单来说,你可以把具备可信执行环境的服务器理解为一个透明盒子,外部可以 “看到” 它内部正在运行的代码 —— 换言之,没有任何人能够在不被察觉的情况下改变这个透明盒子里正在运行的代码。网络设计者可以自己在网络上部署一定数量的“透明盒子”,如此这般构成一个 “类自治” 的分布式网络 —— 这个时候,这个网络虽然已然是分布式网络,但依然是中心化治理的,因为那些透明盒子是网络设计者自己部署的。然而,这时这个网络已经具备一定的 “自治” 特征,因为每个节点都是透明的,所以,即便是网络设计者本身也无法做到在他人不知情的情况下修改节点中正在运行的程序……再进一步,这个网络是开放的,任何人都可以使用具备可信执行环境的服务器加入网络充当节点 —— 这里的关键在于,加入者是因为需要这个网络、需要这个网络所提供的服务才加入的,而不是因为网络设计者对加入者有所激励 —— 需要注意的是,恒信网络没有奖励机制。加入者越多,网络越棒,安全性也会因此越来越高。当网络的节点达到一定数量之后,网络设计者可以撤掉自己当初部署的节点,把整个分布式网络全部交由自由加入的节点管理…… 至此,一个自治的、非中心化管理的分布式网络终于形成。恒信网络的商业版,Mixin Network 于 2019 年 2 月主网正式上线,迄今为止(2019 年 11 月)性能稳定;已无故障运行 9 个月。a. 支持大规模高并发与传统区块链不同,恒信网络使用的是 DAG(Directed Acyclic Graph,有向无环图)技术;它没有传统的区块概念,它以每一笔交易为单位,尽可能快的向整个网络进行指数级广播,与此同时,避免双花的是ABFT(AsynchronousByzantine Fault Tolerance,异步拜占庭容错)算法。于是,在恒信网络中,每条交易记录的确认,不再有时间瓶颈,TPS(Transaction Per Second)在恒信网络中是一个完全没有必要存在的概念 —— 恒信网络几乎和中心化服务器一样高效。b. 兼容各种其它公链由于恒信网络的核心只做记账,所以,理论上它能支持所有公链的资产管理。目前已支持的公链包括比特币、以太坊、EOS、Ripple 等 50 余条公链(数量一直在不断增加)。通过结合使用多重签名算法与异步拜占庭容错算法,用户的公钥与私钥管理被封装了起来,恒信网络的用户只需要通过最多试错 5 次的 6 位数字密码统一管理任何公链上的数字资产 —— 极大地降低了用户使用成本,同时也极大地提高了数字资产的易用性。c. 关于所谓智能合约与以太坊和 EOS 不同,恒信网络只做资产管理网络。至于所谓的 “智能合约”,在恒信网络中的解决方案是用户使用任何编程语言编写他们的程序,而后将这些程序开源,并运行在具备可信执行环境(具体来说,就是 Intel SGX)的服务器上,公开透明地运行这些程序。这么做的好处是,智能合约与恒信网络本身无关,恒信网络却能提供智能合约(其实就是各种程序)的完全透明运行环境。避开投资陷阱对小白来说,有个问题非常现实:小白是没有技术能力的 —— 于是,小白们最终只关心一个问题:我如何获利?可问题在于,投资这东西,对小白来说更为险恶……1. 钱包安全数字资产的钱包,每条公链都不一样,直接导致的结果就是小白们压根弄不明白到底应该用哪个,怎么用?所以,根据过往历史数据来看,绝大多数小白会直接把交易所当作钱包使用。小白们把钱充进交易所,而后买到各种他们想要买的币,而后就存在交易所 —— 因为提出去之后存在哪里呢?顶多,提到其它交易所……把交易所当作钱包用也不是不行,但,这里面的风险在于,绝大多数交易所做不到像当年的云币那样,从未出现过丢币的安全事故。交易所有真实丢币的,也有监守自盗的…… 所以,真不是随便哪一个交易所都可以当作钱包使用的。BigOne 倒是可以无负担推荐,因为它的确靠谱。经过多年的发展,区块链世界里的交易所也有了一定的创新,比如,链上交易所,FoxOne,一切交易都发生在链上,运营方没有作假的可能…… 关键在于,把这个交易所当作钱包使用,是没有负担的,因为按照他们的机制运营方无法动用用户的币。对小白来说,最为友好也最为安全方便的多币种钱包是 Mixin Messenger,在之前的章节中已经介绍过。事实上,最关键的地方在于密码管理。在这件事儿上不要省钱,一定要使用付费服务,比如,我使用的密码管理软件是 1Password。还要养成一个重要的习惯:绝对不能在多个服务或者网站上使用同一套用户名和密码 —— 必须为每一个服务设定独特的密码。怕忘?就是为了解决这个问题才使用付费的密码管理软件,1Password 会帮你生成独特的密码,并且由它来帮你记住。2. 不懂不投这个原则适用于任何人 —— 投资自己搞不懂的东西,那就是举着火把在炸药厂里散步,也许你还活着,但下一秒死掉的概率极高。千万不要误以为技术创新会自动转换为商业价值,千万不要误以为自己的认知已经高到足够保证自己获利的地步 —— 事实上,成功投资总是非常困难的事情,鲜有人做到。不要被 “xxx 今天涨了 50%” 之类的现象所吸引。由于目前区块链交易市场尚未被合规化,所以有很多项目的币是高度控盘的,控盘的人想让它涨它就真的能涨,想让它跌它就必然能跌,所以,若是你被这样的现象所吸引,那么十有八九你会成为 “杀猪盘” 的牺牲者。3. 只投大盘币如果你忍不住非要尝试投资,那么,有两个建议:做好长期打算只投大盘币短期投机难度非常大,绝大多数人的宿命是:“凭运气赚到的钱后来凭实力亏光了……” 所以,你只能选择长期。而后,在眼花缭乱的各种标的之间,究竟选哪个呢?在我看来,小白没什么其它的选择,要么 BTC,要么 EOS,没了!如果想要系统化的投资策略,那么先去认真阅读《定投改变命运》若干遍,除此之外也别无其他选择。4. 不要相信各种专家这个领域太新,又涉及技术,又涉及金钱,所以,这个领域里真正的专家少之又少,与之相对的,骗子数不胜数 —— 并且,你很少会见到专家说别人是专家,却总是见到骗子说别人是骗子。真假难辨!那怎么办?既然难辨,咱就不辨了呗!要么自己认真学习技术,认真研究市场;要么就干脆退一步只相信常识:脑子热的时候干什么都行,就投资不行!常识告诉我们,投资是只能在冷静的时候作出决策的。别怕什么 “被时代落下” —— 大家不都这样么?被落下没什么了不起的。再说,赚钱虽然很难,但,除了冒险投机之外,显然有很多其它可以赚钱的正常方式。5. 谨慎参与合约交易对于绝大多数不明就里的投机者来说,期货交易所就是个大赌场。加杠杆的期权、期货、合约交易都一样,是风险非常大的交易。专业的做法是在做现货交易的时候,使用期货对冲风险 —— 可绝大多数人只做期货,且不知其风险。参与期货交易还有另外一个巨大的风险,那就是交易所可能作恶。这非常可怕,因为你的仓位对交易所来说是透明的,在巨大的利益面前,有些交易所或者交易所内部的工作人员会做 “扎针” —— 就是操纵市场价格到恰好能让你爆仓的地步而后恢复价格…… 很多人明明知道自己是怎样吃亏的,却压根找不到可以说理的地方。所以,参与有杠杆的合约交易是你个人的选择,但有两个建议很重要:不要只做期货;选择靠谱的不作恶的交易所,比如 BTCMEX……本文来自链接:https://blockchainlittlebook.com扫码可以免费领取区块链全套学习资料发布于 2019-11-02 18:09区块链(Blockchain)投资比特币 (Bitcoin)​赞同 1​​添加评论​分享​喜欢​收藏​申请

【千锋】区块链从入门到精通(小白必看)_哔哩哔哩_bilibili

【千锋】区块链从入门到精通(小白必看)_哔哩哔哩_bilibili 首页番剧直播游戏中心会员购漫画赛事投稿【千锋】区块链从入门到精通(小白必看)

5.1万

28

2019-03-23 19:02:54

306741957232http://video.mobiletrain.org/

本视频是学习区块链开发的入门级内容。从事计算机相关工作,掌握计算机硬件、软件、网络的知识以及熟练操作Office办公软件是必备的能力。从事软件开发,无论哪种编程语言都会涉及到字符集及编码,都会用到html+css等前端开发的知识,都会用到数据库操作。知识校园学习入门区块链千锋

zj9540

发消息

为大家提供IT行业好的学习视频,多多关注,多多转发哦!

关注 9234

骷髅版本的传奇,高攻速,高爆率,爽就完了!视频选集(1/110)自动连播《区块链之新》第4集:以太坊,“世界计算机”?还是危机引爆者?三橙视频

16.4万

699

如何跟朋友解释区块链 两个通俗易懂小故事告诉你央视网

15.8万

49

《区块链之新》第1集:冒险从它开始三橙视频

22.9万

1216

【清华团队】区块链技术开发入门到精通视频教程无力取闹的小浣熊

7.5万

220

尚硅谷区块链全套教程完整版(深入掌握以太坊核心技术)尚硅谷

45.5万

5903

区块链从入门到精通极客CTO

3786

3

【实战】区块链从入门到精通实战视频公开课【全】Python区块链网络安全

6172

1

区块链入门知识WAlsx520

361

0

什么人能学区块链,需要什么基础?赛联区块链

1658

3

区块链从入门到精通-Go语言基础教程无力取闹的小浣熊

3811

0

【公开课】区块链从入门到精通视频(2017)【全】庄七

9.0万

137

区块链开发从零到实战孔子曰莫装逼i

4281

0

【 区块链 】人人都能写区块链!带你一小时搭建自己的区块链!(中文)贝叶斯派对

1.0万

13

Go与区块链supreme_AI

5812

5

【千锋区块链基础教程】人人都懂区块链RealWilliamWang

5662

9

区块链技术斜杠凉森

7122

5

快速入门区块链技术从零开始到彻底精通区块链(实战全集)图灵程序员

1.2万

10

区块链视频教程:玩转比特币-100百集教程带你飞弗罗里达锅

2144

2

区块链应用DAPP开发快速入门与案例演示itcast3

1.1万

21

1-区块链基础与应用长安链开源社区

8540

26

展开

小窗

客服

顶部

赛事库 课堂 2021

从小白到专家,如何成为一名区块链开发者?(附学习资源) - 知乎

从小白到专家,如何成为一名区块链开发者?(附学习资源) - 知乎首发于区块链 101切换模式写文章登录/注册从小白到专家,如何成为一名区块链开发者?(附学习资源)CoinDesk中文全球区块链与数字货币权威媒体。如今,一个出色的区块链开发者就像一种稀缺的商品,如同只有 2100 万枚的比特币那样弥足珍贵。在区块链这个早期行业,如果你已精通几门区块链编程语言,并对密码学、经济学等学科也十分熟悉,那么恭喜你,你取得这样的成就确实来之不易,你距离成为一名真正的区块链开发者不远了。但事实上,这样的人并不多。本文将告诉你,如何通过自学成为一名真正的区块链开发者。一、学习语言、读懂代码无论是公链、联盟链,无论是比特币、以太坊,还是超级账本(Hyperledger),每一个加密社区都有属于自己的拥护者和数字生态。然而,作为一名区块链开发者,你不需要考虑各个加密社区有何不同、投资哪种数字货币,你唯一要做的事,就是敲一手好代码。如果你能够创建一个没有 bug、让黑客无从下手的智能合约,那么,你永远都不会失业。中本聪(Satoshi Nakamoto)用 C++ 语言编写了比特币区块链,直到今天,它仍然是最流行和最通用的区块链编程语言之一,同样 EOS 的开发语言也是 C++,一个项目选择用 C++ 编写区块链底层,主要追求的是强计算性;加文·伍德(Gavin Wood)为以太坊创建了 Solidity 语言,使得众多开发者可以基于此创建一个丰富多彩的去中心化世界;Java、Python、JavaScript、Rust 和 Go 也都已在加密世界得以应用。据早前 Hard Fork 网站调研的一项数据显示,在 StackOverflow 上开发者提出的常见区块链相关问题中,以太坊主要官方语言 Solidity 占据榜首,JavaScript 与 Java 分列第二和第三位,Python 和 Go 语言则紧随其后。作为以太坊区块链最主要的官方语言,Solidity 语言的重要性已不用多说,如果你已加入拥有最多区块链开发者的以太坊社区,就必须掌握 Solidiity 这门语言了。但一定注意,从历年来黑客攻击事件可以看出,这门语言的坑比较多,更需要考验编程的功底。Java 语言不同于一般编程语言,它依赖各种不同平台上的虚拟机来解释、执行已预先编译好的字节码,从而可以实现“一次编写,到处运行”的跨平台特性。因此,一些区块链项目的开发往往对 Java 有着明显的依赖性。Python 是一种通用型编程语言,被誉为“胶水语言”,相比于 C++ 或 Java,Python 让开发者能够用更少的代码表达想法。在区块链项目中,bitcoin 库是 Python 的特色,从入门角度的考虑,Python 比 C、C++ 等语言具有更强的代入感,当前以太坊的 Python 实现也成为主流之一。Go 语言是谷歌 2009 年推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性,超级账本可以使用 Go 或 Java 或 Node.js 来开发智能合约,不过支持最好的还是 Go 语言。JavaScript 是一种可以被浏览器解析的解释型脚本语言,它不需要编译过程就可以直接执行,侧链项目 Lisk 就是一种基于 JavaScript 的高度可扩展公共区块链。Node.js 是运行在服务端的 JavaScript,其平台强大的网络编程能力对区块链的影响也十分巨大。尽管 Rust 语言未能上榜,但 Facebook 发行的 Libra、跨链项目波卡(Polkadot)、隐私币项目 Grin 等知名区块链项目都是基于 Rust 语言开发,这些都是近一年来非常火爆的区块链项目,所以 Rust 语言也不容小觑,需要了解。值得一提的是,作为以太坊较新的官方语言之一,Vyper 语言在逻辑上类似于 Solidity,在语法上类似于 Python,所以上手也十分容易。确实,供你选择学习的语言方向有很多。如果你想成为一名区块链开发者,却连一个智能合约都不知道怎么写,一个很好的起点就是参加一场黑客马拉松。在那里你可以和来自世界各地的区块链爱好者同场竞技、碰撞思想,当然,你肯定会得到现场专家的亲自指导,talk is cheap,show me your code!除此之外,参加开发者技术社区、线下沙龙、开发者大会等,也很不错。诸如此类的活动提供了一个理想的机会,可以结识志同道合的朋友,并获取有关如何进入该行业的经验指导。你永远不会知道你在某一场技术交流会上遇到的哪一个人有一天会成为这个行业内某独角兽公司的创始人,也许你就是那一个人。黑客马拉松、开发者大会以及线下沙龙绝对是新兴开发者与资深大牛进行思想碰撞和提高技能的绝佳场所,在这里,只有鼓励和共同探讨,而没有嘲笑。学校,不是唯一的学习场所你当初学的什么专业?如果可以回到过去,你会选择换一个什么专业?会不会像比尔·盖茨(Bill Gates)、史蒂夫·乔布斯(Steve Jobs)和以太坊创始人 V 神(Vitalik Buterin)那样,花点时间干一些其他更有成效的事。如今,虽然有一些领域,比如社会科学,学术学习是提升职业发展的最佳途径,但在科技领域却并非如此。在这个信息化时代,如果你想成为一名区块链开发者,除了学术学习之外(理论学习很关键),你还可以在 Stack Overflow、GitHub、YouTube 或是“V 神”(Vitalik Buterin)、安德烈亚斯·安东诺普洛斯(Andreas M. Antonopoulos)和宋净超(Jimmy Song)等行业大 V 的个人博客上,学到更多、更新的知识与技能。如果你确实能写一手好编码,没有人会关心你获得技能的地方。尤其是在区块链行业,当前国内外开设区块链课程的高校并不多,而且以理论学习居多。比如普林斯顿大学开设的一门关于比特币和加密货币的在线课程,尽管吸引了数十万人参与进来学习,尽管是免费的,也足足长达 18 个小时,但要想成为一名出色的区块链开发者,你需要更多途径和更长时间的学习与实战。尽管目前高校学习也许不是最快的学习方式,但系统、完善和正规的高校课程还是必不可少,如今二次学习也越来越普遍,重修一个计算机学位也不失为一种好的选择。当然,前提是你确实对区块链感兴趣,相信这个东西,相信它可以解决现有技术无法解决的问题,而且相信区块链不是万能的。自学能力,很重要自学能力很重要,尤其是对于想成为区块链开发者的你来说。区块链生态成长得太庞大、也发展得太快了,只掌握一门语言或熟悉某一条链,并不能维持你的竞争力。如果你有足够的自制力去抵制互联网五花八门、各式各样的诱惑,然后做到及时专注于区块链行业的发展趋势,你就会发现互联网是个十分适合自学者学习且资源充足的地方,你能找到所有适合开发者学习的工具和教程。如果想深入了解比特币,比特币开发者 Jameson Lopp 的个人网站就是个很不错的选择,在这里你更深入了解什么是比特币、什么是闪电网络,你可以用他们做什么。如果你想了解以太坊,不妨每天花几个小时去以太坊社区看一看,那里有全球最庞大的区块链开发者群体。如果你想知道超级账本能做什么,建议你去深入了解国内华为、百度、小米等科技公司用它做了什么,你可以在他们的开发者社区内畅所欲言、肆意进行思想碰撞。也许在未来,我们都将被机器人和人工智能所取代。但现在,区块链行业确实需要一群出色的技术开发者,靠他们去共建一个去中心化世界,从而解决现实世界一直未能解决的问题。如果那就是你,停止做梦并开始学习。这些资源,送你了为此,CoinDesk 中文(微信公众号 ID:coindesk_chinese)特意为你梳理了有关比特币、以太坊和超级账本的学习资源,如下:1、比特币比特币白皮书:https://bitcoin.org/bitcoin.pdf比特币官网(中文版):https://bitcoin.org/zh_CN/比特币源代码:https://github.com/bitcoin/bitcoinReddit:https://www.reddit.com/r/Bitcoin/Jameson Lopp 博客:https://www.lopp.net/书籍:《Mastering Bitcoin》斯坦福的在线课程:https://crypto.stanford.edu/cs251/syllabus.html普林斯顿在线课程:https://www.coursera.org/learn/cryptocurrency2、以太坊以太坊白皮书、黄皮书:https://github.com/ethereum/wikiSolidity 官方文档:https://solidity.readthedocs.io/en/latest/Truffle 官方文档:https://truffle.readthedocs.io/en/latest/Reddit:https://www.reddit.com/r/ethereum/书籍:《Mastering Ethereum》DApp 开发学习平台:https://cryptozombies.io/3、超级账本Fabric 官方文档:https://www.hyperledger.org/projects/fabric超级账本开发全系列教程:http://t.cn/Rec2eIXIBM 学习资料:https://www.ibm.com/blockchain/platform超级账本开发框架、开发工具合集:https://www.hyperledger.org/projects想成为一名真正的区块链开发者,不仅需要有扎实的编程技术,还要有灵活的区块链思维和足够丰富的实战经验,这才是未来企业真正需要的人才,也是你需要努力的方向。以上,是 CoinDesk 中文(微信公众号 ID:coindesk_chinese)为你精心准备的区块链学习资源,后续还有更多分享。敬请祈祷!编辑于 2019-10-31 13:24区块链(Blockchain)开发者学习​赞同 9​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录区块链 101重新系统性正确认识区块链技术的入

【区块链】小白入门:1分钟讲明白什么是区块链技术_哔哩哔哩_bilibili

【区块链】小白入门:1分钟讲明白什么是区块链技术_哔哩哔哩_bilibili 首页番剧直播游戏中心会员购漫画赛事投稿【区块链】小白入门:1分钟讲明白什么是区块链技术

1.3万

3

2018-03-05 15:17:50

727153168https://www.youtube.com/watch?v=MOzG2vyP6LI

了解区块链是什么知识财经商业入门涨姿势小白科普野生技术协会趣味科普人文投资区块链

无限咪咪

发消息

学习

关注 7632

骷髅版本的传奇,高攻速,高爆率,爽就完了!

接下来播放

自动连播【不看后悔系列】6分钟,用人话讲清楚区块链!裹小脚的大叔

91.8万

1694

什么是区块链,最通俗易懂的解释大肉包Jason学财商

2.3万

15

科普:三分钟带你认识区块链柴知道

23.2万

331

区块链凭什么成为改变世界的技术?欧科云链

9398

1

如何跟朋友解释区块链 两个通俗易懂小故事告诉你央视网

15.8万

49

一分钟了解什么是区块链技术Royal梦萦希

2784

0

5分钟了解到底什么是区块链区块链新说

5764

7

【千锋】区块链从入门到精通(小白必看)zj9540

5.1万

28

【区块链科普】央视:区块链被誉为21世纪能改变世界的技术之一爱尔卓普web3撸羊毛

5013

13

3分钟看懂区块链技术!华科闪云

562

0

一分钟告诉你,什么是区块链?逸仙李孔岳讲堂

593

0

「短知识」一分钟学知识-区块链技术AI科普站

156

0

区块链技术在跨境电商中的应用阿尔杰威尔迅

1757

0

科普:三分钟带你了解区块链是什么?Web3新趋势

981

0

小学生都能看懂的比特币底层逻辑认知投资

40.7万

813

5分钟搞懂“区块链”!看完妈妈再也不用担心我被骗了! <举人说16>江湖举人

37.4万

1469

区块链 | 区块链技术有哪些应用场景?帕帕科技喵

9249

2

区块链技术的发展历史区块链狂牛

545

0

区块链适合应用于哪些领域?道纪学院

8689

2

2分钟内让你彻底了解究竟什么是区块链技术 @柚子木字幕组柚子木字幕组

5.0万

73

展开

小窗

客服

顶部

赛事库 课堂 2021