硬核“拆解”比特币

2020-07-22 17:58 栏目:经验之谈 来源:网络整理 查看()

上节课,我们将区块链的发展分为三个阶段:密码货币、可编程区块链和价值互联网。在第一阶段,比特币是主要的加密货币。今天,我们将通过比特币详细解释密码货币的构成,并对比特币进行“操作”。让我们看看比特币系统是由什么组成的。

2009年1月,比特币系统论文发表两个月后,比特币系统正式运行并开放源代码,标志着比特币网络正式诞生。通过一个开放、透明、分散和防篡改的分类账系统,比特币进行了前所未有的密码货币实验。在区块链1.0阶段,区块链技术的应用主要集中在密码货币领域,其典型代表是比特币系统和衍生自比特币系统代码的各种密码货币。

密码货币的“疯狂”发展吸引了人们对区块链技术的关注,这极大地促进了区块链技术的传播。人们开始尝试在比特币系统上开发除密码货币之外的其他应用,如存单和股票众筹。然而,作为一种为密码货币设计的特殊系统,比特币系统存在以下问题:

硬核“拆解”比特币

比特币系统内置的脚本系统是专门为密码货币交易设计的,它不是图灵完备的脚本,表达能力有限。因此,在开发证书存款和股权众筹等应用时,有些逻辑无法表达。此外,大量开发需要在比特币系统内部完成,对开发者要求高,开发难度大,因此不可能开发大规模的非密码货币应用。

世界上比特币系统每秒只能支持7笔交易。交易记账后,增加6个模块来安全确认交易。添加一个块大约需要10分钟,这意味着确认事务大约需要1小时,这不能满足实时性要求高的应用程序的需要。

针对区块链1.0存在的特殊系统问题,为了支持众筹、可追溯等应用,区块链2.0支持用户自定义的业务逻辑,即引入智能合同,极大地扩展了区块链的应用范围,并开始在各行业迅速落地,大大降低了社会生产和消费过程中的信任和协作成本,提高了行业内部和行业之间的协同效率。典型代表是2013年推出的以太网系统。

例如:保险业

在智能合约系统的支持下,区块链的应用范围开始从单一货币领域扩展到其他涉及合约共识的金融领域,区块链技术首先出现在股票、清算和私募股权等许多金融领域。例如,企业股权众筹一直是许多中小企业的梦想,而区块链科技已经将它变成了现实。区块链分布式分类账可以替代传统的交易所股票发行,使企业可以通过分布式自治组织进行合作和运作,借助用户的集体行为和集体智慧得到更好的发展,并在运作的第一天就筹集资金,而不需要经过复杂的IPO过程和产生高额费用。

不同的区块链体系采用不同的共识方法来提高区块链的绩效。例如,以太网采用了改进的工作负载证明机制,将阻塞时间缩短到15秒,这可以满足大多数应用。以太网将来采用的PoS一致性算法可以进一步提高区块链的性能。

比特币是一种基于P2P架构的数字现金系统:其架构一般分为两部分,一部分是前端,包括钱包或图形界面;另一部分是运行在每个节点上的后台程序,包括挖掘、区块链管理、脚本引擎和网络管理。比特币架构如下图所示:

硬核“拆解”比特币

今天,我们将进一步了解比特币的前端构成。

比特币前端

1.比特币前端钱包

钱包存储用户的私钥数据库,管理用户的余额,并提供比特币交易(支付和转账)功能。一般来说,钱包可以分为冷钱包和热钱包。

冷钱包是指其私钥不能被互联网访问的钱包。冷钱包通常依靠“冷”设备来确保比特币私钥的安全性,例如电脑、手机和上面写有私钥地址的小型笔记本电脑。冷钱包避免了黑客窃取私钥的风险,但它可能面临物理安全风险,如计算机丢失和损坏。

热门钱包是指可以在互联网上访问私钥的钱包:热门钱包通常是在线钱包的形式。使用hot wallet时,最好在不同的平台上设置不同的密码,并启用二次身份验证,以确保您资产的安全。

就部署场景而言,钱包可以分为四种类型:移动钱包、桌面钱包、互联网钱包和纸质钱包。

移动钱包是指运行在智能手机和移动终端上的轻量级钱包。

桌面钱包是指在普通电脑上运行的钱包。

互联网钱包是指依靠第三方平台保护用户密钥的钱包。

纸质钱包是指私钥的冷备份,可以用来防止因计算机或USB介质损坏而造成的私钥丢失,也可以防止黑客通过网络攻击窃取私钥,但必须防止纸质钱包被物理窃取或复制。

2.比特币前端——超文本传输协议

JSON-RPC是一个无状态的轻量级远程过程调用协议。该规范主要定义与处理相关的数据结构和规则,它独立于传输模式,可用于套接字、超文本传输协议或各种消息环境。它只是将JSON(RFC 4627)作为数据格式。

比特币通过接口为比特币节点的外部控制提供了一个HTTP/JSON RPC API接口。默认情况下,服务器只能由同一台机器上的客户端访问。用不同语言编写的程序可以通过超文本传输协议访问比特币节点。例如,比特币客户端是一个轻量级的Java客户端程序。

3.比特币前端-命令行工具

比特币cli提供了一个命令行工具来控制比特币节点。命令行工具通过JSON RPC API接口访问比特币后台。用户可以通过发出命令来完成比特币的各种功能,如查询余额、支付、转账等。

4.比特币前端-比特币浏览器bx

比特币提供了一个跨平台的C libbitcoin库,它支持作为客户端命令行工具的比特币全节点服务器和浏览器。比特币浏览器命令提供与比特币cli相同的基本功能。与此同时,bx提供了一些比特币cli所没有的关键管理功能和处理工具。

5.比特币前端——图形开发工具(Qt)

比特币最广泛使用的客户端是使用开源用户界面开发工具Qt开发的桌面客户端。

Qt是一个跨平台的C语言图形用户界面应用框架,它为开发人员提供了构建图形用户界面的必要功能,并被广泛用于开发图形用户界面程序和非图形用户界面程序。Qt完全面向对象,易于扩展,并且允许真正的组件编程。

这都是为了拆卸比特币前端!下节课,我们将拆解比特币的后端,看看比特币系统强大的自运行能力是如何实现的。请期待~

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发