alt堆栈是什么?

在比特币维基脚本页面中注意到(https://en.bitcoin.it/wiki/Script)有两个操作码:
操作\u TOALTSTACK
从AltStack操作
看起来有另一个堆栈可以单独用作数据存储,只需推送和弹出数据。我以前从未听说过这个,但它似乎是一个非常有用的功能。
有人能验证一下alt堆栈实际上是用来做什么的吗?如果不只是推送和弹出数据,那是为了什么?有没有想到任何特定的用例?
脚本
分享
改进这个问题
跟随
7小时前编辑的
迈克尔·福克森
606777银牌2222铜牌
2014年10月26日12:45问
莫尔斯编码器
13.3k22金徽章3636银徽章8585铜徽章
添加评论
1个答案
7
它们的定义如下:
箱操作到堆栈:
{
if(stack.size()<1)
返回false;
altstack.push_back(stacktop(-1));
popstack(堆栈);
}
中断;
来自AltStack的案例操作:
{
if(altstack.size()<1)
返回false;
堆栈。向后推(altstacktop(-1));
popstack(altstack);
}
中断;
例子:
堆栈:
备用堆栈:
脚本:opu 1 opu 2 opu TOALTSTACK
.
堆栈:01
备用堆栈:
脚本:opu 2 opu TOALTSTACK
.
烟囱:01 02
备用堆栈:
脚本:opu TOALTSTACK
.
堆栈:01
备用堆栈:02
脚本:
这是干什么用的?有没有想到任何特定的用例?
这是。。。使用受损的。99%的情况下,您可以通过将对象按不同的顺序放入堆栈来避免使用OP|(TO | FROM)ALTSTACK。有18个堆栈操作操作符,但只有一个(OPïu DUP)用于任何规则性操作。我认为比特币脚本在其预期用途上过于复杂。
分享
改进这个答案
跟随
2014年10月26日17:09编辑
回复时间:2014年10月26日14:47
尼克·奥德尔
27.8k88金徽章6161银徽章19119铜徽章
5
+但是在基于堆栈的语言中,无论是否必要,访问第二个堆栈通常都很方便。例如,在Forth中,(ab)使用返回堆栈(>R,R>)存储临时数据是一种常见的习惯用法。有关示例,请参见forth.com/starting-forth/sf5/sf5.html。设计师们可能已经想到了这一点。不管怎样,考虑到在脚本语言中添加附加功能的困难(chain fork),我们可以理解,设计者有动机进行过度设计Nate Eldredge 2014年10月26日16:08
@尼克,我知道你是从哪里来的,其实只有几种类型的标准交易,但有些人认为比特币脚本语言太简单,无法达到预期的用途。e、 g.以太坊。我认为Satoshi在比特币脚本语言中找到了一个很好的平衡点,使得它既灵活又可以静态分析穆尔塞科德10月27日17:28

时光素材-香车美女  (301)blockchainBTC比特币区块链www.qkl91.com

Miniscript和simplication的区别和资源?

我已经读过,它是一种以结构化方式编写比特币脚本的语言,支持分析、合成、通用签名等。
http://bitcoin.sipa.be/miniscript/ 是有用的,但需要更多的信息,例子,图书馆等。
Simplicity是一种区块链编程语言,被设计为比特币脚本的替代品,适用于各种元素。
我需要更多的链接或信息来尝试的东西。
miniscript也可以用于元素,simplicity可以用于比特币吗?
迷你脚本
简单
分享
改进这个问题
跟随
7小时前编辑的
迈克尔·福克森
606777银牌2222铜牌
4月2日21:00问
蓝塘
1111青铜徽章
添加评论
1个答案
0
Miniscript是比特币脚本的编码。Miniscript的功能是Script的一个子集,因此Miniscript的任何功能都是Script所不能完成的。因此,除了testnet、regtest、signet和Elements之外,从Miniscript解码出来的脚本现在也可以在比特币主网上使用。
对于Miniscript资源(除了您发布的资源外),以下内容非常有用:
安德鲁·波尔斯特拉在2020年伦敦比特币开发者大会上的演讲
Andrew Poelstra推进比特币2020研讨会
2019年9月Blockstream博客文章
Pr增加小脚本支持到Bitcoin核心(C++)
PR向比特币核心测试框架(Python)添加Miniscript支持
rust迷你脚本库(rust)
简单性取决于启用了哪个jet,它的功能比脚本更强大,是脚本的直接替代品,而不仅仅是编码。此外:
简单性是一种进行中的低级编程语言,比比特币脚本具有更大的灵活性和表现力。它允许您验证程序的安全性、安全性和成本。
比特币核心测试分支和in-Elements支持它,但比特币主网尚不支持。
就简单性资源而言,以下内容很有用:
简单性白皮书。
Russell O’Connor于2018年1月发表了《简约》杂志。
亚当在2020年4月提出了简单性。
Blockstream在2018年11月和2020年4月发布了博客文章。
有一个关于简单性的比特币Optech主题页面。
分享
改进这个答案
跟随
7小时前编辑的

时光素材-香车美女  (300)blockchainBTC比特币区块链www.qkl91.com

CHECKSIGADD是否可以用于新的ECDSA multisign而不是CHECKMULTISIG?

建议的主根软分叉(BIP 342)定义了新的操作码OP\u CHECKSIGADD,以验证Schnorr多重签名,而OP\u CHECKMULTISIG(和OP\u CHECKMULTISIGVERIFY)对主根开销禁用(SegWit版本1)。我们是否可以使用OP\u CHECKSIGADD操作码来验证新的SegWit版本0 ECDSA多重签名?显然,如果单个签名是ECDSA,那么您不会获得相同的批验证好处,但是使用CHECKSIGADD的计数器系统仍然更有效?
有关操作码CHECKSIGADD如何工作的解释,请参阅jameschiang的演示。或参见Tapscript BIP 342。
“操作码186(0xba)被命名为OP\u CHECKSIGADD”
“OP\u CHECKSIGADD在功能上等同于OP\u ROT OP\u SWAP OP\u CHECKSIG OP\u ADD”
脚本
比特币核心开发
主根
分享
改进这个问题
跟随
编辑时间:7月29日12:16
7月29日11:48问
迈克尔·福克森
606777银牌2222铜牌
添加评论
1个答案
1
否,因为SegWit版本0的操作码186(0xba)未定义。您只能在SegWit版本1中使用此操作码。如果将此操作码包含在SegWit版本0事务脚本中,则任何花费此操作码的尝试都会遇到此脚本错误。
此外,Pieter Wuille在评论中补充道:
事实上,为现有的脚本版本启用相同的语义将是一个硬分叉。它将元素从堆栈中弹出,因此仅由“OP_CHECKSIGADD OP_SIZE 1 OP_EQUAL”和fed 3个元素作为输入组成的脚本当前无效,但如果添加了这样的操作码,则该脚本有效
分享
改进这个答案
跟随
6小时前编辑的
7月29日12:40答复
迈克尔·福克森
606777银牌2222铜牌
2
实际上,操作码只存在于tapscript中Pieter Wuille 20年7月29日16:49
1
事实上,为现有的脚本版本启用相同的语义将是一个硬分叉。它将元素从堆栈中弹出,因此仅由“OP_CHECKSIGADD OP_SIZE 1 OP_EQUAL”组成的脚本,并将3个元素作为输入,当前将是无效的,但如果添加了这样的操作码,则该脚本将是有效的Pieter Wuille 20年7月29日18:02
添加评论
你的答案

时光素材-香车美女  (30)blockchainBTC比特币区块链www.qkl91.com

如何恢复我的付费应用程序

我无法访问我的支付应用程序,因为我忘记了我的密码。我的应用程序已被PIN码锁定。我怎样才能找回它?
钱包回收
科帕伊
分享
改进这个问题
跟随
5月9日4:33问
哈特曼·凯莎
1111青铜徽章
添加评论
1个答案
0
根据https://github.com/bitpay/copay
Copay钱包现在是Bitpay钱包。回购https://github.com/bitpay/wallet
所以你不应该使用Copay应用程序。
上面还说
我们在googleplay商店的ANDROID上发现了一些伪造的COPAY钱包,它们会偷走你的硬币
所以你需要确定你有一个真正的非恶意应用程序。
如果你有一个旧的Copay非保管钱包应用程序,忘记了密码,没有进行未加密的备份,没有写下恢复短语或等效的,那么唯一的希望可能是使用暴力猜测工具,如BTCrecover(不是背书),以及任何你能回忆起的长度,“别针”的组成和结构。
请记住,应用程序最重要的工作是将不知道“PIN”的人拒之门外。
分享
改进这个答案
跟随

时光素材-香车美女  (3)blockchainBTC比特币区块链www.qkl91.com

殖民地管道袭击-赎金部分如何追回

来自维基百科:
殖民地管道网络攻击
这篇文章说,不知道联邦调查局是如何获得这个地址的私钥和赎金的。找不到这方面的任何其他来源。有什么理论或证据证明这是怎么做到的吗?
勒索软件
分享
改进这个问题
跟随
三小时前问的
非政治标签
4344青铜徽章
新贡献者
添加评论
1个答案

联邦调查局似乎查获了他们的服务器并在那里找到了私钥。
如果你想知道比特币软件或协议中是否存在缺陷,目前还没有证据。
https://krebsonsecurity.com/2021/05/darkside-ransomware-gang-quits-after-servers-bitcoin-stash-seized/
分享
改进这个答案
跟随
两小时前编辑的
墨奇♦
54.4K33333金徽章151151银徽章470470青铜徽章
2小时前回答的
利凡克利夫
73411银牌1515铜牌
谢谢-我很确定这不是区块链漏洞。罪犯似乎很粗心,没有立即把硬币转移到更安全的冷钱包里。但对FBI来说结果不错,干得好——2小时前的非政治标签
添加评论

时光素材-香车美女  (3)

QT钱包太慢时的解决方法

我在许多其他的QT钱包中看到,当你在同一个钱包中有太多的交易时,你的QT钱包会非常慢,我的意思是,当你试图从标签概览切换到交易时,QT钱包会花很长时间才做出响应。
一个例子是,一个正常的wallet.dat将有大约2MB,但当wallet.dat有大约200MB时,这个问题将开始发生。
我没有在比特币QT钱包上尝试过这个,因为我不能复制这个,至少我不知道怎么做,但我很确定,比特币QT钱包也会出现这种情况,因为所有的硬币基本上都是分叉比特币代码的。
我想知道是否有一个解决这种问题的办法,而不需要创建一个新的钱包。
比特币核心
分享
改进这个问题
跟随
14小时前编辑的
14小时前问的
苜蓿枯萎病
15922银徽章99铜徽章
1
如果你不能复制它,那听起来就没有问题了彼得·维尔14小时前
可能吧,我真的很想复制它,但我能吗卢卡·布莱特14小时前
很难为假设的情况提供解决方案…–彼得·维尔14小时前
是的,我知道,但我在想,也许已经有了一些解决方案,因为一开始,我认为人们曾经有很多交易的钱包,一旦比特币价格太低,然后他们可能会看到这样的问题,有人提出了一个解决方案,现在仍然可以工作卢卡·布莱特14小时前
添加评论
1个答案
0
嗯,我不确定我是否正确地回答了这个问题,但听起来很奇怪,你的wallet.dat文件正在改变它的大小。它只存储您的私钥(很可能是以加密的方式),并且在创建私钥后不应更改。
像比特币qt这样的大多数客户正在做的是下载区块链,这可能会增加你的钱包文件夹。
您可以很容易地从这个wallet.dat导出私钥
如何从satoshi客户端导出地址的私钥?
并用它与任何其他客户签署交易。
分享
改进这个答案
跟随
1小时前编辑

时光素材-香车美女  (299)blockchainBTC比特币区块链www.qkl91.com

在长时间连接到钱包后,它提供重新安装块和同步所有比特币核心块

1) 我在ssd驱动器上安装了比特币核心。有一段时间没有包括在内,一个月后比特币核心被包括在内,当你启动应用程序时要求用ssd重新下载所有的块,路径是正确的,并且文件夹中已经下载了块。我不明白,我的旧钱包不能下载或想下载结果块而离线。请帮助理解。2) 如果我安装了便携式ssd驱动器,我可以将其连接到任何设备并使用其上的钱包和资金?在这样的尝试中,它需要在这里下载更多的图像描述块
比特币核心
分享
改进这个问题
跟随
1月19日19:01问
用户91516
911青铜徽章

您的截图与bitcoin.stackexchange.com/q/83799/13866中的截图重复-如果这也是您的问题,您应该在原始问题中编辑更多信息,而不是添加重复的问题。编辑过的问题会被推到头版的顶部,因此将同一个问题的多个副本塞满网站是没有好处的RedGrittyBrick 1月20日19:52
添加评论
1个答案
0
将数据移动到新机器后重新启动可能是因为某些程序数据存储在Windows注册表(Computer\HKEY\u CURRENT\u USER\Software\Bitcoin\Bitcoin Qt)中,而这些数据可能是您在传统HDD上留下的。
尤其是数据目录的路径存储在注册表中。然而,仅仅是注册表中没有任何比特币密钥就足以让bitcoin core相信它是第一次运行。
您可以通过新安装创建的数据目录复制旧安装中的区块链数据,这样您就可以阻止新安装下载您已经下载的数据。
看看如何只把区块链转移到朋友的电脑上?
分享
改进这个答案
跟随
编辑时间:1月20日10:56

时光素材-香车美女  (298)blockchainBTC比特币区块链www.qkl91.com

战俘51%攻击vs.BFT 1/3攻击?

所以据我所知,比特币的PoW容易受到51%的攻击,但作为一个分布式系统,它也容易受到BFT的1/3攻击,对吧?我认为数学上已经证明,在一个分布式系统中,如果有超过1/3的坏节点一起协作,那么无论发生什么,都不能安全地达成正确的共识?
因此,对于比特币来说,有两种可能的攻击场景,一种是如果一个miner节点的计算能力始终超过整个网络的51%,那么它可以无限期地加倍消费,基本上可以无限量地使用现金。
另一种情况是,如果整个网络中超过1/3的节点是坏人,他们与修改过的恶意节点代码一起工作,那么他们可能会阻止正确的块被接受,并使其他人无法知道哪个是正确的最长链,从而阻止处理和记录有效的事务。
我的理解正确吗?
工作证明
共识
分享
改进这个问题
跟随
7月26日4:58问
hellopeach公司
16733青铜徽章
“坏人如何与恶意代码协同工作”?比特币网络没有节点的概念(无法识别它们),这就是为什么有工作证明的原因JBaczuk 2018年7月26日5:19
JBaczuk,好吧,也许他们可以用僵尸网络或其他东西传播成千上万的恶意修改比特币客户端?这是一个P2P网络,如果你认为“节点”这个词不准确,那么可能是“节点”?例如,如果目前世界上有100万比特币客户端在运行,而其中有34万个客户端在运行恶意代码,那就意味着我们将无法安全地就什么是正确的最长链达成共识,对吗?我认为拜占庭将军的问题适用于所有分布式系统,包括比特币,对吗你好,2018年7月26日6:00
怎样才能阻止其他66万人接受最长的连锁店JBaczuk 2018年7月26日13:54
添加评论
5个答案
6
所以据我所知,比特币的PoW容易受到51%的攻击,但作为一个分布式系统,它也容易受到BFT的1/3攻击,对吧?
不,比特币并不是一个传统意义上的“共识系统”:它从来不会达到一个至少在理论上不能倒退的状态。从理论上讲,今天的积木可能会在几年后被拆除,但在比特币中,随着时间的推移,其计算难度会增加。
因此,不可能达成共识的结果通常不适用。
另一种是,如果整个网络中超过1/3的节点是坏人,与修改过的恶意节点代码一起工作,那么它们就有可能阻止正确的块被接受。
不。只要攻击者不设法划分诚实节点的图形,他们就可以控制(比如说)99%的节点,网络将继续正常运行。在发生分区的节点数量上没有什么神奇的阈值,你只需要有一个诚实的节点就可以完全正常工作。
分享

另一种情况是,如果整个网络中超过1/3的节点是坏人,他们与修改过的恶意节点代码一起工作,那么他们可能会阻止正确的块被接受,并使其他人无法知道哪个是正确的最长链,从而阻止处理和记录有效的事务。
网络上的矿工连接非常好(请参阅:光纤中继网络),因此任何数量的恶意节点都无法停止矿工之间新数据块的中继。
对于常规节点,如果您的节点仅连接到恶意节点,则可能存在风险。有几个内置的保护措施来帮助缓解这种情况,但它仍然是一种可能性。有关Sybil攻击风险和缓解策略的详细概述,请参阅bitcoin.it。
如果怀疑自己受到Sybil攻击,可以强制节点连接到自己选择的对等节点。作为一个例子,一个矿工或是一个值得信赖和公众熟知的同行可能是一个很好的选择。但这种情况很少见,我实际上不知道有任何用户因为Sybil攻击而损失资金的案例。
分享
改进这个答案
跟随
7月26日9点36分答复
奇特里克
15.5k33金徽章1616银徽章4141铜徽章
我不明白你的意思,你好像在暗示每个矿工都和其他矿工有联系?这意味着如果有10000个矿工,那么每个矿工至少连接到9999个对等点?我想拜占庭将军的问题不适用,如果你能保证好人之间有某种可靠的联系你好,2018年7月30日6:24
矿工们使用光纤快速中继网络互相广播数据块。通常,单个矿工将连接到池,而这些池将连接到光纤。加入此网络的恶意节点数量不会影响已连接的矿工。这不是有足够的“好人”的问题,只是节点的原始数量无关紧要,只要所有诚实的节点没有完全分开chytrik 2018年7月30日6:57
我想这正是我要说的?如果好人之间有可靠的联系,那么拜占庭式的一般问题就不适用了。这就是你所描述的纤维你好,2018年7月30日11:37
一般来说是的,但是光纤只被矿工用来传递新的数据块信息,所以我只想指出,对于挖掘节点,它提供了良好的连接性。非挖掘节点也很重要,不要使用光纤。作为G。Maxwell在上面回答说,即使99%的节点是恶意的,只要有一个诚实的节点就足够了。通常的BFT规则,似乎你问不一定适用于比特币系统。例如,没有1/3阈值chytrik 2018年7月30日17:42
添加评论
0
拜占庭将军问题的状态为任意m,算法OM(m)达到共识,如果有超过3m的将军,最多m叛徒。
此外,当组成网络的大多数行动者决定一个国家时,就达成了共识。请参阅了解区块链基础。
比特币通过工作证明解决了这个问题。工作证明算法的难度会定期调整,以便网络最终计算出可接受的解需要10分钟。当找到此解决方案时,它会在整个网络中传播,任何参与(非恶意)的节点都将始终接受最长的链(完成工作最多的一个)。
因此,如果超过1/3的节点在伪造事务并进行证明工作,那么平均而言,其他69%的计算能力将超过攻击者,并且始终能够生成更长的链。它本质上是一场解决下一个障碍的竞赛,这就是为什么成功攻击需要超过50%的时间。
我强烈建议阅读Satoshis的电子邮件和比特币白皮书
分享
改进这个答案
跟随
回复时间:7月26日14:20
JBaczuk公司
676011金徽章99银徽章2525铜徽章
如果有1/3的节点是恶意的,只是不传播他们自己的矿工的解决方案,那么其他一些非恶意节点就不会得到解决方案,并被“困”在恶意节点控制的网络中,这难道不存在风险吗?我的意思是,信息传播本身在分布式系统中不容易出现拜占庭将军的问题吗你好,2018年7月30日6:16
如果发生这种情况,那么1/3的节点将不会被更新。另外2/3就可以了。这并不意味着网络无法继续,新的节点将无法加入。你仍然可以调查网络中最长的链条,找到“公认的真相”。我不确定我们是否在讨论同一个问题,但我认为gmaxwell的回答是有帮助的,比特币不是一个传统的共识网络JBaczuk 2018年7月30日12:00

PoW和BFT解决不同的问题。有几个区别:
BFT假设节点(aka miners)是预先知道的。PoW/Nakamoto共识允许任何人成为节点(矿工)。
BFT假设节点不会随时间变化。PoW/Nakamoto共识并不作出这种假设。
BFT不允许使用叉子。PoW/NC允许在正常情况下临时分叉(没有人会突然积累大量散列能力)。PoW/NC甚至允许有人将比特币的整个历史重写回block 1,前提是他们能够积累足够的哈希能力。
这使得比较这两种算法变得很困难——就像比较一种在排序列表中查找数字的算法和一种在未排序列表中查找数字的算法一样。
分享
改进这个答案
跟随
7月5日19:46编辑
7月4日19:55回答
姚翔
9655青铜徽章
添加评论
-1
拜占庭将军问题经常被用来说明比特币网络的安全机制,但这种类比并不完全。
在经典的拜占庭将军问题中,有明确定义的将军数量,所有将军都行使相同的投票权,而比特币是一个开放的点对点网络,任何人都可以连接。
这就是为什么他们开发了PoW算法,其工作原理不同于经典的拜占庭共识发现。
分享

时光素材-香车美女  (297)blockchainBTC比特币区块链www.qkl91.com

印度比特币ATM

印度有比特币自动取款机吗?任何官方网站,其中提供详细的
印度的比特币自动取款机。我发现一些新闻说有一台比特币自动取款机被打开了
在班加罗尔,但是关门了。现在,德里似乎有一台比特币自动取款机。
但找不到它的官方列表。
比特币atm
分享
改进这个问题
跟随
昨天问
阿米特瓦德瓦
1111青铜徽章
新贡献者
添加评论
1个答案
0
联科行动在班加罗尔坎普堡购物中心安装了自动取款机。创始人被逮捕,并对该公司提起诉讼(最近被撤销)。
分享
改进这个答案
跟随
21小时前回答的
苏布拉曼尼亚
1

时光素材-香车美女  (294)blockchainBTC比特币区块链www.qkl91.com

禁止节点爬虫有什么坏处吗?

有多个实体和开源软件在比特币P2P网络上爬行,以发现和监控用于各种目的(统计、调查、学术论文等)的节点
我认识的一些人:
btc\节点\扫描仪
dsn.tm.kit.edu软件
节点.multiven.io
bitnodes.earn.com
位节点.io
禁止这样的节点将释放我的连接槽,让我可以使用真正有用的节点来提供一致性资源。但是,禁止这种爬虫节点有什么坏处吗?
另外,如何禁止btc种子节点?这会对P2P网络的健康产生负面影响吗?
我认为理想的答案可以提供两种情况的效果:
由一个用户执行的禁止操作及其影响
大量/有意义的用户进行的禁止以及整个网络将受到怎样的影响
谢谢你
网络
节点
点对点
分享
改进这个问题
跟随
5月2日20:48问
隐翅虫
3344青铜徽章
他们是否真的在相当长的一段时间内作为同伴保持联系?即使他们来了又走,我也会的。不管怎样,也许你可以增加你的位置?因为我怀疑这些监控节点使用了那么多的网络带宽。。。或者他们会吗?—大卫巴克15小时前
添加评论
1个答案
0
作为一个实际问题,很难具体禁止爬虫,因为没有可靠的方法将它们与其他正常节点区分开来。实际上,它们可以只是普通的节点,通过代码来收集所需的数据并将其报告给聚合系统。
那么你就只能禁止普通节点了。因为运行一个节点的所有价值都来自于它通过其他节点与P2P网络的连接,这是没有意义的。
分享
改进这个答案
跟随
18小时前编辑的
5月6日17:35回答
大乔希
19044青铜徽章
我提到的节点组(bitnodes、dsn.tm.kit.edu等)都有公共用户代理(在getpeerinfo中命名为subver),因此您可以(当前)轻松地禁用它们。尽管他们有可能(开始)假装成普通节点,转而使用比特币核心的Subversion,但核心问题仍然存在cryptagoras 5月6日20:19
2
如果以这种方式被禁止,爬虫程序肯定会开始模仿真实的节点彼得·维尔昨天
添加评论

时光素材-香车美女  (293)blockchainBTC比特币区块链www.qkl91.com