如何使用BitcoinJ签署交易

我在没有钱包实例的情况下使用BitcoinJ库签署交易时遇到问题,我只有事务类实例和ECKey才能签署交易。
有办法实施吗?
交易
原始事务
比特币
安卓
java
分享
改进这个问题
跟随
2015年4月29日18:30编辑
尼克·奥德尔
27.8k88金徽章6161银徽章19119铜徽章
4月29日下午17:23问
柳叶
12111青铜徽章
添加评论
1个答案
0
很好的一天。您应该有一个未使用的输出列表,以便将它们添加到tx的输入中。此外,您还应该生成私钥,并为您的每个输入使用特殊的私钥。
试一试:
TransactionOutPoint outPoint=新TransactionOutPoint(params,utxo.getIndex(),utxo.getHash());
byte[]privKeyBytes=十六进制解码(privKeyAsHex);
ECKey ECKey=ECKey.fromPrivate(privKeyBytes);
transaction.addSignedInput(outPoint,utxo.getScript(),ecKey,transaction.SigHash.ALL,true);
分享
改进这个答案
跟随
回复时间:11月14日16:53
帖木儿-攀枝列夫
4177青铜徽章
添加评论

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

解锁交易时钱包是否易受攻击?

解锁用于交易时,钱包是否易受攻击?。前段时间我恢复了一个钱包,一切正常。密码密钥看起来都很好。但关于我们进行交易的那一刻,我想到了一个问题。我猜我们必须连接到网络区块链,或者你怎么称呼它。我们解锁钱包用于交易是对是错?如果是的话,这难道不意味着即使是几分钟的时间,钱包也会被黑客攻击吗?谢谢你的帮助。
交易
安全
交易所
网络
隐私
分享
改进这个问题
跟随
20年12月23日19:01问
奥迪塞斯夫
1
添加评论
1个答案
0
您可以在不同的机器上创建、签名和广播事务。当私钥离线时,它被称为冷库。
示例:使用比特币核心在手表钱包中创建未签名的tx(PSBT),在electrum中签名并使用比特币核心进行广播
分享
改进这个答案
跟随

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

交叉输入签名聚合是否需要新的输出类型?

如果交叉输入签名聚合要在Taproot激活后在后续的软fork中实现,那么它的使用是否需要新的输出类型?
隔离证人
输出
交叉输入签名聚合
分享
改进这个问题
跟随
问5月11日23:29
墨奇♦
54K33232金徽章150150银徽章465465铜徽章
添加评论
1个答案
1
交叉输入签名聚合(Cross-Input Signature Aggregation,CISA)是一种允许单个签名覆盖多个输入的思想。一个主要的动机是,它允许多个用户在一个事务中合并他们将要发送的事务,并降低总体成本。为此,CISA的主要兴趣在于关键路径。
CISA的当前草图是用一个字节占位符替换除一个相应的scriptSig之外的所有scriptSig,然后为最后一个输入的scriptSig中包含的所有输入提供签名。
由于BIP341定义了P2TR密钥路径开销的开销规则,但不允许使用空的scriptSig来花费输入,因此不可能在激活主根之后为P2TR密钥路径开销引入带有软分叉的CISA。
因此,需要一个新的输出类型来显式地允许CISA使用占位符。
由于CISA还没有正式提案,上述观察结果可能会发生变化。
分享
改进这个答案
跟随
两小时前编辑的

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

未来的SIGHASH\u ANYPREVOUT功能是否会损害直根闪电频道的隐私?提问

我听说的关于Taproot的一个优点是,所有的交易看起来都和区块链观察者一样。当然,对于lightning channel开放/关闭交易也是如此,这对lightning用户来说是一个很大的隐私优势。
据我所知,提议的ANYPREVOUT升级将构建在主根之上,但需要使用不同长度的pubkey。观察者是否有可能扫描区块链的这个pubkey长度,以确定哪些交易正在使用ANYPREVOUT,因此可能与闪电有关?或者有没有可能以某种方式将其隐藏在主根中,这样隐私仍然可以得到维护?
雷电网
主根
分享
改进这个问题
跟随
两小时前问的
用户121612
1
新贡献者
添加评论
1个答案
1
信道的基础是Mulsig输出,当使用MUSIG和主链时,它不能与其他输出区分。
共同通道关闭只是一个常规的tx使用这个输出,所以我想说,如果没有其他数据(与当前通道类似),很难将其检测为lightning Chanel
然而,单边关闭是不同的,留下了通道状态的足迹。我认为用于启动结算tx的更新事务可能具有您所指的可检测结构(我真的想问你消息来源)
分享
改进这个答案
跟随
1小时前回答
雷内·皮克哈特
913466银牌2424铜牌
添加评论

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

比特币闪电还不能扩展吗?

比特币每年验证约2.2亿笔交易。即使使用Lightning,我也不想每年至少在区块链上验证一次我的比特币吗?每年有80亿人验证一次,难道在区块链中平均需要40年才能得到验证吗?如果你被迫关闭闪电通道怎么办?
这难道不会让比特币的使用不再安全吗?
雷电网
可扩展性
分享
改进这个问题
跟随
1小时前编辑
墨奇♦
54K33232金徽章150150银徽章465465铜徽章
12小时前问的
弗雷麦克斯特
1111青铜徽章
新贡献者
添加评论
2个答案

对。
但随着即将到来的主根升级和schnorr签名,我们可以创建一个n-of-n multisig的单一比特币tx,它使我们能够在一个事务中使用n个参与者进行多方通道。因此,如果取n=40,我们可以在一年内搭载80亿人。如果你选择n=480,我们可以在一个月内完成。所以让我们为比特币的升级祈祷吧。
分享
改进这个答案
跟随
11小时前回答的
雷内·皮克哈特
913466银牌2424铜牌
1
在ln惩罚模式下这不是很难吗?难道我们不需要你帮忙吗墨奇♦ 2小时前
据我所知,Eltoo信道无疑会使多方信道状态的通信和处理更加容易。因此,是的,这个额外的升级将派上用场,但我相信,如果必须的话,ln惩罚将适用于多方渠道Rene Pickhardt一小时前
抱歉,听起来很悲观,但即使建立渠道工厂,然后让较小的用户分组能够双边更新其子状态,对40个新用户来说似乎也是一个重大挑战,更不用说480个,即使使用Eltoo,但使用LN惩罚听起来几乎是不可能的墨奇♦ 1小时前
添加评论
1
很大程度上取决于如何定义“可伸缩性”。
如果你的问题是:我们是否有现成的技术,如果不进一步改变链上比特币协议,就足以让地球上的每个人在比特币上拥有个人闪电频道,答案几乎肯定是否定的(我不是闪电方面的专家)。
但可伸缩性通常被理解为更像是一个“资源需求如何在使用功能中伸缩”的问题,与纯粹的链上支付交易相比,Lightning是一个显著的改进(同时要付出额外假设的代价,比如活跃度:参与者及时在链上获得结算的能力)。这并不意味着进一步的技术改进对进一步的增长是不必要的。
分享

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

找回丢失的比特币

我把我的钱包id和比特币地址放在保险箱里,但从所有电子设备上删除了。那么,我该如何通过使用上述方法恢复我的比特币,请告知。
块链
分享
改进这个问题
跟随
2月13日14:30问
用户92215
1
1
你说钱包的身份证是什么意思?地址不能帮助你收回资金。你需要你以前钱包的根种子或记忆备份短语詹姆斯C。2019年2月13日15:27
添加评论
2个答案
4
我有我的钱包id和比特币地址[…]如何使用这些恢复我的比特币?
仅使用比特币地址无法恢复对比特币的控制。
你不能只用“钱包ID”来恢复对比特币的控制,你通常还需要密码。但在保管钱包的情况下,保管人可根据其他信息(例如用于原始登记的电子邮件地址)提供一种追回手段。请注意,保管钱包被广泛认为是最不安全的方式长期存储比特币。看看有什么样的钱包?。还要注意的是,像Blockchain.com这样的私营公司既不拥有比特币系统,也不拥有比特币区块链——它们只是提供基于加密货币服务的众多企业之一。
你通常需要
某种已知格式(如WIF)的私钥或
一个种子恢复短语(通常是一个特殊列表中的12个单词)
如果你没有这些,通常意味着你的比特币永远无法使用。
分享
改进这个答案
跟随
2月13日18:39编辑
回复时间:2月13日18:19
红砂砖
11.8k22金徽章1717银徽章3737铜徽章
添加评论
-1
ŘËĆÖ五ËŘ 你的ŠŤÕĹËÑ 丢失或ŠČÄ毫米ËD和BÍŤČÕÍÑ 由ËMÄÏĻÏÑĞ FÅ装货单ŘËČÕ五ËŘÝ02@总经理ÃÍĹ ČÕMË 他是专业人士ŘËČÕ五ËŘÝ 曾成功帮助不同类型乙肝患者的专家ÍŤČÕÍÑ 相关ŠČÄMŘËĆÖ五ËŘ 价值超过250万美元的BÍŤČÕÍÑ 输给了全世界不同的骗子。最棒的是,作为他完成工作的保证,他在工作完成之前不收一分钱。

输出描述符序列化

我在看以下官方测试向量:
wsh(多(1,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/1/0/*,xpub69h7f5d8ksrgmmdjg2khpak8sr3djmwadkxj3zuxv27cprr9lgpeygmxubc6wb7erfrnkzxummdzpbxh7ap6r1d3tgfmwmwkqtph/0/0/*))
对于第一个键序列化为:
04 ; 版本4
88b21e型`xpub公司`
00 ; 深度0==主密钥的公钥
00000000 ; 父指纹
00000000 ; 子索引
60499F801B896D83179A4374AEB7822AAEAA0DB1F85EE3E904C4DEFBD9689;链码
03CBCAA9C98C877A26977D00825C956A238E8DDDFBD322CCE4F74B5BD6ACE4A7;关键数据
e233a252型;base58校验和
第二个关键点是:
04 ; 版本4
88b21e型`xpub公司`
01 ; 深度1
BD165型;父指纹
00000000 ; 子索引
F0909AFAA7EE7ABE5DD4E100598D4DC53CD709D5A5C2CAC40E7412F232F7C9C;链码
02FC9E5AF0AC8D9B3CECFE2A888E2117BA3D089D85886C9C826B22A98D12EA;关键数据
44183立方英尺;base58校验和
我的问题是第二个键的例子:深度是否与附加的尾/0/0/*?如果是,不是应该是2而不是1?从附加的尾部可以恢复深度吗?
为什么第二个键的子索引为零?它不应该等于对应于恒星的数字。是否可以从附加的尾/0/0/*还原子索引?
原始数据
输出
分享
改进这个问题
跟随
三小时前问的
戈拉兹德
1111青铜徽章
新贡献者
添加评论
1个答案
0
看起来您混淆了bip32序列化和输出描述符序列化。
输出描述符包含使用BIP 32中描述的方法序列化的扩展公钥。此序列化仅适用于该特定公钥。附加到末尾的派生独立于xpub的序列化。这是描述符的一部分。
我的问题是第二个键的例子:深度是否与附加的尾/0/0/*?如果是,不是应该是2而不是1?从附加的尾部可以恢复深度吗?
不,尾巴是独立于xpub的。深度仅应用于xpub序列化的pubkey,派生路径不是它的一部分。
为什么第二个键的子索引为零?它不应该等于对应于恒星的数字。是否可以从附加的尾/0/0/*还原子索引?
因为序列化只针对特定的xpub。附加的派生信息不是此序列化的一部分。
分享

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

你能从其中一个钱包的私钥中得到高清钱包的种子短语吗?

假设我有一个高清钱包。我能从它钱包的私钥里得到它的种子短语吗?
种子短语也很容易记住私钥吗?如果是这样,这是否意味着从种子短语private key可以获得公钥?如果这是真的,如果我给这个公钥发送密码,它会出现在哪个高清钱包里?第一个?
私钥
bip32高清钱包
公钥
加密
分享
改进这个问题
跟随
20小时前问的
玉莱宝
13344青铜徽章
添加评论
1个答案
1
假设我有一个高清钱包。我能从它钱包的私钥里得到它的种子短语吗?
不,数学过程是单向的。见BIP 39和PBKDF2
种子短语也很容易记住私钥吗?
种子短语不是用来记忆的。他们打算写下来,并存放在安全的地方。例如,您可以使用字母冲头将短语压入不锈钢板中,并将其存放在保险箱中。
从seed短语private key可以得到公钥?
对。见BIP 32
分层密钥派生
如果我给这个公钥发密码,它会出现在哪个高清钱包里?
金钱将出现在每一个适当配置的钱包中,并且可以从中消费。
如果您认为从主节点派生的每个密钥对本身就是一个钱包(我认为这是一种误导性的思考方式,或者至少是毫无帮助的含糊不清),那么钱只与从“主节点”派生的一个“钱包”中的一个密钥对相关联。但是“钱包”(深度1派生)可以存在于许多钱包中(在一台或多台计算机上安装多个钱包软件)
分享
改进这个答案
跟随
19小时前编辑的
19小时前回答的
红砂砖
11.8k22金徽章1717银徽章3737铜徽章
depth zero(主节点)是一个可以接收资金的钱包吗18小时前的YulePale
据我所知,不正常红砖15小时前
添加评论

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

比特币P2P API getBlocks总是返回500个inv项目

我正在尝试构建一个小型完整节点,这样我就可以准确地了解它们是如何运行的。我已经设法让P2P api的一些部分工作,但是我仍然坚持基本的东西,比如“getblocks”和“getheaders”
例如,我对以下块哈希感兴趣:
块\u hash=“000000000000592589e55cda6e8a093998e8356ea770d4aaeb7c0f5439b147d7”
block_stop=“000000000000017a09017d52db538d7a9ddcc48311866d7e5fdbbbec7d0faad5”
命令:getblocks
请求:0B110907676574626C6F636B7300000040000002A0AF995010000000100000000000592589E55CDA6E8A093998E8356EA770D4AAEB7C0F5439B147D70000000000017A09017D52DB538D7A9DDCC48311866D7E5FDBBB7D0FAAD5
我的问题是:当停止散列距离块定位器只有1个块时,为什么我要取回500个inv项目(顺便说一句,当我使用getheaders而不是getblocks时,同样的事情也会发生在我身上)
编辑
好的,我已经交换了我发送的数据的尾端。我还必须交换块定位器并停止,以便得到响应(因此停止散列位于比定位器低的块高度),这让我觉得我在这里犯了更多的错误。
在执行此操作时,在上面的示例中,我仍然收到500 inv,但是如果改用这两个:
block_stop=“0000000000000049a7ce260de7fcf63f34acf3fe1c5b2040ae77b9bdaf1abb38”
块\u hash=“000000000000013d8a77f222805b1dca31d0fb48d60b29098c77609de5f93811
实际消息:0B110907676574626C6F636B730000004000000A83C12F9010000001138F9E59D60778C09290BD648FBD031CA1DB8022F2778A3D010000000000038BB1AAFBDB977AE40205B1CFF3343FF6FCE70D26CEA7490000000000000
它正确地从我需要的高度返回,但是它返回所有的块,直到最新的块,而不是我要找的块。我误解了这个API的意义吗?我的印象是它返回块细节,但它只是返回丢失的块哈希。那我怎么才能知道那个街区发生了什么交易?
比特币核心
完整节点
点对点
分享
改进这个问题
跟随
编辑时间:19年12月27日17:03
麻吉弟弟周立铭♦
52.8k44金徽章5555银徽章106106铜徽章
问到19年12月27日2点04分
迪米特里
2144枚青铜徽章
你能更新一下你发送的确切信息吗麻吉弟弟周立铭♦ 19年12月27日5:29
完成时间:AndrewShow–Dimitree 19年12月27日11:49
添加评论
1个答案

看起来块哈希的字节顺序不对。它们是按显示字节顺序显示的,但是网络实际上是按相反的字节顺序处理块哈希,0在末尾。
我认为你得到的回应也将是区块链的前500个区块。
所以发生的是一个节点看到了你的开始散列,却没有在你的区块链中找到它,所以它从genesis块开始。它继续查找每个块,发现没有找到停止散列。这既可能是因为停止哈希的字节顺序错误,也可能是因为它是从genesis开始的,而不是从start哈希开始的。
因此,您得到的响应是从genesis块开始的最多500个块,genesis块是您的开始哈希和它的当前提示之间最新的共同祖先。
我误解了这个API的意义吗?我的印象是它返回块细节,但它只是返回丢失的块哈希。那我怎么才能知道那个街区发生了什么交易?
getblocks获取块散列。要获得实际的块本身,需要将getdata与收到的哈希一起使用。
分享
改进这个答案
跟随
编辑时间:19年12月27日5:31
回复时间:19年12月27日4:10
麻吉弟弟周立铭♦
52.8k44金徽章5555银徽章106106铜徽章
谢谢你!我已经根据这个答案更新了我的问题的更多细节。我差不多就要回答这个问题了,但现在我比开始时更困惑了迪米特里19年12月27日5:12
添加评论

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

区块链钱包显示0,但应用程序显示余额

因此,我的区块链桌面钱包显示0余额,如果你进入应用程序,我可以看到我的比特币钱包余额。当我再次点击钱包时,由于某种原因,它会在应用程序中返回到0。如果我在blockachain应用程序内转账,我的余额将显示在ROI比特币中。我试图从投资回报率发送到我的BTC钱包,它也显示了我的总可消费余额,但一旦我想继续后,建议收费的应用程序,我得到了这种类型的错误消息交易失败,我然后时钟的信息,并试图调用虚拟方法intjava.lang.string.length()对空对象引用。我现在已经没有选择了,对我来说最可疑的是区块链支持人员一直在回复我的电子邮件,并要求我提供不同的屏幕截图,听起来好像他们在调查此事,但现在他们已经给我做了几个星期的重影,如果我提交了一个新的支持票,他们会回复,但在再次意识到是我之后,他们会忽略我的任何电子邮件。
请问你能不能有人遇到这样的情况,钱包余额显示的金额在应用程序内的投资回报率,但我们不能使用硬币,在桌面应用程序是平衡0?
我真的不知道该去找谁,因为他们不理我。
谢谢
块链
欺诈
分享
改进这个问题
跟随
9月26日12:37问
塔米
111银牌11铜牌
你有你的“备用短语”的笔记吗(千万不要告诉任何助手它是什么,但你应该把它放在安全的地方RedGrittyBrick 9月26日13:06
是的,我有——塔米,9月26日,20日,13:19
该应用程序(在您的手机上)是否与您的桌面钱包使用完全相同的12字备份短语RedGrittyBrick 9月26日14:14
我想是的,我怎么知道呢塔米9月26日14:17
support.blockchain.com/hc/en-us/articles/…显然,我会非常小心地这样做。我只会在一个私人的地方做这件事,没有分心,没有人在身边,没有时间压力,笔和纸在手边,放在安全的地方-红砖9月26日20日14:40
再显示5条评论
1个答案
0
如果区块链支持无法帮助您,并且您有12个字的“备份短语”,我相信最好的做法是迁移到新的钱包。

我所说的迁移钱包是指将你的备份短语用于不同组织编写的钱包软件。钱包中唯一重要的东西是备份短语(也称为种子短语或恢复短语)生成的私钥。因此,任何包含该密钥的钱包都可以用来花费从该密钥创建的地址收到的钱。
如果您经常使用区块链的其他服务,例如买卖比特币或其他加密货币交易,您可能不想这样做。但是,您可以使用其他的交换。
有几个钱包的声誉比区块链钱包好得多。
例如,请参见。。。
如何从区块链钱包迁移到Electrum?
除了备用短语,您还需要知道旧钱包的“派生路径”。链接问题的可接受答案假定派生路径为m/44’/0’/0’/0。
与其将钥匙导入新型钱包,不如将钥匙扫入新型钱包更安全。扫荡只意味着使用新钱包中的旧钥匙创建一个比特币交易,将钱转移到新钱包中新钥匙的控制。如果你曾经将额外的私钥导入旧钱包,你也必须重复上述步骤并将这些额外的密钥导入新钱包,或者将这些密钥扫入新钱包。考虑到您的情况,在确定您旧钱包的派生路径之前,我根本不会扫描任何钥匙,首先尝试使用备份短语导入钥匙是最安全的,一旦一切正常,然后将钱移到新钥匙上。
如果这一切看起来太复杂,你可能会合理地得出结论,比特币不适合你。
分享
改进这个答案
跟随
编辑时间:9月27日10:18
回复时间:9月27日9:45
红砂砖
11.8k22金徽章1717银徽章3737铜徽章
是的,这一切都是有意义的,它确实听起来很复杂,我只想提取我那里的金额,但这是我无法,因为区块链钱包每次显示不同的金额,最令人困惑的是,它显示余额那里,但当我想转移它给我一个错误消息说,资金不足…和桌面显示0,但应用程序显示投资回报率平衡塔米9月27日10:14
@塔米:投资回报率通常意味着“投资回报率”,因此可能只是过去一些交易活动盈利能力的历史记录。它可能不代表当前余额。”“资金不足”是指您没有钱或没有足够的资金支付您提取的金额和必要的交易费用RedGrittyBrick 9月27日10:21
添加评论

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