主页 > imtoken.im官网 > 区块链基本原理及其技术实现 - 蒋家志 | JTalk 问题 5

区块链基本原理及其技术实现 - 蒋家志 | JTalk 问题 5

imtoken.im官网 2023-02-04 06:18:43

编者按:本文为比特大陆讲师蒋家志,在掘金技术社区主办的“区块链技术开发者指南|JTalk掘金线下活动第五期”活动中分享并组织。掘金JTalk迄今为止已经举办了5届,每届JTalk都会邀请来自垂直行业的优秀工程师分享他们优秀的实践经验、技能和方法。旨在为开发者提供线下技术交流和互动机会,帮助开发者成长。

比特大陆哥白尼项目负责人蒋家志;BCH社区资深开发者;10年后端技术和互联开发经验,比特大陆Android和iOS客户端开发者;从事区块链底层协议研究,专注于高性能、分布式系统的开发。

现在所有的区块链项目都有一个很大的性能问题,需要从技术角度加以克服。这是我们团队关注的方向。此外,整个区块链行业发展的很大一部分动力来自于密码学。我们还有一个任务是在工程中实施密码学的一些想法和研究。

我从 2013 年开始接触比特币。当我第一次接触比特币时,我几乎每晚都失眠了将近两个星期。我以为2015、2016年,比特币应该可以普及到很多人,但是经过14、15年的熊市,我觉得可能还要再推迟几年。出乎意料的是,2017 年见证了区块链的大规模普及。

今天给大家分享一下区块链的基本原理和技术实现。

2009年如何购买比特币_2009年获取比特币方式_2009年淘宝买了比特币怎么保存

1. 什么是区块链?什么是区块链?

很难给出区块链的完整定义,原因有二:

现在区块链涉及的行业太多,很难给出一个非常明确的定义。基本上,区块链每隔一段时间就会发生很大的变化,你可以在上面做出更多有趣和有趣的事情。

2009年淘宝买了比特币怎么保存_2009年获取比特币方式_2009年如何购买比特币

区块链如何运作 区块链功能

区块链是基于资产的网络。无论你现在看到什么区块链项目,都有一个资产网络在运行。

加密、签名、验证、交易和确认等强规则网络操作。如果任何块不符合规则,则整个块被拒绝。在互联网项目中,当出现不一致时,有后续修复和解决的机会;但在区块链中2009年获取比特币方式,这种可能性非常低。如果出现一个小bug,整个网络就会出现问题,对整个网络的影响很大。早期,比特币有几个bug导致分叉,整个网络暂停重启。但是现在如果再次出现类似的bug,那将是非常严重的,因为当时比特币网络的参与者很少,而且比特币的价格很低,影响也很小。在弱信任中,每个节点都有一个等价的,而整个区块链被理解为一个数据库,每个节点都有写入系统的权限。在互惠的前提下,比特币利用算力来决定谁可以写得更多。如果你有更多的资源,能调动更多的算力,写出来的概率会很高。信任来自共识机制,非第三方共识机制包括POW、POS、DPOS、DAG。DAG 是一种已被密码学家认可的共识机制。去中心化现在很多区块链项目都向弱中心化发展,弱中心化的好处也可以带来点对点的信任关系。这个信任网络可能产生的经济价值可能比之前的中心化网络更大。来的价值。区块链使用 2. 区块链技术实现公钥和私钥。我们使用的加密网络和 VPN 都是公钥和私钥系统。比特币私钥本质上是随机数,但是这个随机数非常大。有2256个私钥,不可能遍历所有私钥。钱包中生成私钥后,理论上私钥被别人击中是有可能的,但在实践中是不可能的,概率很小。

2009年淘宝买了比特币怎么保存_2009年获取比特币方式_2009年如何购买比特币

全网采用secp256k1算法。中本聪在设计比特币时,一些加密库的实现得到了美国政府的批准,他认为这并不是特别可靠。Hash Hash是一种散列算法,相当于数据的指纹。我们无法从 Hash 中推断出原始数据是什么,因此可以保护原始数据。如果原始数据一致,则哈希是一致的。不同原始数据的Hash值发生冲突的概率很小,基本可以认为是不一致的。数字签名从原始数据中计算出对应的Hash,并用私钥进行签名。当验证者得到原始数据和签名数据后,就可以从原始数据中计算出Hash。得到哈希和公钥后,并签署签名,一起验证数据。这在互联网上也很常用,在电子邮件中使用 PGP 加密也是类似的。在整个区块链中,签名是一种所有权验证的方法。在整个区块链中,最重要的就是私钥。如果你以后使用钱包,你必须确保你的私钥。但这是一件非常麻烦的事情。大多数人可能对公钥和私钥知之甚少。将少量资金存入在线钱包可能会更好。还有许多在线钱包提供商。例如,交易所是一个大型在线钱包。在整个区块链中,最重要的就是私钥。如果你以后使用钱包,你必须确保你的私钥。但这是一件非常麻烦的事情。大多数人可能对公钥和私钥知之甚少。将少量资金存入在线钱包可能会更好。还有许多在线钱包提供商。例如,交易所是一个大型在线钱包。在整个区块链中,最重要的就是私钥。如果你以后使用钱包,你必须确保你的私钥。但这是一件非常麻烦的事情。大多数人可能对公钥和私钥知之甚少。将少量资金存入在线钱包可能会更好。还有许多在线钱包提供商。例如,交易所是一个大型在线钱包。

由于私钥是要自己保护的,所以从早期就存在私钥问题,就是无法找回密码,或者没有备份等等。早期有人挖比特币。计算机上有 5,000 和 8,000 个比特币。一段时间不使用计算机后,可能会丢失所有内容。整个比特币网络有2100万个币,估计有五六百万个币找不到了。地址现在很多区块链项目都在使用地址,地址是通过哈希算法计算出来的。在没有发币的情况下2009年获取比特币方式,该地址可以保证你的公钥不会被外界看到。您仅使用该地址接收硬币。公钥不会在网络上公开。公钥只会在您发送硬币时公开。这样做的好处是有一天有人破解了算法,可以从公钥中推导出私钥。如果不暴露公钥,就无法计算出私钥,增加了一层保护。交易 比特币交易分为输入和输出。输入是给你硬币的地方,输出是你的硬币要发送的地方。每笔交易都必须有输入,因为如果没有输入,就等于不知道钱从哪里来。除了挖矿产生的交易,这个交易是整个共识规则产生的奖励,这个交易没有输入,这就是比特币的发行。事务本身具有锁定和解锁脚本。网络上没有地址。仅涉及锁定脚本。根据锁定条件有相应的解锁条件。两者可以一起使用以使用您的硬币。脚本运行 脚本在堆栈上运行。当它遇到一个脚本操作符时,它会执行相应的操作。如果它遇到数据,它会将数据放入堆栈。最终的结果是确保整个堆栈正确执行。如果一个条件不满足,整个事务就无法运行。这就是为什么整个比特币协议只关心锁定条件是什么,能不能想出相应的解锁条件。能满足解锁条件,里面的资产就可以使用,不能满足就不能使用。UTXO 和账户的每一笔交易都有一个输入和输出,但每个输出可能暂时不用,也可能一年后使用。如果不是,它将存在于整个系统中。这种结构叫做UTXO,也就是比特币使用了UTXO的概念,UTXO在整个系统设计中更容易实现去中心化的特点,但是以太坊采用的不是UTXO的概念,而是我们很容易理解的账户的概念,相当于你的私钥生成地址,也就是你的账号,你可以一直使用这个账号,所有的操作和所有的记录都在这个账号下。

为什么会有UTXO和账户的概念,这里介绍一下UTXO和账户这两个系统带来的一些好处。Block Block Header 包括基本数据、交易列表和交易确认。矿工将相应的交易放到区块上,就是对交易的确认,因此区块的概念在整个系统中被广泛使用。所有区块加在一起形成区块链的概念。3.比特币布雷顿森林体系解体后,美元的购买力下降了约98%。

2009年获取比特币方式_2009年淘宝买了比特币怎么保存_2009年如何购买比特币

在津巴布韦,我们小时候看课本,推着一车钱买东西,最后把钱扔了,推着车走了。津巴布韦目前处于这种状态,通货膨胀持续,导致法定货币体系基本崩溃。俄罗斯在过去几年也经历了货币的大规模贬值,有一段时间贬值幅度在50%左右,委内瑞拉也是如此。印度去年用新的货币体系取代了旧的货币体系,通过这种方式,国内生产总值都下降了一点。世界历史上有许多国家发生过这样的事情。什么是比特币?数学保护的财富比特币系统Proof of Work PoW的三大特点体现在计算哈希值小于给定值,目标值由全网维护。如果算力大,还是目标值。不够的话,10分钟肯定出不出块。这时,目标值必须增加。目标值越大,需要的计算能力就越大。这就是为什么现在整个网络的计算能力如此之大。比特币仍然保留大约 10 分钟。链结构体现在区块和交易中。在去中心化系统中,没有任何一个组织可以完全封锁整个网络或控制整个网络。矿业 目标值由全网维护。如果算力大,还是目标值。不够的话,10分钟肯定出不出块。这时,目标值必须增加。目标值越大,需要的计算能力就越大。这就是为什么现在整个网络的计算能力如此之大。比特币仍然保留大约 10 分钟。链结构体现在区块和交易中。在去中心化系统中,没有任何一个组织可以完全封锁整个网络或控制整个网络。矿业 目标值由全网维护。如果算力大,还是目标值。不够的话,10分钟肯定出不出块。这时,目标值必须增加。目标值越大,需要的计算能力就越大。这就是为什么现在整个网络的计算能力如此之大。比特币仍然保留大约 10 分钟。链结构体现在区块和交易中。在去中心化系统中,没有任何一个组织可以完全封锁整个网络或控制整个网络。矿业 目标值必须增加。目标值越大,需要的计算能力就越大。这就是为什么现在整个网络的计算能力如此之大。比特币仍然保留大约 10 分钟。链结构体现在区块和交易中。在去中心化系统中,没有任何一个组织可以完全封锁整个网络或控制整个网络。矿业 目标值必须增加。目标值越大,需要的计算能力就越大。这就是为什么现在整个网络的计算能力如此之大。比特币仍然保留大约 10 分钟。链结构体现在区块和交易中。在去中心化系统中,没有任何一个组织可以完全封锁整个网络或控制整个网络。矿业

挖矿也是一种发行比特币的方式,发行交易是Coinbase交易

采矿是利润驱动的。在早期的挖矿历史中,使用CPU挖矿,因为挖矿的人很少,很少有人会对其进行改进;一些新玩家进来后,发现显卡计算能力比较快,于是就用显卡;EPGA用的比较晚,2012年之后就是ASIC的时代。比特币的现状是一个极具颠覆性和创新性的产品,但仍处于实验阶段,币值波动剧烈,并不是一个稳定的结算单位。缺乏大多数商家的支持 受众数量仍然很少 系统吞吐能力仍然很小,仍然无法支持大规模的全球交易(需要扩展) 比特币非常具有创新性,还处于试验阶段, 价格不稳定, 它不是一个稳定的结算单位。比特币缺乏大多数商家的支持,受众也很少。系统吞吐能力小,无法支持大规模的全球事务,需要扩容。比特币有一段艰难的扩容历史,现在分为 BCT 和 BCH。现在不会再有关于扩展的争论了。比特币扩张历史 以太坊 以太坊的市值一直在不断上涨。以太坊是否存在扩容问题?事实上,以太坊的区块大小一直在增加。随着以太坊使用量的增加,全网可以处理的交易也越来越多。现在,要运行以太坊节点,必须使用 SSD 硬盘。以太坊不断提高其 GPSLimit。上次,以太坊因为加密猫的出现造成了大面积的拥塞。这是因为以太坊没有办法通过简单的扩容来解决TPS问题,所以必须发展一些新技术来解决它。如果比特币遇到和以太坊一样的拥塞问题,无法通过简单的技术方案解决,大概需要每秒 100-500 笔交易才会出现。上图是一个BTC全节点。以太坊全节点现在很难运行。比特币全节点只有10000多个,但以太坊全节点仍然有20000多个。以太坊可以为很多人提供智能合约,他们可以在上面做更多有创意的事情,所以每个人都愿意运行以太坊节点。4. 以太坊的智能合约 智能合约 Ethereum EVM Solidity ERC 2.

2009年淘宝买了比特币怎么保存_2009年如何购买比特币_2009年获取比特币方式

• 优秀的编程能力 • Go、C/C • 分布式协议 • 数据库 • 编译器 • 操作系统、内核 • 密码算法

加入区块链企业是了解和学习区块链的最佳途径。早期的区块链项目以开源为主,很少见到闭源操作。整个区块链实际上是在开源社区的基础上运行的。区块链项目本身是一个开源项目。希望未来区块链项目能够为开源社区做出更多贡献。我们所做的许多事情也是开源的。希望未来形成良性循环,开源社区为区块链行业贡献力量,区块链行业产生更多的区块链项目。区块链项目本身是开源的,可以为开源社区做出贡献。

以上是《区块链技术开发者指南|JTalk掘金线下活动第5期》讲师蒋家志的分享,如果您对掘金的JTalk线下活动感兴趣,可以关注掘金活动页面的JTalk活动报名. 掘金JTalk迄今已举办5届,每月JTalk将邀请垂直行业的优秀工程师分享他们优秀的实践经验、技能和方法。旨在为开发者提供线下技术交流和互动机会,帮助开发者成长。

JTalk 预告片

JTalk第六期将在杭州举行。