SegWit通过将签名从散列形成事务id的数据块中移出,修复了事务的延展性。
然而,施诺尔没有遭受签名延展性(https://medium.com/digitalassetresearch/schnorr-signatures-the-inevitability-of-privacy-in-bitcoin-b2f45a1f7287):
非延展性:ECDSA签名具有固有的延展性,这使得没有访问私钥的第三方能够更改现有的有效签名并重复使用资金。BIP62正式讨论了这个问题。相比之下,Schnorr签名是可证明的不可延展的。
因此,Schnorr签名是否仍然与正在散列的数据隔离,如果是,为什么?
隔离证人
交易延展性
施诺尔签名
分享
改进这个问题
跟随
8小时前问的
达利特塞里奥
3322青铜徽章
新贡献者
根据blockstream.com/2017/07/31/en-segwit-myths-debunked segwit没有从blocks删除签名–Prayank 4小时前
没错,但也不是达利特·塞里奥所说的。问题指出“在散列形成事务id的数据块之外”,这是正确的墨奇♦ 1小时前
添加评论
1个答案
2
Schnorr(bip-340)签名作为v1 Segwit输出的一部分被引入CHECKSIGADD操作码。因此,bip-340签名是证人的一部分,而不是构成txid的散列的一部分。
签名延展性只是Segwit带来的众多好处中的一个,我们不应该放弃所有其他好处(并鼓励使用遗留事务),因为提案的一部分不需要其中一个。
例如,这些好处之一是更简单的脚本版本控制,而使用遗留版本控制(NOP ops)推出CHECKSIGADD行为将有点“脏”(此外,还增加了使用遗留事务的动机,这些事务对于网络来说处理成本更高)。
分享
改进这个答案
跟随
月度归档: 2021 年 6 月
高清钱包为生成的密钥创建派生路径。但是如果您需要用种子密钥或主密钥重新生成这些密钥,您从哪里获得派生路径?我不知道它们怎么能储存在种子里。钱包是否会强制导出路径来查找具有余额的UTXO?
bip32高清钱包
种子
硬化衍生
分享
改进这个问题
跟随
1小时前编辑
墨奇♦
54.4K33333金徽章151151银徽章471471铜徽章
10小时前问的
马特·坦什
9933青铜徽章
添加评论
1个答案
0
我不是一个钱包开发者,但这是我想象的在种子高清钱包中发现资金的过程:
开始为账户#0生成地址,并检查它们是否出现在区块链历史记录中。当您看到一长串没有历史记录的地址(比如几百个)之后,您可以假设这就是这个帐户上使用的所有地址。为帐户1、帐户2执行上述操作。。。直到你开始看到没有使用地址的帐户(再次选择一些截止点),然后假设这就是所有的帐户。
如果您的种子钱包支持多种地址类型(Legacy、P2SH SegWit、Native SegWit),请对所有这些类型执行上述操作。
分享
改进这个答案
跟随
2小时前回答的
伏伊特ěch标准
17355青铜徽章
添加评论
不知道你能不能帮我。
我有我的17个字的种子(是17个字)和我的钱包密码地址,我可以看到我的密码在区块链上的地址下。
我如何恢复我的钱包与上述两件事,因为我以前的设备失败,是死了。
钱包
分享
改进这个问题
跟随
问5月9日16:32
1980年
111青铜徽章
你从哪里得到一个17个单词的短语?它与bip39不兼容,可能是一个专有算法——Mike D 5月9日21:36
添加评论
2个答案
0
不是这个问题的专家,但是试着找出最初是用什么算法从这17个单词中生成私钥的。
您应该能够应用相同的算法并将其恢复。
我没有从这个问题,如果你的钱包是硬件或软件,但无论如何,通过检查该钱包的文件,你应该能够找到上述信息。
希望这有帮助。
分享
改进这个答案
跟随
5月9日20:40回答
胜利者
10111青铜徽章
添加评论
0
还有其他关于17个单词短语的问题。它们可能是business blockchain.info(现在的blockchain.com)提供的过时钱包软件的遗留恢复短语。这家公司有一个使用传统短语进行钱包恢复的网页。
助记短语
如果您保存了旧版钱包恢复助记符,请在下面输入它以查看密码和登录链接。
注意:如果您有一个12字的恢复短语从我们的高清钱包,请前往高清钱包恢复页面。
我不想把一个恢复短语放入一个网站的一些随机业务,但也许你最初使用该业务为您的钱包出于某种奇怪的原因?如果是这样的话,那可能是有用的。
分享
改进这个答案
跟随
5月11日9:02编辑
我看到有许多商店接受BTC付款。
对支付给“商店”的金额是否有任何公布、估计或下限?
我不介意商店的定义是否被广泛接受,因此增加像Twitch这样的公司的支出是可以的,但如果可能的话,主要的金融交易(例如购买美元,或为比特币赌博)不应该包括在内。
商业
分享
改进这个问题
跟随
8小时前问的
丹尼斯·杰鲁丁
14377枚青铜徽章
添加评论
1个答案
0
对支付给“商店”的金额是否有任何公布、估计或下限?
比特币的公共复制交易日志(“区块链”)的本质是,几乎不可能区分交易的潜在现实本质。因此,任何涉及商店的交易数量信息都必须来自这些商店和支付处理商。一般来说,他们没有很好的经济动机来公布按这种方式细分的销售数据。他们通常认为销售数据具有商业敏感性。
所以我会很惊讶(尽管我想你会很高兴)看到任何可靠的数据。
分享
改进这个答案
跟随
据我所知,当矿工将事务从mempool添加到候选块时,他们会将txn附加到merkle树,这需要更多的散列,以及验证事务所涉及的散列/数学。难道这一切不会浪费战俘的能量吗?
写这篇文章的时候,我意识到,很明显,有一个动机是为了增加更多的TXN来支付费用,而且区块可能会很快填满,而且区块和验证所需的所有计算与PoW相比是微不足道的。这是真的吗?
与其他事物相比,PoW的计算能力(散列)占了多少?
工作证明
hashpower公司
梅克尔树
分享
改进这个问题
跟随
6小时前问的
马特·坦什
4533青铜徽章
添加评论
1个答案
2
当前的网络哈希速率约为150 EH/s,这意味着您需要为每个块计算约90000000000000000哈希。这是一个令人难以置信的计算量与能源成本可比较小的国家。
另一方面,从mempool事务创建merkle树并验证它们,甚至在低端消费者笔记本电脑上也可以轻松完成。现在,有多个矿工和矿坑在这样做,但这并没有改变整体情况。工作证明很容易支配比特币网络中的所有其他计算。
分享
改进这个答案
跟随
嘿,我每次运行sudo systemctl enable时都会遇到这个错误——现在是bitconid
bitcoind.service的作业失败,因为控制进程已退出,并返回错误代码。有关详细信息,请参阅“systemctl status bitcoind.service”和“journalctl-xe”。
当我输入sudojournalctl-xe——单位比特币时,我得到这个。bitcoind.service-加载的Bitcoin守护进程:已加载(/etc/systemd/system/bitcoind.service;启用;供应商压力>激活:自2020-12-30周三15:12:05 UTC起失败(结果:退出代码);23s>进程:2411 ExecStartPre=/bin/chgrp admin/etc/bitcoin(code=exited,stat>
这是我的比特币服务的样子。我把用户和组从比特币改成了管理员[Unit]Description=比特币守护进程After=network.target
[服务]ExecStart=/usr/bin/bitcoind-daemon
-pid=/run/bitcond/bitcond.pid
-conf=/etc/bitcoin/bitcoin.conf
-datadir=/var/lib/bitcond
确保服务用户可以读取配置目录
PermissionsStartOnly=true ExecStartPre=/bin/chgrp admin/etc/比特币
过程管理
####################
Type=forking PIDFile=/run/bitcoind/bitcoind.pid Restart=on failure TimeoutStopSec=600
运行方式admin:admin
用户=管理员组=管理员
/运行/比特币
RuntimeDirectory=bitcond RuntimeDirectoryMode=0710
/etc/比特币
配置目录=比特币配置目录模式=0710
/var/lib/比特币
StateDirectory=bitcond StateDirectoryMode=0710
硬化措施
####################
提供私有/tmp和/var/tmp。
PrivateTmp=真
拒绝访问/home、/root和/run/user
ProtectHome=真
进程的Mount/usr、/boot/和/etc为只读。
ProtectSystem=已满
不允许进程及其所有子进程获得
通过execve()获得新权限。
NoNewPrivileges=真
使用仅填充了API伪设备的新/dev命名空间
例如/dev/null、/dev/zero和/dev/random。
PrivateDevices=真
拒绝创建可写和可执行内存映射。
memoryDNyWriteExecute=真
[安装]WantedBy=多用户.target
下面是我之前做的步骤:~$cd src~/src$git clone–depth 1–branch v0.20.1https://github.com/bitcoin/bitcoin.git ~/src$cd bitcoin~/src/bitcoin$。/contrib/install\u db4.sh pwd~/src/bitcoin$。/autogen.sh~/src/bitcoin$export BDB\u PREFIX=’/home/ubuntu/src/bitcoin/db4’~/src/bitcoin$。/configure BDB\u LIBS=“-L${BDB\u PREFIX}/lib-ldb\u cxx-4.8“BDB\u CFLAGS=”-I${BDB\u PREFIX}/include“~/src/bitcoin$make~/src/bitcoin$sudo make install~/src/bitcoin$bitcoind-version vi bitcoin.conf server=1
rpcbind=127.0.0.1
白名单=127.0.0.1
rpcallowip=127.0.0.1/32
ZMQ子块=tcp://127.0.0.1:28332
ZMQubrawtx公司=tcp://127.0.0.1:28333
~$sudo mkdir-p/etc/bitcoin~$sudo cp bitcoin.conf/etc/bitcoin~$sudo chmod 644/etc/bitcoin/bitcoin.conf
最后我得到了ubuntusystemd[1]:启动比特币守护进程失败。
比特币
分享
改进这个问题
跟随
12月31日15:27问
布莱恩B4
111青铜徽章
我认为最好在比特币核心问题追踪系统中解决这个问题,我看到你已经打开了一个问题。因此,最好在github.com/bitcoin/bitcoin/issues/20818–Michael Folkson 12月31日16:35结束这个StackExchange问题
添加评论
1个答案
0
如果您使用PPA安装Bitcoin core,则意味着您的脚本在错误的位置查找Bitcoin。
要确认bitcoind的安装位置,请使用whereis bitcoind
这可能会返回/usr/local/bin/bitcoind,现在您的脚本正在/usr/bin/bitcoind中查找它,因此您可以将它复制到该目录中
sudo cp/usr/local/bin/bitcoind/usr/bin/bitcoind
或者更改脚本以在/usr/local/bin/bitcoind中查找它
分享
改进这个答案
跟随
我对hashgraph这样的一致性算法有一些基本的疑问。例如,让我们以最简单的基于领导者的共识算法为例,我们不能在分散的环境中使用它,因为单个攻击者很容易通过旋转数千个节点来支持他来控制集群。
总的来说,基于投票的算法使得攻击者无论是基于领导者还是无领导者都非常容易。所以我们不能在分散的环境中使用它。”
像PoW这样的算法使得单个攻击者很难通过计算难题接管网络。
以hashgraph为例,它又是一种基于投票的算法,所以想知道它是如何防止单个攻击者在分散设置(在这种设置下,您无法信任您的对等方)中获得网络控制权的???
我确实了解hashgraph的工作原理,但无法在分散的设置中可视化它。有什么见解吗?谢谢
块链
分享
改进这个问题
跟随
编辑时间:2018年5月11日13:52
2018年5月11日5点23分被问到
米尼莎
15344青铜徽章
为什么被标记为比特币核心克拉夫特元帅2018年5月11日11:56
是的,那是个错误,删除了它-米尼莎5月11’18日13:53
添加评论
1个答案
0
但如果这仍然是个问题的话-
Hashgraph并不完全是一个基于投票的算法。它通过“闲聊”进行“虚拟投票”,即节点不仅闲聊有新交易,而且还闲聊他们什么时候听到的,谁告诉他们的/他们是怎么听到的(字面上是闲聊的!)这样每个节点都对网络有完整的了解。如果节点A知道节点B所知道的一切,那么A还可以知道B将投票什么(实际上没有B投票!)
而且,hashgraph从来没有说51%的攻击不会发生。通过拜占庭容错,甚至可以发生34%的攻击(如果超过1/3的节点是恶意的)。Hashgraph只是说DDoS或DoS(拒绝服务)攻击不会发生,因为没有领导者。
请参阅Hashgraph白皮书或关于其一致性算法的科学论文:https://docs.hedera.com/docs/hashgraph-overview 或者https://www.hedera.com/whitepaper
分享
改进这个答案
跟随
19年5月22日9:02答复
胡尔·克塔里
101
添加评论
网络上比特币交易输入和输出的定义是:
输入=汇款地址,输出=收款地址
1.但当我看到下面的一张交易截图时:
左侧应该是输入,但当我将鼠标悬停在它上面时,它显示为输出
原因是什么?
2.下面显示了两个不同地址的金额。在正常交易中
金额将只转到一个地址。在比特币中,一个人可以转移到多个账户吗
同时?在此处输入图像描述
交易
事务输入
分享
改进这个问题
跟随
三小时前问的
阿米特瓦德瓦
1111青铜徽章
新贡献者
添加评论
1个答案
0
你找到的定义是错误的。没有“发件人”地址,也没有“比特币账户”。
把比特币系统想象成硬币。至于物理硬币,你花了他们全部,可能会得到新的硬币回来的变化。与实物硬币相反,这些硬币是公开的,因此任何人都可以“抢夺”它们,因此必须有一种方法,只有硬币的“拥有者”才能成功地使用它们。这就是地址的本质。
硬币是交易输出。”抓取“硬币”是指在新事务的输入中引用事务输出。通过在此输入中提供数据来完成由引用的输出中的地址设置的质询,从而证明所有权。
因此,为了具体回到您的问题,在您的屏幕截图中,应用程序将显示此事务输入引用的输出,因为它是显示感兴趣信息的位置(硬币的价值以及如何解锁它)。你当然可以在同一个地址锁定多个硬币。事实上,这项交易解锁3个硬币,在那里以相同的方式锁定(因此“在同一个地址”)。
分享
改进这个答案
跟随
3小时前回答的
达罗西奥
295911金徽章55银徽章2323铜徽章
我觉得这是第一百次“重新解释轮子”,但我没有找到一个解释硬币/utxo模型与快速搜索,所以我只是写了一个定制的答案。不过,我觉得如果有人能找到一个相当接近的答案,它可能会被标记为复制品达罗西奥3小时前
添加评论
你的答案
比特币核心v22.0将包括对Taproot的哪些钱包支持?使用核心钱包我能做什么,不能做什么?
钱包
比特币核心开发
主根
输出脚本描述符
分享
改进这个问题
跟随
两小时前问的
迈克尔·福克森
616277银牌2323铜牌
添加评论
1个答案
0
这是一份草稿答复,可能有不准确之处。如果有,我会更新的。
值得注意的是,主根很可能在2021年11月在mainnet上处于活动状态,但在此之前,主根规则将不会在网络上实施。在此之前任何尝试的主根消费都将被视为任何人都可以通过网络消费。
比特币核心版本0.21.1允许您发送到一个主根(SegWit版本1,bech32m编码)地址。它还支持验证regtest和signet上的主根开销。但它不允许您在钱包中生成一个主网主根地址(您可以生成一个regtest主根地址?),也不允许您从主根UTXO消费。
对于v22.0,有钱包拉取请求(例如PR 21365、PR 22051、PR 22166)允许您从主根UTXO消费,只要您从中消费的密钥路径或脚本路径只是一个pubkey消费(例如描述符tr(key)或tr(key,{pk(key),pk(key)})。不支持任何脚本、multisig或MuSig(例如tr(MuSig,{wsh(SCRIPT),wmulti(k,KEY\u 1,KEY\u 2,…,KEY\u n)})。描述符钱包还不支持任意的脚本,主根或非主根,这将在描述符支持Miniscript时出现。钱包将生成一个有效的Schnorr签名(使用libsecp256k1库)来使用Taproot UTXO,但不会广播它(这将在2021年11月Taproot激活后得到支持)。
您可以使用此处的说明创建描述符钱包。
这里有关于各种描述符(包括tr()直根描述符)的信息。该文档有一个主根描述符示例。
tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{主键(FFF97BD5755EE420453A14352355D382F6472F8568A18B2F057A1460297556),主键(e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13)})
c6047f…,fff97b。。。和e493db。。。例如Schnorr公钥。c6047f。。。在主根密钥路径中,另外两个公钥在脚本路径中,即可以在P2TR地址中使用的备用脚本的Merkle树。
分享
改进这个答案
跟随
31分钟前编辑