plebemineira / plebpool

Other
4 stars 2 forks source link

lfg #1

Open plebhash opened 10 months ago

plebhash commented 10 months ago

ping @a-moreira @Davidson-Souza

Davidson-Souza commented 10 months ago

Opa, agora estamos conversando... Qual o plano aqui?

plebhash commented 10 months ago

em breve SRI vai exportar essas crates como libs:

entao, poderemos fazer:

Cargo.toml:

[package]
name = "plebpool"

[dependencies]
pool_sv2 = { git = "https://github.com/stratum-mining/stratum.git", branch = "dev" }
jd_server = { git = "https://github.com/stratum-mining/stratum.git", branch = "dev" }

src/main.rs:

pub use pool_sv2::lib::*;
pub use jd_server::lib::*;

fn main() {
    println!("⛏️ plebs be hashin ⚡");
    // opinionated share accounting logic using pool_sv2::lib
    // opinionated coinbase generation logic using jd_server::lib
}

onde opinionated * traduz-se na forma com que vamos definir as politicas da pool.

Por exemplo, para o problema de coinbase generation (jd_server::lib) temos as seguintes opções:

Alem disso, outra decisao opinionada sobre o uso de jd_server::lib e pool_sv::lib seria a estrategia de distribuicao dos rewards:

plebhash commented 10 months ago

Uma grande referencia de pool adotando SV2 eh a DEMAND.

plebhash commented 10 months ago

pra contabilizacao de shares, o caminho ideal (IMHO) é via consenso distribuido (e.g.: braidpool)

to propondo uma solucao baseada em IPVM aqui: https://github.com/plebemineira/plebpool/issues/2

plebhash commented 10 months ago

guia de testes do Stratum Reference Implementation (SRI): https://docs.google.com/document/d/1VeZRMhEt-gilXGIrvoGRtg6laekz6nOoU15dBC681Vw/edit#heading=h.tkf0gahfjga4

plebhash commented 10 months ago

derivacao nix pra rodar um TP pra SRI via regtest: https://github.com/plebhash/nix-bitcoin-regtest-tp-stratum

plebhash commented 9 months ago

referencia em sistemas de distribuicao de rewards: Meni Rosenfeld. Analysis of bitcoin pooled mining reward systems. arXiv preprint arXiv:1112.4980, 2011.

plebhash commented 8 months ago

referencia: SmartPool https://eprint.iacr.org/2017/019

a-moreira commented 8 months ago

as crates ja tao publicadas?

plebhash commented 8 months ago

as crates ja tao publicadas?

quais crates? do SRI?

esse PR provavelmente deve ser mergeado essa semana: https://github.com/stratum-mining/stratum/pull/718

ele esta disponibilizando as libs pra consumo externo, mas as APIs ainda impoem um design opinionado na pool que estiver consumindo

o proximo passo vai ser refatorar as APIs pra que elas permitam mais liberdade pra quem esta consumindo