1、前言区块链作为一种架构设计的实现,与基础语言或平台等差别较大
区块链是加密货币背后的技术,是当下与 VR 虚拟现实等比肩的热门技术之一,本身不是新技术,类似 Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现
无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品
与此同时,梳理与之相关的知识图谱和体系,帮助大家系统的去学习研究
2、基本概念区块链的概念最近很火,它来自于比特币等加密货币的实现,但是目前,这项技术已经逐步运用在各个领域
什么是区块链技术
为了感性认识这个问题,我们可以使用谷歌地球的例子做类比,ajax 不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P 网络等组合在一起,就诞生了比特币
技术人员,特别是 Web 开发工程师,学习了解 ajax 技术最早是被谷歌地球酷炫的效果所吸引
而现在,历史再一次重演,很多人被比特币的疯狂发展所吸引,进而开始研究其背后的技术——区块链
区块链原本是比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息,每条记录从后向前有序链接起来,具备公开透明、无法篡改、方便追溯的特点
实际上,这种特性也直接体现了整个比特币的特点,因此使用区块链来概括加密货币背后的技术实现是非常直观和恰当的
区块链是一项技术,加密货币是其开发实现的一类产品(含有代币,也有不含代币的区块链产品),不能等同或混淆
与加密货币相比,区块链这个名字抛开了代币的概念,更加形象化、技术化、去政治化,更适合作为一门技术去研究、去推广
所以,目前当大家单独说到区块链的时候,就是指的区块链技术,是实现了数据公开、透明、可追溯的产品的架构设计方法,算作广义的区块链
而当在具体产品中谈到区块链的时候,可以指类似比特币的数据存储方式,或许是数据库设计,