使用Ubuntu 20.04启动比特币守护程序失败

嘿,我每次运行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中查找它
分享
改进这个答案
跟随

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

Hashgraph公共账本(51%攻击)

我对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
添加评论

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

了解事务输入和输出

网络上比特币交易输入和输出的定义是:
输入=汇款地址,输出=收款地址
1.但当我看到下面的一张交易截图时:
左侧应该是输入,但当我将鼠标悬停在它上面时,它显示为输出
原因是什么?
2.下面显示了两个不同地址的金额。在正常交易中
金额将只转到一个地址。在比特币中,一个人可以转移到多个账户吗
同时?在此处输入图像描述
交易
事务输入
分享
改进这个问题
跟随
三小时前问的
阿米特瓦德瓦
1111青铜徽章
新贡献者
添加评论
1个答案
0
你找到的定义是错误的。没有“发件人”地址,也没有“比特币账户”。
把比特币系统想象成硬币。至于物理硬币,你花了他们全部,可能会得到新的硬币回来的变化。与实物硬币相反,这些硬币是公开的,因此任何人都可以“抢夺”它们,因此必须有一种方法,只有硬币的“拥有者”才能成功地使用它们。这就是地址的本质。
硬币是交易输出。”抓取“硬币”是指在新事务的输入中引用事务输出。通过在此输入中提供数据来完成由引用的输出中的地址设置的质询,从而证明所有权。
因此,为了具体回到您的问题,在您的屏幕截图中,应用程序将显示此事务输入引用的输出,因为它是显示感兴趣信息的位置(硬币的价值以及如何解锁它)。你当然可以在同一个地址锁定多个硬币。事实上,这项交易解锁3个硬币,在那里以相同的方式锁定(因此“在同一个地址”)。
分享
改进这个答案
跟随
3小时前回答的
达罗西奥
295911金徽章55银徽章2323铜徽章
我觉得这是第一百次“重新解释轮子”,但我没有找到一个解释硬币/utxo模型与快速搜索,所以我只是写了一个定制的答案。不过,我觉得如果有人能找到一个相当接近的答案,它可能会被标记为复制品达罗西奥3小时前
添加评论
你的答案

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

比特币核心v22.0将包括对Taproot的哪些钱包支持?

比特币核心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分钟前编辑

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

主根-消除关键路径

我想构造一个事务输出,其中的关键路径我想被消除,所以只强制脚本路径。为了消除密钥路径,我认为应该将“Internal Public key”设置为“0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff。通过这样做,任何有兴趣解锁此输出的人(包括我)都必须遵循脚本路径来满足其条件。如果我错了就纠正我。谢谢。
在此处输入图像描述
比特币核心
脚本
比特币核心开发
主根
分享
改进这个问题
跟随
24分钟前编辑
迈克尔·福克森
616277银牌2323铜牌
10月29日17:54问
布尔库奥
34288枚青铜徽章
添加评论
1个答案
1
bip341回答了这个问题。通常,能够证明您选择的内部公钥是具有未知私钥的点是很重要的。否则,恶意方可能会在P2TR地址中隐藏密钥路径,假装没有该内部公钥的私钥,但实际拥有该私钥。
bip341还提供了有关如何避免泄漏P2TR地址在从中花费时没有可能的密钥路径花费这一事实的说明。如果你不关心这个隐私泄露,你可以采取建议的H点。
选取具有未知离散对数的点作为内部关键点。这种点的一个例子是H=lift_x(0x0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547ffee9ace803ac0),它是通过将secp256k1基点G的标准未压缩编码的散列作为x坐标来构造的。
为了避免泄露密钥路径开销不可能的信息,建议在0…n-1范围内均匀随机选取一个新的整数r,并使用H+rG作为内部密钥。可以通过向验证者揭示r来证明该内部密钥相对于G没有已知的离散对数,验证者随后可以重构内部密钥是如何创建的。
一个密切相关的问题是如何授予对键路径开销而不是脚本路径开销的访问权。
分享
改进这个答案
跟随
10月29日21:55编辑
回复时间:10月29日21:49
迈克尔·福克森
616277银牌2323铜牌
1
谢谢!我需要公开证明一个事实:关键路径支出根本不可能。因此,要么选择一个具有未知离散对数的点,要么选择一个私钥无法构造的公钥Brqoo 10月29日22:17
添加评论

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

是为每个UTXO创建一组新的密钥,还是可以用同一个PubKey锁定多个UTXO?

我知道每一笔交易都会产生新的密钥对,通常是从一个主密钥(比如高清钱包中的主密钥)派生出来的。如果您对一个事务或接收到的BTC的更改是在多个UTXO中,是否为每个UTXO分别创建了一对密钥?
我的理解有点错误吗?因为当您收到BTC时,是生成一个全新的地址(从新生成的密钥),还是一个绑定到UTXOs的地址?我想是前者。如果是这样的话,那么钱包提供商是否应该尽量减少UTXO的数量?比如说,把我钱包里的所有BTC组合成一个UTXO,用一组钥匙沿着高清衍生路径。
bip32高清钱包
公钥
utxo公司
分享
改进这个问题
跟随
两小时前问的
马特·坦什
4533青铜徽章
添加评论
1个答案
0
您可以将多个事务发送到同一地址(地址重用),但不建议这样做,因为这样不利于您的隐私(在这种情况下,您可以使用同一私钥使用多个UTXO。)链观察员可以看到您在该地址的有效余额不断增加,而不是您将资金接收到多个地址,并且这些多个地址没有链接。
因为当您收到BTC时,是生成一个全新的地址(从新生成的密钥),还是一个绑定到UTXOs的地址?
从您的高清钱包新生成的密钥。
如果是这样的话,那么钱包提供商是否应该尽量减少UTXO的数量?
钱包提供商在购买UTXO时会考虑UTXO或硬币选择。一般来说,在隐私和尽量减少钱包中UTXO的数量之间存在着一种权衡(因此,您将不得不支付未来的交易费用)。
比如说,把我钱包里的所有BTC组合成一个UTXO,用一组钥匙沿着高清衍生路径。
您总是可以创建一个事务,将所有的UTXO发送到一个UTXO(UTXO合并),但正如我前面所说的,这对于隐私来说不是很好,因为链观察者现在知道所有以前的事务,并且总余额与单个事务相关联。
分享
改进这个答案
跟随
10分钟前编辑

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

如何通过本地网络将比特币节点连接到完整的节点?

我目前在本地网络上有一个完整的比特币节点,我想创建另一个节点,但只通过本地网络更新它。
我尝试过:./bitcoind-connect<iplocal>/bitcoind-addnode<iplocal>但是在意外的标记“newline”附近出现了以下错误语法错误,非常感谢您的帮助。
比特币核心
比特币
分享
改进这个问题
跟随
4月1日20:52问
胡安•大卫•佩ñ甜瓜
111青铜徽章
连接后需要等号(=)。-皮尔维尔4月1日20:21:11
我要试试。/比特币qt-connect=“iplocal”–胡安•大卫•佩ñ甜瓜4月1’20日23:23
添加评论
1个答案
2
如上所述,您的命令需要是./bitcoind-connect=<iplocal>
-connect=将仅连接到指定的节点-addnode=除了尝试连接到全局节点外,还将连接到指定节点。如果你正在引导一个新节点
分享
改进这个答案
跟随
回复时间:5月14日20:21
迈克
35411银徽章99铜徽章
添加评论

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

如何使用比特币模块从私钥生成Hash160

我想修改脚本代码。该脚本通过函数(pubtoaddr)从随机私钥比特币地址生成,并在比特币模块上工作:
https://github.com/primal100/pybitcointools/blob/master/cryptos/main.py
从比特币进口*
导入操作系统
priv=随机密钥()
pub=privtopub(priv)
地址=pubtoaddr(pub)
….
….
但我需要从Hash160中的随机私钥中获取
由于某些原因,我在main.py中找不到这样的函数
我搜索了一下,发现了一篇文章
>>>导入pybitcointools
>>>privkey=pybitcointools.random\密钥()
>>>私钥
‘34030ce14e32ac982419b3683af3b59d64a29cc93798cf479d610af49d425d13’
>>>pubkey=pybitcointools.privtopub(privkey)
>>>公共密钥
’04CE0ED35340803B0C21F2F7F5D5AB9D687E5FA95A79471C9B5C9D97A0BB170EAC1045230CC51D13B85A5F64FEB80F8FC19358A3967926E3F89D49066B1ABC07′
>>>h160=pybitcointools.hash160(pubkey.decode(’hex’))
>>>h160型
‘1558c7cd9825447a31990ff964f347bb2dbfe9be’
>>>addr=pybitcointools.hex_to_b58检查(h160)
>>>地址
’12wsYc4B9c9JeREqstLZXNWa3n4i42M5jg’
不幸的是我不能从
priv=随机密钥()—>Hash160
怎么做?
私钥
公钥
比特币核心开发
python
PyBitCoin工具
分享
改进这个问题
跟随
9月11日18:40问
德里克·斯沃德尼克
1
添加评论
1个答案
0
我使用的是另一个比特币库。这将从私钥打印地址和哈希值:
从bitcoinutils.setup导入设置
从bitcoinutils.keys导入P2pkhAddress、PrivateKey、PublicKey
def main():
#设置网络
设置(’testnet’)
#提供私有WIF密钥
priv=PrivateKey.from_wif(’cmahea7zqjxrtgabb7lsgbcqur1ux1ojua9jzodmn87k7xcyj5v’)
#获取公钥
pub=priv.get\u public\u key()
#从公钥获取地址
address=pub.get\地址()
#打印地址和哈希160
print(“地址:”,Address.to\u string())
print(“Hash160:”,address.to\u Hash160())
打印(“\n————————————-\n”)
如果uuu name uuuuuuuu==“uuuu main”:
主()
python输出
有关segwit地址,请参阅以下示例:https://github.com/karask/python-bitcoin-utils/blob/master/examples/keys_segwit_addresses.py
分享
改进这个答案
跟随
回复时间:9月11日22:15
普拉扬克
382711金徽章66银徽章1818铜徽章
我会尝试使用这个模块!如何在代码中编写函数,以便以随机方式生成“PrivateKey”?-德里克·斯沃德尼克9月12日5:12
将上述代码中的priv=PrivateKey.from_wif(’cmahea7zqjxrtgabb7lsgbcqur1ux1ojua9jzodmn87k7xcyj5v’)替换为priv=PrivateKey(),并在下面添加一个print语句,以便在每次运行代码时查看新的私钥:print(“私钥:”,priv.to_wif(compressed=True))–Prayank 9月12日7时11分20秒
我能用十六进制格式吗德里克·斯沃德尼克9月12日7:35
如果您要询问私钥WIF,请访问base58:learnmeabitcoin.com/technical/WIF–Prayank 9月12日8:05

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

发送BTC到旧输出地址

我将BTC发送到以前事务中的一个旧输出地址,现在我不知道它去了哪里。有人知道怎么解决这个问题吗?
交易
输出
分享
改进这个问题
跟随
5月9日21:56问
用户120955
1
添加评论
1个答案
1
如果你控制了这个地址,那么你应该可以使用发送到它的任何比特币。确保地址和它的私钥被添加到你的钱包,你应该能够花这些硬币。
分享
改进这个答案
跟随

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

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

来自维基百科:
殖民地管道网络攻击
这篇文章说,不知道联邦调查局是如何获得这个地址的私钥和赎金的。找不到这方面的任何其他来源。有什么理论或证据证明这是怎么做到的吗?
勒索软件
分享
改进这个问题
跟随
昨天问
非政治标签
4344青铜徽章
新贡献者
添加评论
1个答案
4
联邦调查局似乎查获了他们的服务器并在那里找到了私钥。
如果你想知道比特币软件或协议中是否存在缺陷,目前还没有证据。
https://krebsonsecurity.com/2021/05/darkside-ransomware-gang-quits-after-servers-bitcoin-stash-seized/
编辑:
最新消息显示,赎金的比特币存放在加州的一个托管地址(交易所或钱包提供商),联邦调查局用司法部的搜查令将其查获。
因此(令人惊讶的是)黑客丢失比特币的原因似乎是他们使用了保管钱包(美国的),而不是他们有私钥的钱包。
交易流程似乎也很容易跟踪:任何人都可以这样做,即使不知道赎金的地址,只知道赎金的金额,如下所示:
https://blog.wolfram.com/2021/05/25/sleuthing-darkside-crypto-ransom-payments-with-the-wolfram-language/
分享
改进这个答案
跟随
16小时前编辑的
昨天回答的
利凡克利夫
74411银牌1515铜牌
谢谢-我很确定这不是区块链漏洞。罪犯似乎很粗心,没有立即把硬币转移到更安全的冷钱包里。但联邦调查局的结果不错,干得好-昨天的非政治标签
添加评论

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