区块链原理是什么?如何开发区块链程序

介绍
区块链可以理解为是分布式数据库,读取数据,存储数据。特点是: 耐久性,稳健性透明性,不被破坏性。
这时有同学会问:“老师,别人家说区块链是个分布式账本,有奖励机制,可以通过挖矿获取奖励,怎么不一样?”,问题很好同学,说的也对,但是有局限性,针对比特币来说都符合,但是比特币那是区块链1.0时代,以数字货币为主要应用,可以理解为分布式账本,每十分钟出一个区块然后奖励一些比特币。但是这只是区块链应用中的一个,而且在区块链3.0超级账本中就没有奖励机制,也不止是记账,还有存图片,视频,文字等等,所以把区块链理解为分布式数据库更准确。
又有同学问了:“区块链1.0是比特币,3.0是超级账本,那2.0是什么?”,好问题,很认真,就是要这样,通过问题来驱动学习,区块链2.0是智能合约,也是现在比较主流的,像前一段时间养个宠物什么的,就是智能合约,目前基本上说区块链程序,就是指智能合约。这些内容在后面专栏文章中都会讲到。下面我们来看一下区块链的特点。


耐久性
比特币运行9年了,也没有出现什么大问题,而且它是自动运行的,源码大家都能看到,只要还有节点在,它就能一直运行下去,就算发生个地震,火山爆发也不会影响,没有云服务器的费用,不需要运维,能够长期持续下去。

稳健性
用大家熟悉的词“去中心化”来表示会更容易理解,但是它的本质是什么?大家可以思考一下,举个例子,津巴布韦这个国家通货膨胀导致货币贬值,原因就是津巴布韦政府超额发行货币,因为政府能控制发行货币可以理解为是货币中心,这样的话货币稳定不稳定就掌控在政府手里了,去中心化就是把货币中心去掉,没有单一的个体可以影响整个市场。

透明性:
建议大家可以到比特币官网: https://bitcoin.org/zh_CN/choose-your-wallet,下载一个钱包然后看到所有数据,从比特币诞生到现在,下图是中本聪在第一个创世区块中写的信息,
EThe T imes 03/Jan/2009 Chancellor on b rink of second b ailout for banks  。可以吧,够透明了,谁都能查看。


不被破坏性
这个可以理解为不可篡改性,是因为每一个区块里都包含两个hash值,一个是上个区块的Hash值,另一个是当前区块的Hash值,只要Hash值里面任何内容有改动,Hash值都会变,比如现在有100个区块,有人改了第53个,那么54到100的区块也都要跟着变动,也就是说54到100的区块的拥有者要去做改动,而且必须得到超过50%的区块拥有者的同意,大家才会把你改动的信息同步下来。


如何开发区块链程序:
现在说的区块链程序基本上就是指智能合约,开发语言是solidity,智能合约可以理解为在区块链上部署用solidity编写的应用程序,至于solidity这个开发语言学习起来也容易,需要掌握它的:
  1. 变量类型,定义,使用
  2. 函数定义,传参,返回参数
  3. 流程控制
  4. 循环
  5. 初始化,构造函数
  6. 生命周期
  7. 类定义,继承
solidity是需要编译的,了解这些基本就可以开始写了第一个智能合约了,其它的特性等练习过程中自然就学习到了。


总结:
介绍了区块链的特性: 耐久性,稳健性透明性,不被破坏性
智能合约的开发语言:solidity
区块链的三个时代:比特币1.0,以太坊2.0,超级账本3.0
互联网时代大家可能是996,早上9点工作到晚上9点,一周工作6天。
区块链时代是8247,早上8点工作到晚上24点,一周工作7天。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙启超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值