Current Client Version: v0.10.4.0

Author Topic: Release for V. 0.10.4.0  (Read 254 times)

lavajumper

  • Administrator
  • Porn Star
  • *****
  • Posts: 236
  • Karma: +9/-0
Release for V. 0.10.4.0
« on: June 23, 2017, 11:03:48 pm »
Sexcoin is in the final phases of testing the next client. The Core client is based on Litecoin 0.10.4.0.

This is a repost of this announcement. All information is still pertinent.

There will be a "soft fork" to enable some new features, and miners are going to be most affected.
 

The most significant changes:

  • Sexcoin will now have a self-reported "Age-Verification" feature, which is carried on the transaction level and written to the block-chain (more on that soon)
  • Coin-control is implemented
  • Block versions are being pulled straight to version 4, up from version 1 via "Super-majority" soft-fork
  • Bloom filtering and other enhancements for thin clients, inherited from litecoin, will be implemented.
  • Multi-Sig and other Script enhancements will be inherited.
  • There is a proper 'testnet' in operation to test client and transaction code. As of this writing, dnsseeding for testnet will not be available, but the dev team has standing test nodes and a block explorer. This will be documented in the near future
  • We will be providing pre-compiled versions for Win32, Win64 and OSX at a minimum.
  • The Android version will also be availble shortly after the new Core release to take advantage of the new blockchain features.


As an added bonus, the dev team has a version of P2Pool available which should work "out-of-the-box" for anyone wanting to run a P2Pool. We do not have a pre-compiled widows version of this yet, but hope to be able to provide that in the near future.

We need help letting miners and exchanges know of the upcoming upgrade.
 
IF YOU MINE on a pool that is NOT LISTED, please let your pool-op know!
IF YOU TRADE somewhere that is not listed, please let your exchange admins know!



  • We're running the final builds on the new releases.
  • Not many miners have switched
  • A bootstrap file is available for download to ease the pain of downloading a new blockchain


Notes on the new upgrade:
The new client uses a new database backplane for the blockchain. This means that you will need to download a new copy of the blockchain even if you are upgrading.

Make CERTAIN you create a backup of your wallet before running the upgrade. The wallet also uses a new database schema, and will automatically be converted when you run the client for the first time. IF anything goes wrong, the easiest course is to shut down your client, copy the wallet.dat backup into your data directory and restart the program to let it upgrade the wallet again.


Bootstrap file is available for anyone wanting to download it in preparation for the release:

https://github.com/sexcoin-project/sexcoin-bootstrap

The bootstrap file is ONLY BLOCK DATA. We haven't officially released the new client.
It is available so you can download it in preparation for the new client.

  • Download bootstrap.dat.gz OR bootstrap.dat.zip from github or mirrors.
  • Verify the integrity of the compressed bootstrap.dat file with the checksums.
  • Decompress to obtain bootstrap.dat.
  • Put it into the Sexcoin datadir. This is the same folder that contains wallet.dat and the blocks folder.
  • Delete bootstrap.dat.old when syncing is finished if you wish to recover some storage space.

If you are starting a brand new client, you may need to:
  • run the installer
  • start the client just long enough so that it builds the directory structure
  • shut it down
  • copy the bootstrap.dat file into the data directory
  • then start it back up


Age Verification and Sexcoin

I wanted to take a minute and fill in some information about the age verification feature in the new client.  Age verification is a self-reported verification that is carried IN the transaction and written to the block-chain. This is accomplished through creating a flag field in the existing transaction version field. In effect, the high-byte of the transaction version carries the flags and the low-byte carries the transaction version.

We had a lot of discussion about the validity of 'self-reported' age-verification, and whether it was really worth putting into the client at all. The decision to write the feature in was accepted because self-reporting does provide merchants and end-users a certain amount of protection. If you doubt this, go to porn.com, and initiate a bitcoin purchase. This is processed with a button certifying your age. Pair that with the number of sites you can access with a button-click, and you can see that it does hold weight. In effect, the sender is certifying they are of age. As a merchant, the client has lied to you if they are not, so the client is culpable of fraud.

Also, the way we've implemented the verification actually implies that "better" is on the way. We've been looking at services like Sho-Card and a couple of others that offer very strong verification, and we have left room in the code to be able to 'fold-in' third-party verification schemes in the future. This is what we REALLY want to see.

I think the real power of this layout is that the flag is carried in the transaction, so it can be confirmed any time, by anyone (de-centralized ) in the future that age-verification was provided by looking up the transaction via the block-explorer.

Finally, I want to mention that age-verification offers protection both ways, and in some sense can make the coin useful in tangent with other payment schemes. I do picture a cam-to-cam scenario where both parties send age-verified coins to each other, providing an electronic signature that both are of age. Another scenario would be sending sexcoin with age-verification flags set as a side-transaction, with the bulk of the "traded-value" being doge or litecoin.

« Last Edit: June 24, 2017, 12:50:20 am by lavajumper »

lavajumper

  • Administrator
  • Porn Star
  • *****
  • Posts: 236
  • Karma: +9/-0
Re: Release for V. 0.10.4.0
« Reply #1 on: June 23, 2017, 11:04:55 pm »
Very Important Information!!

The new client is getting ready for release. Here are some of the nitty-gritty caveats and details.

There is the possibility of some pain points during this upgrade:

  • Sexcoin has been vulnerable to transaction malleablity. This release addresses that issue. Once miners have updated, old clients will have a possibility (by our calculation about 5%) of creating transactions that will be completely rejected by the network. The way you know this has happened will be evident by this behavior:

    An old client sends a transaction which gets broadcast to the network. It is recorded in the wallet as usual, and you see a zero confirm transaction. Because it has been broadcast to the network, the recieving client  also shows an incoming, zero confirmed transaction. So now both the sender and receiver have transactions in their wallets, but with zero confirms. However, miners will reject the transaction and not include it in the blocks they assemble for processing. As time goes on, both wallets retain the record, waiting for it to confirm on the blockchain. This transaction will NEVER make it onto the blockchain. Old clients have marked these coins as 'unspendable' so the coins are tied up in the users wallet. The transaction at the receivers end will show as unconfirmed. This puts both sender and receiver in a unwanted position.

    On old wallets, restarting your wallet with the '--rescan' might clear the problem...but not always. The only way I've found to work 100% is to start a new wallet, import the private keys from the old wallet, then let the wallet rebuild with the information from the blockchain.

    On new wallets, you can restart the wallet with '--zapwallettxes=1' to clear unconfirmed transactions and free up the coins. This is much easier than having to import private keys, but still takes time.

    I have begun work on adapting pywallet to work with sexcoin so we have a tool to deal with this, but will not have it done for quite a while.

    IF THIS HAPPENS YOUR COINS HAVE NOT BEEN LOST! They are just inaccessible until your wallet is cleaned up. Its probably a good time to upgrade your wallet ;)

  • Sexcoin has age verification flags in the current transaction version field. The old client rejects any 'transaction version != 1'. ANY age verified transaction, picked up by an OLD miner, will reject the transaction as invalid. See the above scenario. YMMV in this scenario. IF a miner wins a block that is mining with the new client the transaction will be accepted to the blockchain.

    The remedy to this is to NOT USE AGE VERIFICATION (Set age verification to 'NONE' ) until a significant amount of miners have switched. This is why we are releasing to miners first.

  • The next Android release will refuse to connect to old nodes. This is the primary reason we are delaying release of the Android client. Once the network has significantly updated, the new Android client will be available.

I think when you fully understand the different permutations involved, you can see why the release got delayed for so long. Is it better to get miners first, then users? Is it better to upgrade users first, and pray they don't set age verification? Should we simply release and have everyone explode? Is there some way to code in a solution? This last question is what has taken the longest amount of time. We've attempted code solutions, but at the end of the day, the only effective changes that mitigate lie in changing the code in the old client, which obviously is stupid, if we're releasing a new client.

lavajumper

  • Administrator
  • Porn Star
  • *****
  • Posts: 236
  • Karma: +9/-0
Re: Release for V. 0.10.4.0
« Reply #2 on: June 23, 2017, 11:05:52 pm »
New Client is Available for Miners

Clone and build:
Code: [Select]
git clone -b 0.10.4.0 https://github.com/sexcoin-project/sexcoin

This version uses the excellent 'depends' system. If you are unfamiliar with it, look at the readme's in the '/depend' directory.

You might not need it at all, but if you do, it works quite well.

EDIT: 0.10.4.0 branch has been merged to 'Master' , so clone the default branch now!
« Last Edit: August 01, 2017, 06:31:07 pm by lavajumper »

sosxc

  • Pole Dancer
  • *
  • Posts: 17
  • Karma: +1/-0
Re: Release for V. 0.10.4.0
« Reply #3 on: July 19, 2017, 07:21:49 pm »
Is anyone else running p2pool?    I tried the new p2pool, but it does not connect to any peers.   Anything special I should do?

Quote
As an added bonus, the dev team has a version of P2Pool available which should work "out-of-the-box" for anyone wanting to run a P2Pool.




lavajumper

  • Administrator
  • Porn Star
  • *****
  • Posts: 236
  • Karma: +9/-0
Re: Release for V. 0.10.4.0
« Reply #4 on: July 22, 2017, 03:49:28 pm »
Is anyone else running p2pool?    I tried the new p2pool, but it does not connect to any peers.   Anything special I should do?


I know e-pools is running p2pool. Maybe ping him on BCT?

iirc... that should connect to any other p2pools, but everyone has to agree on the port. Maybe look there?

sosxc

  • Pole Dancer
  • *
  • Posts: 17
  • Karma: +1/-0
Re: Release for V. 0.10.4.0
« Reply #5 on: July 26, 2017, 12:55:33 am »
yeah, running with default port.

Code: [Select]
2017-07-25 17:52:17.956779 Joining p2pool network using port 8698...
2017-07-25 17:52:18.241344     ...success!
...
2017-07-25 17:52:18.994075 Peer 62.152.54.44:8698 misbehaving, will drop and ban. Reason: peer too old
2017-07-25 17:52:18.994320 Bad peer banned: (u'62.152.54.44', 8698)
...
2017-07-25 17:54:06.457343 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming)

I'm not sure how it finds peers.  do you know lava?

lavajumper

  • Administrator
  • Porn Star
  • *****
  • Posts: 236
  • Karma: +9/-0
Re: Release for V. 0.10.4.0
« Reply #6 on: July 28, 2017, 04:22:37 am »
yeah, running with default port.

Code: [Select]
2017-07-25 17:52:17.956779 Joining p2pool network using port 8698...
2017-07-25 17:52:18.241344     ...success!
...
2017-07-25 17:52:18.994075 Peer 62.152.54.44:8698 misbehaving, will drop and ban. Reason: peer too old
2017-07-25 17:52:18.994320 Bad peer banned: (u'62.152.54.44', 8698)
...
2017-07-25 17:54:06.457343 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming)

I'm not sure how it finds peers.  do you know lava?

send e-pools a BCT PM.. he's pretty responsive

but you _might_ have just solved a mystery... I've been trying to track down a P2Pool that hasn't upgraded.. I think you just did!

EDIT: I'm sorry I'm not more help .... I just haven't had time to look deep into P2Pool for a while.
« Last Edit: July 28, 2017, 04:25:59 am by lavajumper »

Timelord2067

  • #WhoviansAU
  • Porn Star
  • **
  • Posts: 189
  • Karma: +7/-0
  • Piss is the new Cum
    • Science Fiction, Fantasy and Horror (and) Conventions Forum #SFFHCF
Re: Release for V. 0.10.4.0
« Reply #7 on: August 02, 2017, 06:29:36 am »
Right now:

Seven of seventeen wallet I'm connected to on my 24/7 empty 10.4.0 wallet are running version 6.4.6 right at the moment, while the remaining ten are 10.4.0

It's the most connections I can recall having similtaniously on the new wallet version.

(no banned nodes list showing)
BTC 1SExsxcbXWkuRbhLhKG1w8KgXp1eY1GbN | SXC SEXYKUp7CYWKLWr54UtBKVnfjoN13Ybpha | http://tinyurl.com/CryptopiaSexCoin