源码

不浮躁!区块链小型极客场


11月北京金秋阳光灿烂,1110CVP沙龙有幸请到了全球顶级C++开发者Ian Knowles,和我们相约一场不浮躁的区块链智能合约技术原理小型极客场。

微信图片_20181110214159.jpg

Ian首先向我们讲解了他的软件制造平台与方法论。传统我们开发软件,就像搭房子,不同部分有不同需求,但是如果没有合理架构,会导致发生很多浪费,同时还有很多前后端沟通上,人工输入代码上的错误。

微信图片_20181110214145.jpg
微信截图_20181110214455.png
 

智能合约之父Ian即兴演奏


而Ian关注到目前这方面的不足,开发了一套软件制造系统。利用这个系统可以不需要人工输入代码,不需要高级的设备,完成一个软件的制造。他还专门给大家实际演示了如何使用这个系统,从零开始进行开发。只需要选择要开发的内容,进行一些具体设定,之后系统会自动生成代码。这些代码十分简洁高效,备注完善,而且可以根据实际功能的ID具体查到对应代码的位置。同时他还向我们演示了其内部逻辑之一,关于许可权限的管理。也就是管理员可以通过设置权限,允许或者禁止其他使用者发布或者修改内容。

他也提到因为时间有限,他并没有展示整个系统的强大能力,而只是展示了最重要的部分,即大幅简化开发步骤,省略了人工输入代码。

微信图片_20181110214149.jpg

除了在软件开发方面有所建树,Ian还是个智能合约专家。智能合约的概念,最早由身兼电脑科学家、密码学家的 Nick Szabo 在 1994 年提出,他在当时提出主要的运作方式,只可惜并没有合适的环境实现。尽管关于“图灵完备”智能合约平台例如以太坊已经讲过很多,但可能很多人还不知道比特币本身包含一个 “图灵非完备”智能合约语言,叫做脚本。Ian就我们详细介绍了几个使用比特币脚本实现的智能合约,每一步都执行了什么脚本开始,到堆栈中加入了什么内容,这样一步一步详细解释。

包括基本的比特币交易,堆栈中包括签名和公钥两部分,通过对公钥进行哈希运算与对比,确认一笔交易是否成功。本身这种交易方式都是完全固定的,但是可以通过P2SH (pay to script hash)脚本对交易进行修改,整体交易过程和基本的比特币交易类似,但是在脚本中可以添加内容,这些内容会放到堆栈中,并通过脚本验证。

微信图片_20181110214141.jpg

微信图片_20181110214154.jpg

还有一个有意思的智能合约,可以锁定自己的比特币一段时间,比如一年。防止自己不小心交易出去。它也是通过签名,公钥,以及公钥的哈希进行,多了一项可以自己定义的时间内容。

最后是一项很有意思的智能合约,叫原子跨链转移,通过它可以在不同公链间进行交易。Ian就给我们具体展示了如何在比特币与莱特币之间的交易。提出交易的双方需要有自己的私钥,自己的收币地址,还有交易不成功时需要的退币地址。双方需要发送自己私钥哈希,收币地址,以及一个限制的时间,超过这个时间就认为交易不成功,返回货币。通过先对比私钥哈希,以及一步步双方进行确认,最终实现了跨链交易。

微信图片_20181110214135.jpg

之后是《区块链启示录 - 中本聪文集 THE BOOK OF SATOSHI》的译者胡繁,为我们讲述了比特币背后的故事。从比特币的产生背景——美国次贷危机开始,讲到一开始创造比特币的目的,并不是出于阴谋或者割韭菜,而是正如其白皮书所说,创建一个不需要第三方就能交易的货币系统。只是由于被推广炒作,以及一些自由主义者的推崇,导致现在价格波动剧烈,失去了其原有的设计目标。

微信图片_20181110214130.jpg

触控科技VP Jane主持圆桌互动

大家还对于区块链进行了热烈的讨论,有人询问关于区块链技术的入门学习方法书籍,有对于区块链如何应用的讨论,还提到消耗电力挖比特币究竟有什么价值,并且探讨了不同共识算法分别对效率,去中心化等问题的优劣之处。在激烈的讨论后,大家合影留念。

集体合影留念

微信图片_20181110214123.jpg
未标题-1.png

 

放眼未来,区块链技术应该会继续演化、走向成熟,如互联网一样,或许区块链熊市,才最好的入场机会?让我们期待下次寒冬中的CVP沙龙~ (想听什么内容,可以留言哦)

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/bufuzaoqukuailianxiaoxingjikechang.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:11 月 12, 2018 at 01:00 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复