五分钟搭建你的第一个区块链应用

本文介绍了区块链技术的重要性,通过讲解比特币和区块链的关键技术,如PoW算法,引入了以太坊的智能合约概念。接着,文章展示了如何使用超级账本项目搭建一个简单的区块链银行转账系统,包括Fabric和Composer的安装步骤,以及业务网络、链码的创建和部署。最后提到了行云趣码开发云平台,提供全云端的区块链应用开发环境。
摘要由CSDN通过智能技术生成

为什么要学点区块链知识?看看马云在刚刚过去的第二届世界智能大会上怎么说。 

 周朋   行云创新 

                  

                  

                  

                  

                  

言归正传。

 提起区块链,人们自然会想到比特币。比特币或许是泡沫或许不是,但比特币背后的区块链技术绝不是泡沫,且极具颠覆力。今天各大科技巨头 都在积累区块链技术和专利。山雨欲来风满楼,区块链技术应用场景的爆发即使不在当下,也近在眼前。区块链开发人员的薪水也已登上了金字塔尖,这才是我们要学习区块链技术的真正原因。

 本文将首先介绍比特币和区块链背后的关键技术点,然后解释以太坊智能合约对区块链技术的改进,最后讲解如何使用超级账本项目创建简易的区块链银行转账系统。

 该区块链银行转账系统已同步发布在了 [ 行云趣码开发云平台 ] 的应用商店,在开始接下来的阅读之前,您可以先登录平台部署并感受一下该系统。

http://mart.cloudtogo.cn/app/detail.html?appId=A18060706112077200000010143570  (PC浏览更美好!)

从拜占庭将军说起

拜占庭将军(Byzantine Generals Problem)问题,是 Leslie Lamport 1982 年提出用来解释一致性问题的一个虚构模型。拜占庭是古代东罗马帝国的首都,由于地域宽广,守卫边境的多个将军(系统中的多个节点)需要通过信使来传递消息,达成某些一致的决定。但由于将军中可能存在叛徒(系统中节点出错),这些叛徒将努力向不同的将军发送不同的消息,试图会干扰一致性的达成。

 


拜占庭问题即为在此情况下,如何让忠诚的将军们能达成行动的一致。这是分布式系统核心问题之一。拜占庭问题之所以难解,在于任何时候系统中都可能存在多个提案(因为提案成本很低),并且要完成最终的一致性确认过程十分困难,容易受干扰。但是一旦确认,即为最终确认。


比特币网络中的矿机 

比特币网络的唯一功能就是"转账",该系统中比特币的上限被设定为2100万个。这些比特币是如何被"挖"出来的呢?答案是记账奖励。比特币网络中的矿机(计算机)就是记账员,记账员每完成一次记账就能获得一定的比特币奖励,俗称挖矿收入。

比特币产生速度每4年减半,所以挖矿获得的比特币会越来越少,直到零。之后需要从转账者那里收取转账手续费维系矿机的运转,就像普通商业银行收取用户转账的手续费。

 比特币网络中的矿机,其角色等同于拜占庭问题中的将军。当用户发起比特币转账时,矿机就会试图就该交易达成共识,就像拜占庭将军们一样,达成共识需要有矿机发起提案,有矿机进行表决(背书),在比特币网络中只有发起提案的矿机才能获得挖矿收入。谁会获得发起提案的机会呢?



比特币的区块链网络在设计时提出了创新的 PoW(Proof of Work)算法思路。一个是限制一段时间内整个网络中出现提案的个数(增加提案成本),另外一个是放宽对最终一致性确认的需求,约定好大家都确认并沿着已知最长的链进行拓宽。系统的最终确认是概率意义上的存在。这样,即便有人试图恶意破坏,也会付出很大的经济代价(付出超过系统一半的算力)。

 矿机都在争夺提案的机会,他们同时求解同一道数学题,最先交卷的矿机将赢得本次提案的机会。数学题(示意版)如下:

hash (上一个区块的hash值 + 随机数) < 00000000000FFFFFFFFFFFFFFFFFFFFF

比赛开始后,矿机把上一个区块的hash值加上不断尝试的随机数,重新计算hash,直到hash的结果小于某个值时,求解成功。比特币网络会自动调整求解难度,即调整不等式右边hash值的大小,把提案频率控制在10分钟左右。


以太坊的智能合约

智能合约(Smart Contract)是以太坊中最为重要的一个概念,即以计算机程序的方式来缔结和运行各种合约。最早在上世纪 90 年代,Nick Szabo 等人就提出过类似的概念,但一直依赖因为缺乏可靠执行智能合约的环境,而被作为一种理论设计。区块链技术的出现,恰好补充了这一缺陷。

 智能合约作为运行在以太坊虚拟机(Ethereum Virtual Machine,EVM)中的应用,可以接受来自外部的交易请求和事件,通过触发运行提前编写好的代码逻辑,进一步生成新的交易和事件,可以进一步调用其它智能合约。智能合约的执行结果可能对以太坊网络上的账本状态进行更新。这些修改由于经过了以太坊网络中的共识,一旦确认后无法被伪造和篡改。



比特币网络中的转账和以太坊的智能合约,类似功能机和智能手机,前者只能运行预置的软件(比特币网络的转账),后者可以安装各种APP (以太坊的智能合约)。智能手机带来的颠覆无需赘言,同样,只需看一下ICO市场的躁动就能窥见智能合约带来的改变。

私有链和超级账本项目

由IBM和Linux基金会主导的超级账本(Hyperledger)项目,是开发私有链和联盟链的不二之选。该项目下有很多子项目,比如最重要的Fabric项目,提供区块链运行的基础支撑;Composer项目简化了智能合约(Hyperledger中称为chaincode)的开发和部署。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值