区块链技术源于1991年斯图尔特·哈伯和W.斯科特·斯托内塔的研究,旨在打造一个无法篡改文档时间戳的系统。然而,直到2009年比特币的诞生,这一技术才真正走入现实世界。众所周知的"挖矿"过程,实际上是在寻找满足特定条件的nonce整数,确保以下不等式成立:
SHA256(SHA256($version+$hashPrevBlock+$hashMerkleroot+ $TIMeStamp+ $target+ $nonce)) ≤ $target
本文旨在科普区块链与加密数字货币的基础知识,并阐述相关概念。
区块链,顾名思义,是由一系列通过链接(chain)组织起来的数据块(block),它是一种应用于公共数据库的分布式记账系统,主要用于加密数字货币(如比特币),被认为是互联网以来最重大的创新之一。每个区块主要包含以下三个要素:
交易双方,信息以数字签名形式存在而非真实身份信息。
区块的独特标识(hash值),使其与其他区块区分开来。
在比特币区块链中,每个区块可容纳的最大数据量为1MB。
交易需发生。实际操作中,一个区块通常包含多笔交易。
交易需审核验证。如同信用卡交易需核对签名或密码,区块链交易的合法性则由遍布全球的计算机网络实时核查,确保交易的时间、金额及参与方准确无误。
交易需储存于区块之中。交易核实后,相关信息会被存储至区块中,与其他数千笔交易共同构成区块内容。
当区块内的所有交易通过验证,也就是完成“挖矿”后,该区块将获得一个独一无二的标识符——hash值,继而被纳入区块链中。
钱包(wallet):是承载加密货币(如比特币)交易的应用程序,内含一对独特的密钥,即公钥和私钥,它们在初次交易时生成。
私钥:用于授权用户从账户中支出、提取或转移资产,并在交易广播到区块链网络前对其进行数字签名,以此证明私钥所有权。私钥须妥善保管,一旦丢失,钱包内的加密货币将无法找回(表现为64位由0-9或A-F组成的字符串,重要时可抄写在纸上并存放在保险箱中)。
公钥:由私钥通过复杂算法衍生而来,且无法逆向推导出私钥。他人可通过公钥验证该数字签名确实出自私钥持有者的生成。交易验证合法后,资金将转账至接收者的公开地址。
公开地址:由公钥经过哈希运算生成,类似于银行账号,交易时,发送者需要接收者的公开地址方可发送Token或加密货币,而接收者则可用其私钥消费或提取。
区块链技术采用以下三种手段保障安全与信任:
按线性时间顺序存储,即新区块总是追加至区块链尾部。截至2020年4月18日20:36,比特币区块链区块高度已超过626548。
提升篡改、删除区块内容的难度,每个区块均包含自身及其前一个区块的哈希值。一旦某个区块内容被篡改,将导致后续所有区块的哈希值发生变化。黑客要掩饰这种改动,必须重新计算这些区块的哈希值,代价高昂,同时也因为每个区块在区块链网络中具有唯一高度,删除某一区块的操作变得几乎不可能。
共识模型验证,区块链网络要求用户计算机解决复杂数学问题以证明自身资质,当某计算机成功解决问题,便有权向区块链中添加新区块。然而,直至2020年4月,比特币网络中解决这类问题的概率仅为约15.5万亿分之一,为此,计算机需耗费大量电力运行相应程序。
工作量证明(Proof of Work,PoW)是众多加密货币的基础机制,它构建了一个系统,要求参与者付出一定但可实施的努力来防止滥用计算资源。
为一组比特币交易生成随机哈希值对现代计算机来说非常简单,于是,为使之成为一个更加实质性的任务,比特币网络设置了难度级别,即设定目标值(target)。目标值越低,生成有效哈希值的范围就越小,相应生成难度越大。矿工们通过调整一个一次性使用的整数(nonce)以改变输入数据,找到一个符合目标值的有效哈希值后,会将其广播至网络,并将区块添加至区块链,而成功找到nonce整数的矿工会获得相应的加密货币奖励,这个nonce整数即为需解决的数学难题。
双重支付(Double-Spending)是指用同一笔数字货币进行两次消费,这是加密货币面临的核心安全挑战。比特币之所以长久屹立并深受推崇,正是因为成功解决了这个问题。
以现实生活中的星巴克购咖啡为例,顾客支付现金50元后,店员立刻确认并交付商品,这笔交易即告完成,顾客无法再次使用这50元。而在微信或支付宝支付场景下,账户余额减少,两次交易无法同时扣除相同金额,因为银联系统会确保第二笔交易建立在第一笔交易完成基础上。
但在比特币等数字货币领域,初期账户中并无Coin,需要通过挖矿获取。币种的去中心化特性使得Coin无法集中存储,私钥仅能提取和消费属于自己的Coin,一旦私钥丢失,对应的Coin(包括自己的和其他人的)将永久失去。
比特币如何防范双重支付呢?举个场景:买家使用私钥对其持有的1个比特币进行签名后,分别向卖家A和卖家B的公开地址发出交易请求,两位卖家各自用自己的私钥确认交易,这两笔交易随后进入待确认池等待矿工审核。通常情况下,第一笔交易会被矿工确认并加入下一个区块,而第二笔交易则被视为无效并从网络中剔除。然而,由于网络存在延迟,两个交易可能同时被不同矿工选取进行确认。这时,获得最多确认数的交易将会被写入区块链,而另一笔交易将被废弃。在这种情况下,卖家A可能无法获得Coin,利益受损。
解决之道在于,卖家应当等待至少6次确认。这意味着一笔交易被写入区块链后,接下来还有6个包含其他交易的新区块被添加。每个区块及其所包含的交易皆与之前的区块相关联(基于哈希值)。攻击者若想逆转最近6个区块内的所有交易以实现双重支付,在计算层面上几乎是不可能的任务。当卖家收到6次确认后,即可确信该笔交易并非源自试图进行双重支付的买家。
优点:
通过剔除人工验证环节提高准确性。
去除第三方验证环节,降低交易成本。
去中心化设计使篡改更为困难。
交易安全、私密且高效。
缺点:
挖矿相关的技术成本高昂。
处理每秒交易数量较低,比特币网络大约每10分钟生成一个区块,每个区块平均包含约3000笔交易。
私密性可能导致被用于非法行为。
易受黑客攻击风险。
加密数字货币,如比特币。
医疗记录管理,医疗机构可利用区块链安全存储患者的医疗记录,生成并签署病历时将其写入区块链,确保记录无法篡改并提供信息凭证。个人健康记录可以用私钥加密并存储于区块链上,保证只有授权人士才能访问,确保隐私安全。
内容分发,运用区块链上的智能合约(Smart Contract),革新传统内容分发模式,确保权利人持续获得收益。
供应链管理,供应商可利用区块链记录原材料采购源头,下游企业借此可验证产品真实性。目前,食品等行业借助区块链追溯食品安全及流向,从
文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系多特删除。(联系邮箱:[email protected])
近期热点