主页 > imtoken钱包下载教程 > 从比特币看区块链技术

从比特币看区块链技术

imtoken钱包下载教程 2023-01-17 00:24:11

区块链技术不同于大数据、云计算等信息技术。 它的原理比较复杂,涉及到密码学。 为了更清楚地描述区块链技术,我们先从比特币这个区块链技术最初也是最典型的应用实例说起。 它的交易机制可以帮助大家更好的理解区块链的运行原理。 北京木栖移动科技有限公司,专业的区块链技术开发公司,欢迎交流合作。

比特币工作原理_比特币被盗原理_比特币 挖矿 原理 hash

作为一种没有权威机构背书的虚拟货币,要想保证交易的可信度,成为大家认可的货币,必须解决三大问题:信用背书发行、交易确认、账户管理。

(一)比特币发行原则

比特币依靠区块链技术的原理进行背书,也可以说不需要背书,因为所有信息公开、透明、不可篡改的技术特点,使其不受需要信用背书保证可信度的约束。 比特币交易系统开始运行后,不再受创始人控制。 几乎没有人可以更改这个交易系统中的数据。 这种奇妙的运行机制是从它的分配方式说起的。

比特币的发行是通过“挖矿”完成的。 比特币用户节点参与维护比特币网络的行为需要被激励,激励的手段是向其发行比特币。 而这种激励方式在比特币被认可之后就变得非常具有诱惑力。 很多比特币用户节点会愿意为此做出维护行为,但是维护行为的需求是有限的,那么这次维护会选择谁呢? 羊毛布? 挖矿机制由此产生。 所谓“挖矿”,其实就是利用计算机硬件进行数学运算的行为。 它是比特币网络选择单一网络维护(记账)节点的一种手段。 谁在最短时间内计算出正确的结果,谁就有本次记账权,记账完成后将获得比特币作为奖励。 用户需要在挖矿计算上投入大量成本,包括硬件成本、时间成本、电费等,比特币网络就是利用这种“挖矿”的机制来选择网络维护节点,称为POW(工作量证明)机制.

了解了网络维护者的选择机制后,比特币网络维护的原理就很容易理解了。 比特币网络中的每笔交易都会带来一个新的交易数据,同时交易方会在网络中进行广播。 其他用户收到广播后,会将交易数据记录在信息池中。 当信息池占用空间达到1M后,交易数据将被打包成一个包含验证签名(数学运算结果)的数据包,即一个区块。 区块中的验证签名是根据POW机制下的计算结果生成的,包含了对前一个区块的验证签名的验证,所以每个区块都有一个唯一确定的前一个区块,即所有的区块都是有顺序的。 这些区块按照时间顺序依次记录在每个用户的本地存储空间中,形成一个链状的数据存储结构,即账本。 每一段时间产生的新区块,由POW机制(簿记)选出的网络维护节点(记账节点)串联运行,并广播给所有用户节点,对这个新区块进行验证和添加,以保证网络中的所有节点有相同的数据记录。

现在我们对比特币系统的基本交易机制有了一个补充的认识,即所有用户都有相同的链上数据记录,新的数据会通过POW机制选择到记账节点并广播到全网同步。 那么,在这种以算力决定谁来记录数据的交易机制下,如果恶意节点想要篡改某个区块的数据,就必须在短时间内篡改目标区块以及后续的所有数据。 重新计算区块以验证签名,然后将新生成的账本同步给其他人。 并且由于最长链是比特币网络中的正确链,恶意节点也必须赶上现有区块的高度,并使他们被篡改的账本成为最长链,误导其他用户节点认为他们的新账本是正确的分类帐。 在恶意节点进行这些计算和操作的同时,其他矿工继续在原链上保留账户,即使满足这些要求,他们的新账本也需要其他节点验证才能成功同步账本。 这几乎是不可能的,即使你在算力上拥有绝对优势,也只需要在比特币网络中进行常规挖矿就可以垄断比特币的发行权,而篡改等欺诈行为只会让比特币崩盘。货币体系导致比特币的信用解体。 该行为的收入与支付不匹配。 因此,从技术以外的效用来看,比特币系统也是安全的、不可篡改的,不需要第三方背书。

(2) 交易确认

现实中,转账交易都是由银行核心节点确认的,所以在比特币这个依赖所有节点共同维护的系统网络中,交易确认成为比特币交易的技术重点。

在比特币网络中,只有最终记录在主链上的交易才是有效交易。 每笔交易都需要全网确认。 验证失败的异常交易数据将被直接丢弃,验证通过的交易数据将被节点记录在信息池中,形成区块。 然而,由于网络拓扑结构复杂,每个节点新生成的区块中的交易顺序或交易集合可能会有所不同。 根据前面关于挖矿的介绍,只有记账节点可以进行记账操作来确定唯一的区块。 但是,在网络延迟的情况下,节点也有可能同时收到两个有效区块。 此时节点的账本会呈Y字形分叉,下面的数据会同时记录在两个分叉上。 直到一个分叉达到一定长度,被选为主链,另一个分叉将被自动丢弃。

经过反复确认和筛选比特币工作原理,交易数据最终会出现在主链上,完成交易确认的过程。 这往往需要比较长的时间,包括数据传输、数据验证等时间较短,以及挖矿计算、分叉筛选等时间较长,平均在十分钟左右。 因此,交易确认时间长是比特币的短板比特币工作原理,导致比特币难以进行实时支付,缩短交易确认时间成为区块链技术发展的重要方向。

(3) 账户管理

纸币不存在账户管理的问题,因为它是有实体的,谁持有实物纸币,自然就属于谁。 然而,在电子信息时代,账户管理是一个复杂的问题。 对于银行来说,每个账户都与客户的身份信息相关联。 客户通过身份验证后,作为该账户的唯一对应所有者,通过银行卡、信用卡、手机银行等媒介发起该账户的支付指令。 该账户的余额、交易记录等信息一般保存在银行的多个数据库中进行备份,避免出现意外情况。 对于比特币来说,账户与用户的真实身份无关,账户中不包含任何交易或余额信息,只有一对公钥和私钥。 公钥和私钥的概念涉及密码学知识。 这里只需要知道私钥就可以计算出公钥。 公钥不能反推私钥,但是可以验证私钥是否和自己匹配。

在比特币网络上登录和交易时,需要验证的是账户的私钥,它是用户对账户拥有所有权的唯一证明。 那么一个人可以拥有多个比特币账户,只要记住每个账户的私钥即可。 账户名,又称账户地址,是通过账户公钥计算推导得到的一串数字地址。 一旦你有了对方的账户地址,你就可以与其发起交易,或者查询其交易记录等。从这个角度来看,比特币账户的公私钥可以理解为用户名和密码,但用户名可以从密码计算中推导出来,用户名可以独立验证密码,公共账户名是根据用户名推导出来的。 从。

除了账户验证方式不同外,比特币不单独记录账户余额,每次查询账户余额都是根据之前的交易记录重新计算。 因为一个用户可以拥有无​​数个比特币账户,比特币账户的总数可能是无限的。 而如果要保存每个账户的余额,根据上面提到的比特币网络的运行原理,需要在每个用户节点的账本中实时记录所有账户的余额,也就是说,在每个块。 有所有经常账户余额的数据。 这会占用大量的区块空间,并且在验证区块时需要追溯验证每个账户的余额,这会大大降低区块的验证效率。 由于比特币网络中的每个节点都有相同的所有交易记录,因此只需在本地跟踪计算该账户的所有交易,即可获得其当前账户余额信息。 当然,根据节点本地的交易记录可以计算出很多信息,但这并不意味着比特币的隐私和安全性有问题,因为这些账户是完全匿名的,很难被公开通过账户交易记录锁定真人。 这种匿名信息安全也为洗钱等不法活动提供了温床,是比特币的一大社会问题。