monerolib
v1.2.1
Published
Monero JavaScript library
Downloads
517
Readme
monerolib
Monero JavaScript library.
Install
npm i monerolibCommon
p- private/secret key, it is scalarP- public key, it is pointpV- private/secret view keyPV- public view keypS- private/secret spend keyPS- public spend keyHS()- convert hash to scalarhashToScalarG- is the base point
Key derivation generateKeyDerivation means:
derivation = P * p * 8Subaddress
pSi = pS + HS(pV | i)
pVi = pV * pSiPSi = PS + HS(pV | i) * G
PVi = pV * PSi
PSi = (pS + HS(pV | i)) * G
PVi = pV * (pS + HS(pV | i)) * GOutputs
r- is the transaction private/secret keyR- is the transaction public key,txPubKeyX- is the stealth address or one time addresstargetKey
Fro address:
// Address (it is public key)
R = r * G
// Subaddress (it is some public data)
R = r * PSiSending:
// Address
X = Hs(r * PV | i)G + PS
// Subaddress
X = Hs(r * PVi | i)G + PSiReceiving:
// Address
X = Hs(R * pV|i)G + PS
// Subaddress
X = Hs(R * pV|i)G + PSiIt is equal because:
// Address
R * pV = r * G * pV = r * PV
// Subaddress
R * pV = r * PSi * pV = r * PVir * PV and R * pV is a key derivation
Inputs
Hp()- convert hash to pointhashToPointor more correctlyhashToEcx- private/secret key of stealth address O_oJ- is the key imagekeyImage
x = Hs(r * PV|i) + pS
x = Hs(R * pV|i) + pSKey image is:
J = x * Hp(X)