~
I try to use modify sample code for keras to use pubkey dataset
use keras predict titanic and keras predict California housing
just test may be wrong algorithm that should be use
on github have a ot of bitcoin trading bot use neural networks predict price easy than predict elliptic curve
I'm no ML expert but I don't think adding more NN layers is going to improve the accuracy of this neural network. Remember that we basically have a hexadecimal number as input (trying to feed millions of hex numbers as input to the same neurons makes no sense because the numbers have no relationship with each other), and as such, they should be in bytes form instead of ASCII, and then we'd do something like assign each bit of the number to one or more input neurons, and then apply layers on it.
If you do want to use millions of numbers as input then you should use a ML classification algorithm and also give as input the polarity of these points for training. Neural networks are meant to work on one input only e.g. given a drawing of the number "2", identify which digit it is.
It's on github, I posted a few years ago here, RNN converting training btc addresses to private keys, all the code is there to train, and of course if you know tensorflow its easy add layers and do as you wish
https://github.com/btc-room101/bitcoin-rnn
The reason I did this is to get a ballpark private-key estimate for input to kangaroo, where you need to be withon 2^40 to make it work, but certainly any relation can be found if you have enough data
This code is written in python, all the source is there
I'll tell you how the NSA does this backdoor, you use endomorphisms of sepc256k1 1 to infinity and train from simple cases to advanced
See the gtx1060 post I made today to reference endo's
It's best to start small use the sagemath to learn about secp256k1 on simple cases of [0,7], keep the 'p' small until you know what your doing, don't jump right into the 2^256 stuff; all the data comes from sage-math, then is processed in python,
Sagemath has all the glue for secp256k1 already installed, here is what follows is the sage to get you started, if you want to add NN then grab the github
from tinyec.ec import SubGroup, Curve
# Domain parameters for the `secp256k1` curve
# (as defined in http://www.secg.org/sec2-v2.pdf)
name = 'secp256k1'
p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
n = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
a = 0x0000000000000000000000000000000000000000000000000000000000000000
b = 0x0000000000000000000000000000000000000000000000000000000000000007
g = (0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,
0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)
h = 1
curve = Curve(a, b, SubGroup(p, g, n, h), name)
print('curve:', curve)
privKey = int('0x51897b64e85c3f714bba707e867914295a1377a7463a9dae8ea6a8b914246319', 16)
print('privKey:', hex(privKey)[2:])
pubKey = curve.g * privKey
pubKeyCompressed = '0' + str(2 + pubKey.y % 2) + str(hex(pubKey.x)[2:])
print('pubKey:', pubKeyCompressed)
# endomorphism
lamN=pow(3,(n-1)/3,n)
betP=pow(2,(p-1)/3,p)
# G is 1/2 special point, n is order o E, G is sep256k1 generator
00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63
c0c686408d517dfd67c2367651380d00d126e4229631fd03f8ff35eef1a61e3c
which is easily computable as ((n+1)/2)×G.
sage: h=(n+1)/2
sage: int(h)*G
(86918276961810349294276103416548851884759982251107 : 87194829221142880348582938487511785107150118762739500766654458540580527283772 : 1)
sage: hex(86918276961810349294276103416548851884759982251107)
'3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63'
***
High-Value Key 123NW9MjzA1ruijnfVepMBRkAgHeNAeRDC
50.0 btc
sage: V=E.lift_x(100257432922100916568143421243988773726881105572982433208434735787631308087100)
sage: V
(100257432922100916568143421243988773726881105572982433208434735787631308087100 : 17976700734488631664679765453517918083636436394515771729223336359641082615751 : 1)