为什么WIF包含网络?

当从私钥创建WIF时,在开始散列和添加校验和之前,必须在十六进制字符串的开头插入一个特殊字节:对于MainNet为0x80,对于TestNet为0xef。
WIF中有没有特别的原因?如果只做散列运算并在没有网络字节的情况下添加校验和,不是更好(更通用)吗?这背后有什么意义,WIF机制的创始人为什么决定走这条路?
只是为了我的理解。。。
私钥
钱包导入格式
分享
改进这个问题
跟随
22小时前问的
汉海因茨
4111青铜徽章
新贡献者
添加评论
2个答案
4
作为WIF格式的最初作者,老实说:这个问题我从来没有想到过,但我认为它确实有意义。
当时唯一存在的Base58Check格式是mainnet和testnet的P2PKH地址格式,它有一个网络字节。为了创建WIF格式,我只是修改了它以设置版本字节的高位,并将有效负载从公钥散列更改为私钥。
请注意,这是在种子短语、确定性钱包或备用币出现之前。有人想在多个网络上重用同一个密钥的想法并不适用。
回想起来,我认为这是一个合理的选择。您不应该跨网络(或一般应用程序)重用密钥。
分享
改进这个答案
跟随
16小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
添加评论
1
WIF代表Wallet Import Format,它是从钱包导入和导出密钥的标准化方案。因此,包含诸如网络字节之类的元数据是有意义的,这样钱包就知道什么网络是私钥,而不是为每个支持的网络尝试私钥。如果您只想编码密钥本身,而不想编码元数据,那么可以使用十六进制进行编码。
分享
改进这个答案
跟随

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

是否可以捕获网络事件而不占用整个节点?提问

你可能会觉得我的问题相当不切实际或胡说八道。但我必须在这里问。
我想捕获通过主网络传播的所有事务,并检测是否有新的块被挖掘。我不想成为一个完整的节点或spv节点。从技术上讲,我知道这正是所有full/spv节点时不时所做的。然而,我找不到一个很好的参考来教我怎么做。
这是一种方法吗?任何技术资源都将不胜感激。
客户
网络
分享
改进这个问题
跟随
两天前问的
达伍德法拉哈蒂
12344青铜徽章
新贡献者
这是可能的,但你必须相信别人昨天的普拉扬克
@Prayank听起来不错。请你详细说明一下好吗Dawood Falahati昨天
添加评论
2个答案
2
希望捕获通过主网络传播的所有事务,并检测是否有新的块被挖掘。我不想成为一个完整的节点或spv节点。从技术上讲,我知道这正是所有full/spv节点时不时所做的。然而,我找不到一个很好的参考来教我怎么做。
显然,完整节点和SPV节点必须从某处获取它们的信息。而某个地方只是P2P网络上的其他节点。
P2P协议是节点用来相互通信的协议。有一些关于https://developer.bitcoin.org/devguide/p2p_network.html,一些关于https://en.bitcoin.it/wiki/Protocol_documentation). 它的现代变化被提议为BIPs(https://github.com/bitcoin/bips),通常是向后兼容的更改,仅在支持它的客户端之间使用。
具体地说,事务通过首先使用“inv”消息宣布它们的散列来转发。然后,接收方选择从哪个对等方获取完整的事务数据,并发送“getdata”消息。然后,选定的对等方以“tx”消息进行响应。还有其他可用的机制,例如旧的(并且基本上已经废弃的)BIP37事务过滤和新的BIP157客户端过滤。
对于积木来说,要复杂一些。该序列首先使用“getblocks”请求块信息,然后用“inv”对块进行响应,“getdata”请求完整数据,并用“block”对完整块本身进行响应。BIP152压缩块提供了一种更有效的机制,使接收方能够避免在已经拥有的块中接收事务。BIP130 sendheaders支持使用“header”消息而不是“inv”消息来宣布块的替代方法。
那么,完整节点与SPV节点或其他节点的区别是什么呢?他们执行的验证级别。完整节点将完全验证它接收到的所有块和事务。如果你不想这样做,就不要这样做-如果你愿意相信你所联系的人。你可以自己实现P2P协议,或者使用现有的实现(很多语言中都有),连接到任何你喜欢的对等点,如果你做得对,他们会开始给你一个块和事务流。
分享
改进这个答案
跟随
16小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
添加评论
2
中微子是轻客户端和改进版的SPV节点:https://bitcoin-s.org/docs/getting-setup#neutrino-节点
有其他方法可以获得有关事务和块的信息,但您必须信任其他人:
对一个或多个块资源管理器使用API。例子:https://mempool.space/api
请少数运行节点的人广播此信息。示例:我们已经在某种程度上信任管理DNS种子的人员,这样他们就可以使用自己的节点广播有关事务和块的信息。
对整个族使用一个节点。示例:设置一个完整的节点,供本地网络中的每个人使用。如果你和可以信任的家庭成员住在一起,而且你已经在家里的所有设备上使用了相同的Wi-Fi。

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

如何实现位于比特币区块链文件夹之外的多个钱包文件夹?

经过大量的研究,我找不到任何解决方案,这个看似简单的比特币核心应用程序的实现。
以下是我试图实现的目标:在一台计算机上运行一个完整的节点需要多达400GB的驱动器存储空间。看来,经过我的研究,如果一个人想从同一台电脑上访问多个钱包,那么每个钱包都必须从一个不同的文件夹中运行,否则比特币核心会做出奇怪的行为,拒绝启动,或者要求用户创建一个新的钱包。除此之外,还要求每个钱包使用不同的快捷方式启动,这是完全可以接受的。
我正在运行一台Windows7计算机,它可以在辅助数据硬盘上存储1TB的数据。第一个驱动器是SSD,严格用于操作系统和软件安装。持有整个比特币区块链是可以的,但持有2个或3个副本是不可能的,而且会有点可笑,因为X乘以400GB的相同数据是没有意义的。我想做的是能够通过自己的快捷方式推出一个不同的钱包。经过几次实验,我发现这样做的唯一方法是每次我想运行一个钱包时,我必须将一大堆与该钱包相关的文件替换到\bitcoin文件夹中。这是一项乏味的任务,也是一种相对不安全的做事方式。这种做法容易出错,可能会有丢失一些比特币的风险。
我试过捷径选项
–walletdir=D:\所有钱包\MyWalletA\
但这不起作用的原因。参数被完全忽略而不产生任何错误。我发现唯一可行的方法是将整个区块链3X保存到3个不同的文件夹中,并用适当的快捷方式启动其中任何一个文件夹。一个需要1.2TB的选项没有实际意义,因为它占用了太多的硬盘内存。
所以问题是:
我如何存储一个位于FolderA的与D:\比特币完全不同的钱包\
(如果D:\比特币\将是完整的区块链位置)?
如果我能做到这一点,那么我也可以创建任意数量的FolderB,FolderC,FolderD来存放我不同的钱包,当我需要做交易时,我可以启动任何一个钱包(不是同时启动)。所有这些文件夹都可以存储钱包文件,但不能存储整个区块链。谢谢你的帮助
比特币核心
块链
钱包.dat
分享
改进这个问题
跟随
4月26日19:03问
弗雷德·凯洛
12311银徽章66铜徽章
1
请告诉我这是否解决了您的问题:bitcoin.stackexchange.com/a/103317–Prayank 4月26日22:25
@普拉扬克,这个建议解决不了问题。我用“-datadir=D:\SomeFolder”做了实验,效果很好。问题仍然是wallet.dat文件必须位于D:\SomeFolder中,比特币核心才能正常打开。如果钱包里没有比特币核心,就会迫使你创建一个新的。我肯定有解决办法。还在找。谢谢–Fred Cailloux 4月27日15:27
您可以同时装入多个钱包15小时前的皮特·维尔
添加评论
1个答案

围绕钱包位置限制的一项工作是,在\bitcoin文件夹中可以有一个子文件夹,例如,\AllWallets。在这个子文件夹中可以有许多子文件夹,其中包含每个钱包所需的文件。这些文件是Wallet.dat、.walletlock和db.log
当bitcoin-qt.exe在没有钱包的情况下启动时,它将提醒用户创建一个新钱包或使用“文件>打开钱包”菜单,并提供打开位于每个子文件夹中的任何子文件夹钱包文件。例如,可能有3个子文件夹名为\JackWallet、\AlfredWallet和\JoeWallet。
用户可以根据需要打开任意多个钱包。选择框将出现在右上角的比特币qt GUI中。此选择器将提供与任何一个当前打开的钱包。这样,用户能够利用其选择的钱包进行支付或任何其他操作变得非常方便。选择的变化很快,看起来很实用。
为了熟悉这个新发现的特性,还需要更多的实验。虽然这并没有解决钱包位置不在\bitcoin文件夹中的限制,但它确实使GUI更方便地使用多个钱包。
分享
改进这个答案
跟随

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

如果有人有商业账户想给我寄比特币,我的钱包里需要最低存款额吗?

如果他们有一个金额很高的商业账户,我需要至少£他们能在我的550里转移吗?
欺诈
分享
改进这个问题
跟随
5月25日15:19编辑
墨奇♦
54.3K33232金徽章150150银徽章469469铜徽章
5月25日13:23问
霍莉
311青铜徽章
新贡献者
相关网站:bitcoin.stackexchange.com/q/103891/5406–Murch♦ 5月25日15:19
添加评论
1个答案
2
不,任何声称这样的东西都是骗局。
分享
改进这个答案
跟随

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

开发比特币POS(支付页面)-如何识别交易

这可能是一个基本问题,但我找不到答案。
我们正在为销售点开发BTC支付流程。我们已经设法建立这个罚款,并可以提出要求(二维码)支付金额在BTC。例如0.0001 BTC
然后,我们检查区块链上金额为0.0001 BTC的地址上的等价交易。
这很管用。
但似乎不可靠。如果在同一时间有多个相同金额的交易呢。我真的希望能够插入一个唯一的标识符/订单号或备忘录到二维码请求,然后被传递到交易。这会将请求链接到具有唯一id的付款。有没有办法做到这一点?如果没有,似乎很奇怪?或者有没有另一个明显的方式,我错过了?
我们正在使用https://api.blockcypher.com to 获取交易详细信息。如下所示。虽然钱包和QR生成器允许您添加这样的参数,但似乎没有任何类型的“memo”参数。
{
“tx_hash”:“8bbe058b46f2f9a7e1709ca4a3ff731ba227d23f2edf11eb8710dfcd6b1e502”,
“块高”:685568,
“tx\u输入\u n”:-1,
“tx\u输出\u n”:0,
“值”:16692,
“参考余额”:3417334,
“花费”:错误,
“确认”:4,
“确认”:“2021-05-30T22:09:51Z”,
“双倍消费”:错误
},
交易
块链
事务id
分享
改进这个问题
跟随
13小时前问的
泪囊学
10122青铜徽章
新贡献者
添加评论
1个答案

唯一正确的方法是为每个预期的付款生成一个新的地址,然后等待,直到您收到该地址上的金额。
分享
改进这个答案
跟随
13小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
1
是来写这个的。为每张发票使用一个新地址墨奇♦ 13小时前
谢谢。。。我想那是我们错过的一整片区域。目前的假设是,我们存储一个固定的公共广播。是否有简单/免费的api用于动态生成多个加法13小时前
1
大多数钱包软件甚至会让你很难重用地址。当你要求一个地址,你会得到一个新的。像BTCPayServer这样的集成POS系统也可以做到这一点11小时前的皮特·维尔
添加评论
你的答案

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

在比特币核心中,紧凑块是否预先填充的不仅仅是币基?

n的“How are expected missing transactions selected to immediate forward?”部分https://bitcoincore.org/en/2016/06/07/compact-blocks-faq/ 它声明“为了减少在初始实现中需要检查的内容的数量,只有coinbase事务将被预先发送。”
我发现https://github.com/bitcoin/bitcoin/blob/master/src/blockencodings.cpp#L23 它仍然将预填充比coinbase更多的内容列为待办事项。我想知道这是不是真的正确,还是一个错误的待办事项。如果没有,是否有人在开发该功能,或者是否有从未实现该功能的原因?
比特币核心
网络
点对点
事务传播
压缩块
分享
改进这个问题
跟随
5月25日23:11编辑
墨奇♦
54.3K33232金徽章150150银徽章469469铜徽章
5月25日23:10问
杰克·罗斯特霍恩
3122青铜徽章
新贡献者
添加评论
1个答案
2
在实现紧凑块时,添加更高级的事务预填充预测可能是一个TODO,但据我所知,从那以后就没有人做过这方面的工作。
值得指出的是,紧凑块在实践中(以及在非敌对情况下)效果非常好。在我自己的长时间运行的节点上,截至目前,在过去1000个块(约1周)中,944个被重建,而不需要任何额外的事务。在56个不属于这种情况的国家中,只有5个国家缺少3笔以上的交易。
分享
改进这个答案
跟随

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

同行是否宣传他们的连锁经营?

f是的,这就是节点决定对等节点具有头文件第一次下载的最佳链的方式吗?
同步
块标题
同龄人
分享
改进这个问题
跟随
问5月24日23:00
保罗
3111青铜徽章
添加评论
1个答案
0
实际上,他们没有。
寻找最佳头链的协议相当简单:一个节点被要求在节点知道的最后一个已知的块头之后获得2000个头,而该节点和该节点有共同点。当这些邮件头到达时,会要求它提供更多信息。此过程重复进行,直到达到超时或接近当前的时间点。当后者发生时,所有对等方都会被要求提供它们的头。
当然,同时,当对等方(所有的对等方)声称有用于头的块时,他们也会被要求提供实际的块,我们相信这可能是通往最佳链的路径。如果同龄人不能提供这些,他们就会失去联系。如果它们提供了无效的块,它们可能被标记为“不鼓励”(可重放),如果适用,该块也可能被标记为永久无效。如果发生这种情况,提供从无效块派生的其他块或头的对等方也将受到惩罚。
有一些关于反向头同步的想法可能更接近你的建议。据我所知,这在任何地方都没有实现。
分享
改进这个答案
跟随

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

区块链上的原始交易存储在何处以及如何存储?

我的理解是,交易以双哈希格式存储在区块链上:ie SHA256(SHA256(rawtransation))。但是也可以访问原始事务。这意味着原始事务数据必须存储在某个地方。那么,如果原始交易数据没有存储在区块链上,它存储在哪里呢?或者我的初始语句对以双哈希格式存储的事务是否有误?我不认为可以通过反转双哈希操作来提取原始事务数据。
比特币核心
交易
块链
分享
改进这个问题
跟随
11小时前问的
马克
11322青铜徽章
新贡献者
添加评论
2个答案
4
这是一个定义问题。
区块链不存储任何东西,它是一个抽象的数据结构,由网络中的节点共同维护。这些节点就是存储东西的节点。这可能包括也可能不包括实际的事务数据-这无关紧要。
比特币区块链由哈希链接的块头组成。每个块头都包含上一个块头的哈希。每个块头还包含其中所有事务哈希的哈希(通过Merkle树)。这些事务散列显然是事务数据本身的散列。
这是所有节点都需要同意的结构的定义,因为它涉及散列,这些散列需要匹配。但他们实际上储存的是他们自己的事。具有未运行历史记录的完整节点将存储所有事务和所有块。修剪后的节点可以将所有事务和块存储到历史上的某个特定点。更轻量级的节点可能只存储用户感兴趣的块头和事务。
分享
改进这个答案
跟随
11小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
添加评论
0
双哈希格式:ie SHA256(SHA256(rawtransation))
你对这件事的理解是非常非常错误的。
区块链中存储的数据结构不是双重散列的。相反,数据结构中存储了两个哈希值。
而不是SHA256(SHA256(rawtransation))。您应该将区块链数据结构可视化为:
结构块{
交易[]交易;
int256 nonce;
int256 previousHash;//SHA256(previous.transactions+previous.nonce+previousHash)
int256哈希;//SHA256(this.transactions+this.nonce+this.previousHash)
}
您可以看到,数据结构通过将前一个块的哈希作为其自身数据的一部分而链接到前一个块。这是区块链的“链”部分。整个块集的定义是递归的,因为要计算前一个块的哈希值,需要先计算前一个块的哈希值,依此类推,直到到达genesis块为止。
原始提交的事务是块的一部分。
分享
改进这个答案
跟随

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

从哪里可以找到2011-2012年比特币qt的旧版本

从哪里可以找到2011-2012年比特币qt的旧版本供下载?我在源代码库中找不到任何东西,我在论坛上找到的所有链接都没有了。
有没有人能够帮助查找非常旧的windows比特币qt下载?
比特币核心
分享
改进这个问题
跟随
2月11日0:56问

11122青铜徽章
2
先发制人地说,你不需要一个旧版本的软件来打开一个旧钱包;使用任何一种极其古老的比特币版本都是不明智的匿名2月11日1:57
我想分析一下旧版本的随机种子是如何生成的,主要是UI部分,我不打算打开任何钱包或做任何交易2月11日3:18
@或许更有趣的是,直接问一下,在比特币Qt的旧版本中,密钥是如何生成的?一个好的答案应该包括引用源代码来支持它的主张彼得维尔2月12日4:15
我想要实际的版本,这样我就可以看到生成和保存随机种子的UI。所以我可以帮助你,让它有机会恢复。我找不到任何随机种子数据(移动鼠标)的示例2月12日4:51
添加评论
3个答案
1
你可以在哈尔·芬尼(halfinney)自己提供的这条古老的bitcointalk线上找到比特币的首次发行版https://bitcointalk.org/index.php?topic=68121.0
对于较新的版本,大约在2009年,您可以挖掘github repo的官方版本https://github.com/bitcoin/bitcoin/releases
分享
改进这个答案
跟随
2月11日1:58回答
萨克斯霍夫
221155金徽章1313银徽章2727铜徽章
1
github上的版本没有二进制文件匿名2月11日1:59
这些都必须编译,在windows上编译qt对不熟悉qt的开发人员来说也不是一件小事2月11日下午3:19
1
@罗尔斯:你需要编译吗?源代码检查不能用于“查看随机种子是如何生成的”吗红砖2月11日10:40
从0.1开始,每个版本的源代码都在同一个源代码树中。不过,你所说的版本都没有使用高清种子,而是使用原始私钥匿名2月11日13:20
我想看看随机种子是如何显示的,是否有备份的提示,如果有,随机数据是什么样子的,例如多少字节,base64等等。我记得有人提示我在屏幕上移动鼠标来生成种子数据2月12日4:51
再显示1条评论
0
我有一个Windows 32位版本0.4.0的比特币客户端(从2011年开始),install.exe文件。如果你想要一份,请告诉我。
分享

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

Currency.com利用新的高级职员带来的强劲客户增长

英国伦敦,2021年5月25日,
欧洲加密平台第一季度新客户群增长250%;任命史蒂夫·格雷戈里(Steve Gregory)为其纽约首席执行官,以帮助其在美国和加拿大的业务增长。
高增长的欧洲加密平台Currency.com今天发布报告称,截至2021年3月31日的前三个月,客户数量和交易活动强劲增长。与2020年第四季度相比,2021年第一季度在加密平台Currency.com上注册的新客户数量增加了250%。同期,加密平台报告交易活动激增,Currency.com上执行的交易总数季度环比增长134%。2021年第一季度,该平台上交易量最大的五大加密货币市场包括比特币、Ripple、以太坊、Dogecoin和Litecoin。
请注意:这是一份新闻稿
这一辉煌的增长证实了公司致力于扩大团队规模,开拓新市场,继续开发产品和服务,更好地为客户服务。
为了加速美国和加拿大的经济增长,Currency.com欢迎史蒂夫格雷戈里(stevegregory)加入其高级领导团队。史蒂夫目前在纽约,他是Currency.Com的美国子公司Currency Com US LLC的首席执行官。
Steve加入Currency Com US LLC,在数字资产和加密货币领域建立高度监管的业务方面有着良好的业绩记录。最近,史蒂夫在全球现货市场交易所CEX.io担任首席合规官和公司法律顾问。他还曾在数字货币交易所和托管人,双子座信托公司,在那里他是原始团队的一部分,负责成长为美国领先的加密货币交易所双子座。史蒂夫的新角色将包括制定和管理Currency.com在美国的增长战略,重点是确保在整个过程中遵守健全的法律和监管规定。
Currency.com策略主管Vitalii Kedyk评论道;
“近几个月来的强劲增长加速了我们的扩张计划,鼓励我们加强各个国家的团队。史蒂夫在全球和美国加密货币领域的知识和经验,加上他对法律监督的非凡眼光,使他非常适合我们。作为一家公司,我们的目标是扩大我们的监管范围,使我们的客户能够轻松、安全地购买、交易和投资加密货币。史蒂夫在该行业拥有丰富的经验,他的任命将有助于确保我们继续实现2021年及以后的增长目标。”
史蒂夫·格雷戈里评论道;
“我很高兴能加入Currency.com的团队,特别是在这个持续增长和扩张的时期。随着加密货币领域的日益普及,我们必须继续坚持最高的监管和合规标准,帮助更多的人满怀信心地投资。我期待着为企业的长期成功做出贡献。”
关于Currency.com
Currency.com是一个高速增长的加密平台,将蓬勃发展的加密货币世界与传统金融资产世界无缝连接起来。该平台采用简单、灵活和直观的技术,使投资者能够使用加密货币和法定货币安全地购买、交易和投资流行的加密货币。
在允许这样做的市场中,加密平台还使投资者能够交易标记化股票、指数和大宗商品,从而使更多的投资者能够在加密货币之外实现数字资产的多样化。为了帮助投资者信心十足地进行交易,加密平台配备了强大的风险管理控制、透明的定价和广泛的金融教育内容。

2020年,加密平台的客户群增长了374%,成为欧洲增长最快的加密货币交易平台之一。风险资本家维克托·普罗科彭亚(Viktor Prokopenya)通过其基金副总裁资本(VP Capital)成为该公司的早期投资者。
Currency Com Limited经直布罗陀金融服务委员会授权提供分布式账本技术服务,许可证号25032。Currency Com Bel LLC注册为白俄罗斯高科技园区居民,有权使用代币开展活动。公司在英国、塞浦路斯、白俄罗斯、美国、直布罗陀和乌克兰设有办事处。

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