just FYI - we now have dns seed code available for yacoin. however, i can't run the server myself on the same VPS block explorer is running (amazon won't let me access the dns port from outside for some reason even though i enabled it in all firewalls). so, if anyone has the resources to do it here's the link https://github.com/saironiq/yacoin-seeder. you don't need anything fancy, really - just access to your domain's authoritative NS record and a linux box, the daemon itself is VERY light on resources

FYI #2: i'm working (again) on bringing electrum (with a twist) to yacoin. merged in latest upstream commits from electrum-server and i'm now testing it (had some problems with buggy rpc interface of yacoind >.< ...it's solved worked around now, hopefully). besides just changing a few bits i added a few methods to the ones the server exposes, so it's now possible to create an entire block explorer based on electrum (even with graphs and stuff) - that means my explorer will be getting an overhaul soon-ish that would make it lightning fast (at least i hope so lol). now the bad news: the client side of electrum got a lil' more difficult as of version 2.0 to port over to yac, so i'm looking for someone to help me with it (though it's mostly "gui" work, i think the hardcore pieces i've written earlier can be reused). AND after this bit of bad news comes some GREAT news: with the server interface enhancements i've made it should be possible to PoS mine directly from a thin electrum client (though it's definitely not the best way to mine... but at least you don't need slow client with big blockchain. the worst thing the server can do to you is not broadcasting your block, but that can be worked around by broadcasting it yourself by getting active node IPs from a dnsseed server )

FYI #3: i'm looking for a web developer/javascript wizard to create a front-end for an electrum-based block explorer (something like blockchain.info with fancy live block/tx streams and whatnot). if you're interested, shoot me a PM!

some GREAT news: with the server interface enhancements i've made it should be possible to PoS mine directly from a thin electrum client

Very interesting. Does it centralize the control of POS mining on the server, though?

TL;DR: no

The long answer:I don't think so. Server can't lie to you about blocks (it's computationally infeasible, similar to 51% attack). You as a client can always verify the transactions provided by electrum server by following their history back to the coinbase transaction (though a simple electrum wallet does not do this, it just blindly trusts the server, which is ok for just a wallet - but to generate a block AND have it accepted by the network, you need to be 100% sure). Transaction hashes from a block are connected to the block's hash through the merkle tree hash, so you can verify that the list of txs provided by the server really belongs to a given block ('cause a block "can't" be faked).

(This would kinda require you as a client to keep a few full blocks somewhere for quick reference as it's impractical do re-download the same block over and over again while verifying a single tx's history. Potentially, the client can have a trusted checkpoint hardcoded and not check history before that, which would speed things up even more.)

So, if the server can't fool you into something that's wrong, it could try simply denying service to you - ie. pretending that the current network block height is just 123 while the real network is already on block 500. The solution for this is also quite simple from the client's perspective - just do a little of p2p communication with a few random peers (provided by eg. dnsseed server, or from its own cache or something) and just asking them for the number of blocks they've got (quite simple). And if the server has a lower height than the random peers agree on (needs filtering as even a peer can send you a bad number), then either it's stuck on a bad fork, lagging or lying - either way, a bad idea to use that server for PoS mining.

As for the lagging problem, the possibility that the PoS blocks you mine will be orphaned is somewhat higher than if mining with a full node - tho it's not as bad a problem for PoS, really - you can simply reuse the coinstake (ie. try again) a few times within a certain time period (and also, it's not like you don't have whole 2 months of time to collect your interest).

However, I think of it like the PoW mining pools we have today - with a bunch of electrum servers, you can choose your "PoS pool" (it can be automated) and just trust that it doesn't tell you bullshit (you just validate the chain work and txs of interest, and the standard electrum client already does that). This saves you as a client a lot of work, you don't have to connect to p2p nodes (which can even be impossible from the internet connection you're on - electrum was designed to also work over heavily restricted connections by utilizing eg. the http port 80 for its protocol and most firewalls allow at least that). You can also check with other servers whether your PoS block has gone through the network successfully. Or even utilize more than one server at a time, whatever.

Although the server does not seem to have an incetive for you to PoS mine, it's not quite true. It can either choose to serve you a lil' bit of valid data OR a thousand times more data for you to verify everything yourself (which costs the owner of that server performance and bandwidth). Even if someone didn't care about the costs and tried to fool you anyway, you wouldn't really be harmed (you can always earn your interest later via another server or even a full node if all the servers were bad for some reason). So a bad provider can't make you lose anything while he loses substantially more resources than by playing fair.

As far as your question goes, centralization of PoS mining would IMHO be something like one server with a big wallet (like a bank) where a lot of users send their money to accumulate interest. While the electrum server has absolutely zero control over your funds/interest and you can always effortlessly switch to another server for whatever reason.

some GREAT news: with the server interface enhancements i've made it should be possible to PoS mine directly from a thin electrum client

Very interesting. Does it centralize the control of POS mining on the server, though?

TL;DR: no

The long answer:I don't think so. Server can't lie to you about blocks (it's computationally infeasible, similar to 51% attack). You as a client can always verify the transactions provided by electrum server by following their history back to the coinbase transaction (though a simple electrum wallet does not do this, it just blindly trusts the server, which is ok for just a wallet - but to generate a block AND have it accepted by the network, you need to be 100% sure). Transaction hashes from a block are connected to the block's hash through the merkle tree hash, so you can verify that the list of txs provided by the server really belongs to a given block ('cause a block "can't" be faked).

(This would kinda require you as a client to keep a few full blocks somewhere for quick reference as it's impractical do re-download the same block over and over again while verifying a single tx's history. Potentially, the client can have a trusted checkpoint hardcoded and not check history before that, which would speed things up even more.)

So, if the server can't fool you into something that's wrong, it could try simply denying service to you - ie. pretending that the current network block height is just 123 while the real network is already on block 500. The solution for this is also quite simple from the client's perspective - just do a little of p2p communication with a few random peers (provided by eg. dnsseed server, or from its own cache or something) and just asking them for the number of blocks they've got (quite simple). And if the server has a lower height than the random peers agree on (needs filtering as even a peer can send you a bad number), then either it's stuck on a bad fork, lagging or lying - either way, a bad idea to use that server for PoS mining.

As for the lagging problem, the possibility that the PoS blocks you mine will be orphaned is somewhat higher than if mining with a full node - tho it's not as bad a problem for PoS, really - you can simply reuse the coinstake (ie. try again) a few times within a certain time period (and also, it's not like you don't have whole 2 months of time to collect your interest).

However, I think of it like the PoW mining pools we have today - with a bunch of electrum servers, you can choose your "PoS pool" (it can be automated) and just trust that it doesn't tell you bullshit (you just validate the chain work and txs of interest, and the standard electrum client already does that). This saves you as a client a lot of work, you don't have to connect to p2p nodes (which can even be impossible from the internet connection you're on - electrum was designed to also work over heavily restricted connections by utilizing eg. the http port 80 for its protocol and most firewalls allow at least that). You can also check with other servers whether your PoS block has gone through the network successfully. Or even utilize more than one server at a time, whatever.

Although the server does not seem to have an incetive for you to PoS mine, it's not quite true. It can either choose to serve you a lil' bit of valid data OR a thousand times more data for you to verify everything yourself (which costs the owner of that server performance and bandwidth). Even if someone didn't care about the costs and tried to fool you anyway, you wouldn't really be harmed (you can always earn your interest later via another server or even a full node if all the servers were bad for some reason). So a bad provider can't make you lose anything while he loses substantially more resources than by playing fair.

As far as your question goes, centralization of PoS mining would IMHO be something like one server with a big wallet (like a bank) where a lot of users send their money to accumulate interest. While the electrum server has absolutely zero control over your funds/interest and you can always effortlessly switch to another server for whatever reason.

whew

Dude, It is amazing you type so many words here, I respect your spirit.

some GREAT news: with the server interface enhancements i've made it should be possible to PoS mine directly from a thin electrum client

Very interesting. Does it centralize the control of POS mining on the server, though?

However, I think of it like the PoW mining pools we have today - with a bunch of electrum servers, you can choose your "PoS pool" (it can be automated) and just trust that it doesn't tell you bullshit (you just validate the chain work and txs of interest, and the standard electrum client already does that).

That would be what worries me. Because of real or perceived advantage to mining in large POW pools, a few big pools are the dominant roles to approve transactions. The wallet server could acquire great powers to approve new POS blocks. That is centralization.That said, I think for the same reason why POW pools are successful, POS pools will prevail, too. A thin wallet backed up by a POS pool is just natural for the end user. Your idea, if validated, is more attractive than POS pools that requires the user to hand over their coins to the pool.

In other news, old c coder has been able to compile a native MSVC++ version of yacoind (https://github.com/yacoin/yacoin/pull/17) and I will merge that to testing (or maybe YAC-MSVC++) once the outstanding issues are resolved. Anyone that is able to test it out, please do so. This (I believe) makes YAC the first coin that can be compiled in MSVC++ since the early days of Bitcoin. I'm not a fan of windows and neither is sairon, but there are a lot of extremely talented people out there (like Ron and Satoshi ) who are masters on that platform, and I believe it will bring YAC to a whole new group of people.

The last video on actually building bitcoind.exe and YACoind.exe using those libraries is almost done, but those practiced in the art probably won't need it

I would be interested in feedback. And I would hope that this allows a stampeding herd of Windows developers to jump in and contribute to the YACoin and other projects.

Ron

LTC: LUYiMVsrFQewUSPDasSKGzhyTPAkiTeSov BTC: 1DPvP6WoZzaNQ9Nxzd64hjYad1kyQzTTbx YAC: Y3ZggXDvnRJaRwtVGyGJwt6DMLN3EPQpQf The day is coming when a single carrot, freshly observed, will set off a revolution. Paul Cezanne