主页 > imtoken官方苹果下载 > 比特币存在的问题及解决方案的讨论

比特币存在的问题及解决方案的讨论

imtoken官方苹果下载 2023-01-16 23:46:40

在上一篇文章中,我们讨论了比特币的数学原理,想了解更多的朋友可以继续往下看。关于比特币的技术,比尔盖茨曾在美国福克斯电视台上表示,“我认为它(比特币)是技术杰作。”有同学会问,比特币技术上很好,有什么问题或者风险点吗?答案是肯定的,世界上没有什么是绝对完美的。比特币也是如此,它有自己的问题或不足,但仍然不影响它作为优秀的数字货币。你为什么这么说?接下来就和大家聊一聊比特币存在的问题以及解决方法。

1.交易确认时间过长

关于这个问题,让我们介绍一个小故事来了解比特币的交易过程: 有一天,杰克在网上闲逛的时候,发现了一家网上商店,里面有新潮有趣的商品,更重要的是,它支持比特币支付作为比特币的坚定信徒,他与店主非常投机地聊天,并决定以 10 BTC 的价格购买一件商品。出于对掌柜的信任,杰克和掌柜约定前者将10个比特币寄到后者的地址比特币最常遇到的风险,后者收到比特币后将货物寄出

店主开了自己的店。比特币钱包,创建了一个新的比特币地址,并告诉了杰克。店主创建新地址的本质是生成一对密钥,一个公钥和一个私钥。私钥只有店主知道,公钥是公开的,可以用来验证支付的真实性。

Jack收到店主的地址信息后,打开自己的比特币钱包客户端,指示客户端向店主的支付地址发送10个比特币。钱包客户端存储杰克所有地址的私钥。我们假设 Jack 在其中一个地址中放置了 12 个比特币,而这笔款项仅从该地址中扣除。发送比特币时,钱包客户端用地址的私钥对交易进行签名,并向全网公布交易信息。

此时,全网所有节点或每个缺席者都会验证交易是否有效。验证方法也很简单,取出这个地址的公钥,对比一下。在这个环节,李雷和韩美美两位缺席者也收到了这条交易信息。验证确认有效后,将交易放入内存,等待进入数据块。

一段时间后,李雷的电脑计算出一个满足条件的随机值,系统宣布新的合格数据块诞生,并向全网公布消息。其他节点(包括韩美美)收到后,在此数据块后开始新的挖矿作业。杰克与掌柜的交易信息被打包进李雷挖出的数据块中,初步得到确认。当下一个块链接到这个块时,交易被进一步确认。连续6个区块确认后,杰克与掌柜的交易基本不可逆。

店主发现有 10 个比特币到达了他的地址。等待确认一段时间后,他将货物寄给了杰克,交易结束。

这个故事中最引人注目的问题是比特币的确认时间。李雷等缺席人员不断测试获取符合条件的随机值,获取随机值所需时间已被系统预设,平均耗时10分钟。也就是说,无论矿工如何努力,挖出一个区块所需的时间总是在 10 分钟左右。如果要保证交易的不可逆性,需要等待6个数据块完全确认,至少需要1个小时的确认时间。

如果这种交易发生在互联网上,并且销售对象不是一个对时间非常敏感的商品,那么等待1小时的确认时间是没有关系的。但如果是在日常生活中,比如在商店里,那么确认时间就成了问题。我们很难想象上班前在七店买了粽子和茶叶蛋当早餐的白领,要在店里等上一个小时才离开。有点不切实际。

支付确认时间暴露的问题本质上是信任问题。是否信任对方是解决问题的关键。如何解决这个问题?

首先,熟人之间的交易可能不成问题。比如你经常去楼下的便利店买早餐,老板一眼就能认出你。在这种情况下,他可能不在乎你的付款确认时间,可以放心地提前把货送到你手上,因为你是老顾客,不可能因为小便宜而失去名誉。

同样,对于像买房、买车这样的商品交易,即使是陌生人也不会有问题。当你用比特币买车时,店员会同时为你的新车办理所有手续。此类商品交易所需的处理时间通常比比特币的确认时间长很多,交易双方并不介意交易的时间确认。这里我想重点介绍第三种交易场景,陌生人之间如何进行小额交易。

这是比特币目前面临的最大技术问题。在大城市里,很多小额交易都是在陌生人之间进行的。例如,你走进街上的星巴克,点了一杯星冰乐带走。在这种情况下,服务员不认识你,你不能等待 10 甚至 30 分钟来一杯星冰乐。如果比特币的确认时间一直停留在现阶段,那这确实是个问题。

2013 年,在美国圣何塞举行的比特币大会上,与会者提出了许多解决方案。其中最重要的一项称为链下交易,即未在区块链内确认的交易。如果有一家公司能够以其一贯的良好声誉赢得用户的信任推出自己的在线钱包软件,那么只要星巴克及其客户在该公司注册一个账户,客户就可以存入他们的部分比特币在公司账户中,通过在线钱包从星巴克等公司购买商品,将自己账户中的比特币转入星巴克账户。由于这笔交易实际上只是公司系统内的账面金额转账,不涉及区块链确认,因此交易几乎是瞬间完成的。这种方式可以很好的解决陌生人小额交易的确认问题。

2.钱包的安全问题

在杰克和店主的交易中,他们都使用了比特币钱包客户端。大多数用户选择Bitcoin-QT等客户端作为自己的比特币钱包来存储私钥。钱包在比特币使用中的作用至关重要。但实际上,使用比特币的大部分风险都集中在钱包上:

错误删除了钱包文件,损失了价值数万美元的比特币;

没有正确备份钱包文件,导致一段时间内交易的所有比特币丢失;

电脑感染了木马病毒,钱包文件被盗,比特币全部消失。

以上所有问题都是由于钱包客户端的特性造成的。说说官方钱包客户端的风险吧。

图为比特币社区bitcoin.org提供的钱包下载路径,支持Windows、Mac、Linux操作系统

首先请注意,所有钱包客户端都没有比特币。从比特币的特性可以看出,它实际上是一个在互联网上流动的大账本中的数字。比特币钱包存储用户的私钥,主要用于证明用户在账本中拥有一定数量。每当用户想要使用他的比特币财产时,他就使用钱包中某个地址的私钥进行签名,从而向全网广播,证明该地址中的比特币是属于他的。

以官方钱包客户端Bitcoin-QT为例。客户端存储比特币私钥的文件是 Wallet.dat。一般Win8系统下的存储路径是C:\Users\计算机用户名\Appdata\Roaming\BitCoin(需要注意的是一般Appdata是隐藏文件夹,需要修改系统设置使隐藏文件可见)。 Wallet.dat的本质是一个私钥池,里面存放着这个钱包所有地址的私钥。有了这份文件,用户可以证明他们对钱包地址中比特币的所有权。钱包风险分为以下几种情况。

第一,Wallet.dat 文件被盗。这是最常见的钱包风险。如果用户的电脑被黑,黑客获得了 Wallet.dat 文件,那么黑客也可以控制钱包中的地址。在用户察觉之前,黑客会转移该地址可以控制的所有比特币。

其次,Wallet.dat 文件丢失。这并不少见。如果您在没有备份的情况下误删除了 Wallet.dat 文件,您的所有比特币都将丢失。与 Wallet.dat 盗窃不同的是,在这种情况下,这些比特币从现在开始只会像幽灵一样在网络中漫游,不属于任何人,因为唯一证明所有权的私钥已经永远消失了。这些丢失的比特币将减少现有比特币的总量。

三、Wallet.dat备份错误。比特币钱包客户端的设置使得备份Wallet.dat文件成为一项技术任务,稍有不慎就会造成严重损失。

初始状态下,Wallet.dat的私钥池中有100个私钥。在“生成”新地址时,客户端实际上并没有生成新地址和对应的私钥,只是从私钥池中取出一个,生成一个(真实的)新私钥。将密钥和地址放入私钥池中,使未使用的私钥保持在100个。

使问题复杂化的是客户端本身的更改机制设置。根据比特币本身的规则,支付时必须用完一个地址上的所有比特币,剩余的钱会归还到原地址,但向另一个地址支付比特币除外。

假设地址17C(地址缩写,下同)有0.1890067个比特币,当17C的所有者向18y的地址发送了0.1个比特币的付款后命令,系统将取出17C地址中的所有0.1890067个比特币,将0.1个比特币转入18y地址,剩余的0.0890067个比特币再次打到17C。

为了保护用户的匿名性,客户端不会将余额发回原地址,而是从私钥池中取出一个新的地址放入余额。默认情况下,该地址不显示在客户端界面。

因此,用户每进行一次交易,都会取出私钥池中的原始私钥,同时会添加一个新的私钥。如果用户在备份 Wallet.dat 后完成了 100 笔交易,则私钥池中的所有原始私钥将被用完,接下来将使用尚未备份的新私钥。用新的私钥完成交易后,如果用户用原来的备份文件恢复,所有没有备份的新私钥都会丢失,这些新地址中的比特币也会丢失。

摆在我们面前的一个重要话题:如何增加钱包的安全性?以下方法更有效:

首先,离线钱包。私钥的作用是证明自己拥有某个地址的比特币的所有权。离线钱包应运而生,最安全可靠的比特币存储方式。

离线钱包的原理是把私钥放在永远不联网的电脑里,把钱包存放比特币的地址放在联网的电脑里。由于联网电脑没有私钥,所以在联网电脑下单后,所有的交易订单都需要通过U盘(可移动存储设备)在离线电脑上签名,然后再取回联网电脑在全网广播和签名。确认交易。存储私钥的计算机在整个过程中不会与网络接触,因此可以保证私钥的绝对安全。

第二,纸钱包和脑钱包。所谓纸钱包,很好理解,就是将私钥打印在纸上。纸质钱包的好处是显而易见的:实物纸质远比U盘或者硬盘可靠(比如病毒入侵),可以有效避免被黑客窃取。主要缺点是使用时需要先用客户端导入私钥。纸质钱包主要适合存放大量近期不打算使用的比特币。

让我们谈谈大脑钱包。首先,什么是脑钱包?有朋友认为纸质钱包将私钥打印在纸上,大脑钱包应该把私钥记在心里。记性好不如写得好,所以大脑钱包的私钥很容易忘记。这么理解有点字面意思(谁脑子这么好,能把一串长长的乱码记很久),好吧,不说了。我们先简单了解一下什么是脑钱包。

一般情况下,私钥和比特币地址一样难记,但在brainwallet.org上,一句话就能生成一对公私钥。只要你记住这句话,你就可以从中重新生成私钥,并在任何有互联网连接的地方提取比特币。这意味着您可以将所有财富存储在大脑中,而无需依赖任何外部事物。但是,在生成大脑钱包的时候,一定要尽量选择世界上独一无二的单词,否则“crash”的几率会大大增加。当然,这实际上并不难。比如想一想:木匠张晓明和妻子赵晓华的小儿子叫波波。这样的句子别人估计很难想。

大脑钱包的生成机制来源于比特币地址和公私钥的算法。根据比特币算法,任何单词或短语都可以生成一对唯一的公钥和私钥以及比特币地址。因此,用户只需要记住一个随机的句子,然后他们就可以通过这句话推导出一个特殊的比特币地址和私钥。如果使用得当,纸钱包和大脑钱包都非常安全,但还是有一些注意事项。

首先,大脑钱包密码的复杂性。由于银行和其他机构的关系,人们习惯了4到6位的密码。他们想当然地认为大脑钱包的密码也只需要 6 位数字,但他们错了。银行和网站有专门的系统来保护用户数据,不允许黑客多次尝试密码;比特币中的所有地址都可以在线公开获得。黑客可以不断试错,直到找到相应的私钥。

因此,单纯依靠人脑很难想出一个可靠的大脑钱包密码。相对安全的脑钱包密码要求是:足够长,40位以上,防止暴力破解;别人不容易猜到;你很容易记住。

更好的方法是在原始用户密码中添加一个随机密码。许多网页都有生成随机密码的能力。用户可以先生成一个20位随机密码,通过多种方式保存密码(如文本打印、加密压缩、云存储等),再将密码与原密码结合生成新密码大脑钱包密码。这样,账户基本是安全的。即使黑客破解了你的常用密码或随机密码,也无法轻易获得你的大脑钱包密码。

另一个好方法是从电子书中选择你最喜欢的一段。比如我喜欢罗曼·罗兰的《约翰·克里斯托弗》,决定用本书第67页的第二段作为我的大脑钱包密码,所以我想记住的是本书第67页的第二段。只是一条信息,几乎不可能有人猜到我个人特征强烈的大脑钱包密码。

二、变更机制的注意事项。纸质钱包和大脑钱包在存储比特币方面是一流的,但在支付方面有点麻烦。如果你选择使用区块链客户端,并把你的纸钱包或大脑钱包的地址放在上面,你可以直接输入私钥,在支付时调用这些资金。但是对于安全需求比较强的人来说,一旦在网上输入了私钥,对应的地址就不再安全了。因此,除非需要使用钱包中的所有资金,否则一般不建议在区块链客户端导入私钥进行支付。

另一种方法是使用钱包客户端,例如 Bitcoin-QT。导入私钥后,纸钱包或脑钱包里的钱就成为你钱包客户端的一部分,使用方法和平时没什么区别。但是由于前面提到的找零机制的存在,纸钱包或脑钱包导入私钥并完成一次支付后,原钱包中的比特币余额将全部转移到客户端的另一个隐藏地址。如需放回钱包,需再次付款,将余额退回原地址。

3.SHA-256被破解了怎么办

整个比特币的安全核心算法在于SHA-256安全哈希算法。根据 Wikipedia 的定义,SHA-256 和其他 SHA 算法可以计算出一个固定长度的字符串对应一个数学消息。输入的信息不一样,对应的字符串很可能不一样。 SHA-256被称为安全算法,主要基于以下两点:第一,很难从信息摘要中推断出原始输入信息,这在计算理论上是非常困难的。其次,在计算上很难找到对应于相同信息摘要的两组不同信息。输入信息的任何更改都可能导致信息摘要大相径庭。

在整个比特币交易过程中,SHA-256算法用在了几个地方,其中最重要的就是挖矿。一笔交易必须经过矿工确认有效后才能放入区块中进行全网广播,而区块的产生是一个寻找随机数计算特定哈希值的过程。挖矿时,矿工需要依靠强大的算力不断尝试,平均需要10分钟才能找到随机数。这种所谓的工作量证明机制保证没有人可以伪造或复制任何交易。

如果 SHA-256 算法被破解,攻击者可以从两组不同的消息中得出相同的消息摘要。也就是说,他可以在很短的时间内找到随机数,从而快速生成区块。在这种情况下,基于工作量证明的比特币安全机制就没用了。

但是,最坏的后果不太可能发生。首先要注意的是,SHA-256算法是目前公认的最难破解的算法之一,因此也被银行、军队等对安全性要求极高的机构所采用。如果 SHA-256 被破解,那肯定不会是比特币。

目前网上对SHA-256算法可能被破解的担忧主要来自MD5之前已经被破解。 2004年,山东大学教授王晓云发布了MD5破解报告。需要明确的是,这份报告只是证明有一种方法可以产生特定的碰撞,但要伪造数字签名,必须能够产生弱的特定碰撞。所以MD5实际上并没有被破解,更不用说比MD5更安全的SHA-256了。担心 SHA-256 被破解,影响比特币有点误会。

但是,探索 SHA-256 在遥远的未来被破解的可能性会很有趣。如果 SHA-256 确实被破解,那么无论对银行和军事安全有何影响,仅对比特币社区造成什么后果?

事实上,中本聪已经回答了这个问题。 2010年6月14日,他在比特币官方论坛发帖讨论了两种情况:一种是突然宣布SHA-256成功,在这种情况下,比特币社区的大部分用户可以断定之前的所有区块某个区块是“诚实”的区块并被接纳,并且在该区块之后再次使用新算法进行挖掘。另一种情况是SHA-256不是突然坏掉的,只是发现了隐患,所以可以逐步进行转换。使用新算法的客户端会提前开发,约定在某个区块后开始执行,所有用户在该区块被挖出之前更新客户端。

4.全网算力51%攻击

51% 攻击是自比特币成立之日起就有人担心的问题。在比特币系统中,交易信息存储在区块链中。杰克和掌柜的新交易放在李雷新挖的区块中,也就是之前最长链的末端。一般来说,区块链是直线上的一系列连续区块组合,但在某些特殊情况下,区块链会产生“分叉”,即在区块链元的末端出现两个相互冲突的区块。在这个例子中比特币最常遇到的风险,我们假设一个区块包含杰克支付 10 个比特币给店主的交易;在另一个区块中,交易是杰克向他自己的地址发送了 10 个比特币。当发生冲突块时,比特币网络将投票决定哪个交易是有效的。投票方式是每个矿工在自己认为有效的区块后继续挖出新的区块,最终选出最长的链。身份证明是唯一有效的。

如果杰克足够聪明,有足够的计算能力,他会同时将支付给店主的比特币支付给自己。而且由于他的算力超过50%,从长远来看,他可以比其他人更快地找到挖出一个区块所需的随机数,所以Jack实际上有能力决定哪个区块是有效的。

当攻击者控制了全网50%以上的算力时,从他控制的那一刻起,他就可以:

他不能做的是:

无论你怎么看,51% 的攻击对比特币来说都不是什么大问题。

首先,51%攻击是比特币世界最古老、最著名的攻击方式,大家都在关注并知道相应的对策。

其次,矿机的出现大大提高了比特币挖矿的算力。在目前超过 100T 的计算能力下,任何个人或组织几乎不可能制造 51% 攻击。

综合以上,潜在的 51% 攻击只能来自一个秘密建造拥有全国之力的超级计算机的政府机构——打败比特币系统,拯救自己的货币分配系统。但这仍然不太可能发生。并非所有政府都天生对比特币怀有敌意。即使一个政府有能力攻击51%,它也会发现利用这种能力来挖矿可以垄断比特币的发行权,其收益远大于击败比特币。硬币,攻击的动机将不复存在。

比特币并非 100% 完美,但它正在变得更好。

前两天,2018年“加密货币、通证与无币区块链”学术研讨会在重庆召开。本次会议邀请了学术界、科技界、法学理论、经济理论等方面的代表,围绕加密货币的流通与监管,通证的性质、功能与边界,无货币区块链的性质与意义等议题展开讨论。思想冲突。上海高级金融学院胡杰教授发表主旨演讲。我想用胡教授演讲中的一句话来结束全文:

“比特币带来的意识形态影响非常大,所以它在今天进入了一个行业。革命时代,未来有很多值得期待的事情!”