1
区块链作为比特币的底层技术,在它疯魔之前,曾发生过哪些机缘的故事,推动其为人所知?在日前由路云区链主办的区块链技术论坛上,路云区链CEO丁浩介绍了区块链的前世今生。丁浩毕业于四川大学和华中科技大学,曾在华为核心网从事用户数据管理解决方案研发工作。
演说内容为丁浩第一人称自述,雷锋网整理如下:
2008年正好是全球经济金融危机最严重的时候,金融危机在美国达到高潮并向全世界蔓延。
2008年底,中本聪发表了一个关于他研究的电子现金系统的九页白皮书。2009年初,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了比特币的第一个区块——创世区块(Genesis Block),并将当天泰晤士报头版一则关于救助银行的新闻标题写入创世区块,这也代表着比特币诞生了。
中本聪在2009年1月向世界引入了未经测试的革命性的新概念:去中心化的点对点的网上货币,在没有任何资产担保、 内在价值或者中心发行者的情况下维持着价值。
可以把区块链想象成一个比特币的公共账本,这个账本:
1、存放在互联网的各个比特币节点上,每个节点都有一份完整的备份。
2、里面记录着自比特币诞生以来的所有比特币转账交易。
3、账本是分区块存储的,每一块包含一部分交易记录。每一个区块都会记录着前一区块的标识,形成一个链状结构,因而称为区块链。
4、当你要发起一笔比特币交易的时候只需把交易信息广播到网络中,矿工(形象的说法)把你的交易信息记录成一个 新的区块连到区块链上,交易就完成了。
1、如你只有十个币,而你居然发起了一笔转20个币的交易怎么办?
因为区块链上记录了所有的比特币交易记录,只需要回溯所有的和你账户相关的历史交易就能知道你这个账户上到底有多少余额,余额不对矿工是会拒绝记录你的交易。
2.如何保证你的账户不被冒名顶替?
数字签名技术。每个比特币账户都有公钥和私钥。你发起交易的时候用私钥对交易信息签名,矿工收到信息后用公钥检查一下签名就好了。
3.那么多矿工,如何决定该由哪个矿工生成下一个区块?
中本聪设计了一个数学问题,这个数学问题会耗费大量的计算机cpu时间才能得出答案,同时每一次得出的答案都会作为下一次计 算的初始条件进行技术。全世界的矿工一起来计算这个问题,谁先得出答案,他就可以用这个答案生成一个新的区块,再广播到网络中。
仔细思考下这个体系,会发现它几乎无懈可击。用户不能凭空造出比特币,只能挖矿获得;其次无法伪造交易,无法控制不属于你的账户。一旦交易被确认,几乎无法取消。
这里说“几乎”,是因为有“51%攻击”的存在。51%攻击条件非常苛刻,这里就不扩展开。
2010年,当发现了比特币的内置脚本系统后,有人在bitcointalk上发帖表示了惊讶和不解:“比特币的脚本让我有点紧张,这过于复杂了,而复杂是安全的天敌”。此君不是别人,正是后来成为中本聪继任者的 Gavin Andresen。
中本聪是如此回复他的:
我希望比特币在0.1版就能拥有稳定的架构,未来不需要再做底层改变。在过去几年设计比特币的过程中,我发现只有使用脚本系统才能完成我希望支持的各种复杂交易类型——担保交易、连带合同、第三方仲裁、多方签名等等。
放在今天,也许中本聪会直接说:“比特币需要脚本,有了脚本,就有了智能合约”。
这篇帖子短短9条,却可以堪称区块链技术发展史上的一次重要对话。
8楼有人问 “比特币的脚本系统是不是意味着用户可以发行自定义资产?”。此人ID是bytemaster,后来其创立了可以发行用户自定义资产的比特股。
区块链1.0支撑智能合约的脚本系统不完善,导致其应用在非金融领域十分困难——数学计算已经吞噬了全网80%的算力,每个区块的大小只有1M,能够记录的信息非常有限。因此,以太坊在比特币区块链的基础上进行了重大改进:
1、完善脚本系统,使智能合约能够应用在各种非金融领域;
2、平衡账目实现更加精细的账目控制;
3、底层协议保持简单。
本质上比特币网络事实上是一套分布式数据库,而以太坊则更进一步,可以把它看作是一个分布式计算机。区块链可以看作是计算机的内存,智能合约则是程序,而以太坊的矿工们则负责计算,担任CPU。人们必须为使用这个分布式计算机而付费。
传统的纸质合同只是规定了合同的内容,合同的强制执行依靠司法体系,而“智能合约+区块链”使得合同内容和金钱都以计算机代码的形式呈现,所以强制执行也被写入代码,而无需第三方。
全世界的节点共同执行智能合约代码,达成共识的基础算法(PoW/PoS)保证了结果的可信,因此区块链特别适合以下场景:
• 价值信息的交换
• 合约的自动执行(自治)
价值互联网不同于信息互联网之处在于,其上传递的是有价值的信息,而但凡有价值信息首先要解决的就是信任。
区块链因比特币而生,一般民众都将比特币简单地视为一种货币,但从根本上来说,区块链更是价值传输协议。相较于通常意义上的数字货币,区块链与互联网TCP/IP协议更为相似。只不过,TCP/IP协议为信息互联网而设计,区块链则为价值互联网提供了理论基础。
可以说,信任的问题到处存在,都可以用区块链来解决。
但在互联网上进行价值交换,需解决三个问题:一是确保价值交换的唯一性;二是如何确立价值交换双方的信任关系?三是如何确保双方的承诺能够完成依靠网络的自治机制(智能合约)而自动执行,而无需可信第三方的介入?
最后,关于区块链的具体应用场景问题,在此不赘述,可详见雷锋网此前报道《关于区块链的应用场景,这里可能有最具可行性的、最详尽的描述 | 2016TGPC》。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。