Bible Pay

Read 155198 times

Re: Testnet - Test Proof of Giving
« Reply #135 on: December 22, 2018, 07:28:04 AM »
1.1.7.1
Mandatory Upgrade for TestNet


- Enabled Chat v1.0
- Fixed bug in POG (between 1.1.6.9 and 1.1.7.0)

Had chat open woke client had crashed when I got up this AM
Similar debug log.
Code: [Select]
Chosen Sanctuary - pulling down the DCC file... Aggregator 0.000000, Percentile -100.000000
2018-12-22 04:30:51 Filter File 94258ExecuteDistributedSanctuaryQuorum::Error - Unable to download DC file DCC input file does not exist. UpdateTip: new best=e34ecae5cb3257553e149610f93e4a5063d35e47f6d3e3533a67b1e87ae79280  height=94212  log2_work=44.376297  tx=101663  date=2018-12-22 04:30:52 progress=1.000000  cache=0.7MiB(2369tx)
2018-12-22 04:30:52 AddToWallet c71fffd5a318a20cfe6f92144a740bb8eb92caa82d614a89409cbe433f899b44  new
2018-12-22 04:30:53 ProcessNewBlock : ACCEPTED
2018-12-22 04:30:56  DCC hash 0000000000000000000000000000000000000000000000000000000000000000  Age 4.000000  FileTimeStamp 1545453056.000000   IsOld  No
 Chosen Sanctuary - pulling down the DCC file... Aggregator 0.000000, Percentile -100.000000
2018-12-22 04:30:56 Filter File 94258ExecuteDistributedSanctuaryQuorum::Error - Unable to download DC file DCC input file does not exist. ProcessNewBlock : ACCEPTED
2018-12-22 04:31:01 Misbehaving: 172.245.93.118:34292 (0 -> 14)
2018-12-22 04:31:51  CreateTransaction::Requiring specific coin age 12.220000 and coin amount 5091

I need to find a debugger that works in windows..  I don't have access to a linux PC that has any power currently.



  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #136 on: December 22, 2018, 09:44:05 AM »
Had chat open woke client had crashed when I got up this AM
Similar debug log.
Code: [Select]
Chosen Sanctuary - pulling down the DCC file... Aggregator 0.000000, Percentile -100.000000
2018-12-22 04:30:51 Filter File 94258ExecuteDistributedSanctuaryQuorum::Error - Unable to download DC file DCC input file does not exist. UpdateTip: new best=e34ecae5cb3257553e149610f93e4a5063d35e47f6d3e3533a67b1e87ae79280  height=94212  log2_work=44.376297  tx=101663  date=2018-12-22 04:30:52 progress=1.000000  cache=0.7MiB(2369tx)
2018-12-22 04:30:52 AddToWallet c71fffd5a318a20cfe6f92144a740bb8eb92caa82d614a89409cbe433f899b44  new
2018-12-22 04:30:53 ProcessNewBlock : ACCEPTED
2018-12-22 04:30:56  DCC hash 0000000000000000000000000000000000000000000000000000000000000000  Age 4.000000  FileTimeStamp 1545453056.000000   IsOld  No
 Chosen Sanctuary - pulling down the DCC file... Aggregator 0.000000, Percentile -100.000000
2018-12-22 04:30:56 Filter File 94258ExecuteDistributedSanctuaryQuorum::Error - Unable to download DC file DCC input file does not exist. ProcessNewBlock : ACCEPTED
2018-12-22 04:31:01 Misbehaving: 172.245.93.118:34292 (0 -> 14)
2018-12-22 04:31:51  CreateTransaction::Requiring specific coin age 12.220000 and coin amount 5091

I need to find a debugger that works in windows..  I don't have access to a linux PC that has any power currently.

The source code needs to be on the machine and compiled for valgrind to work; so windows is not an option (short of installing a few hundred gigs of environment and configuring for 14 days), however it *is* possible for you to copy your wallet.dat and chainstate files out to a linux box and re-run the environment in linux in valgrind. 

Btw, the default valgrind flags work:  apt-get install valgrind,    "valgrind ./biblepay-qt"   etc.

I realize you dont have the linux host however.  We'll have to see if the problem rears its head - Im running 3 nodes and none have crashed so far  on the new version; ill keep looking.






  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #137 on: December 23, 2018, 12:23:34 PM »
So TheSnat & I tested chat and it appears to work.  I've been monitoring for Illegal tithes and POG recipients invalid and I believe we have squashed those two bugs.

I havent heard of any possible attack vectors with POG, and it appears to be relatively solid now.  No community member has been able to challenge the algorithm for flaws, or further the assessment (that it wont be possible to design or test a new novel algorithm).  I think we have designed and tested a new novel algorithm and we are now in the final stretch of testing.  As far as stress testing it, my stress test passed (diff peaked and dropped after working through).   

The system relies on us paying approx 100K per day in miner heat rewards, and accepts approx 50K per day in donations.  You have to be careful as a giver not to give all your tithes in one block or you will incur a net loss (which, could be viewed as a positive as we dont want to reward hogs as we are a Christian Crypto).  Small givers who end up in multiple tiers per day will be more profitable.

So what I plan on doing next is taking the training wheels off.  We have been logging violations of invalid pog recipients - but not enforcing those in testnet so as to not fork.  By taking the wheels off I mean we will start enforcing those conditions.

So please ready yourselves for v 1.1.7.2 which will be a mandatory, with training wheels removed.



  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #138 on: December 23, 2018, 12:43:54 PM »
1.1.7.2 - Mandatory Upgrade for TestNet

- Remove training wheels in TestNet (Enforce block fork rules)
- Add feature to Chat to show a user has left the chat room


EDIT:  This is a placeholder, building now....




  • orbis
  • Full Member

    • 215


    • 7
    • February 08, 2018, 04:37:14 PM
    more
Re: Testnet - Test Proof of Giving
« Reply #139 on: December 23, 2018, 12:49:46 PM »
Hi all  :)
I'm back :)
So, I'm still here (still big fan of BBP), but my time for forums is "limited".
Sometimes I read it, but I'm sure, that I've something missed :)
Now lets get back to main point of this reply :D

I think, that I've read all about POG, but I'm still confused (sorry Rob) :)
Maybe it's language barrier, but I'm still not able to understand it all and for me is simpler to explain for newbies PODC like POG :D
POG is interesting idea, but Rob if it should be for non IT peaple it needs some "modification". Now I'll try to write my observations.
1. First of all... no "exec" commands. Commands are not for newbies and normal people. Exec pogpool is nice command but for normal people it must be inside GUI wallet (normal people don't use headless wallet). It will be nice to have one part of menu with POG (like "Distibuted computing" for PODC now). I still don't know if POG replace PODC at all or not. If yes, you could use this GUI wallet part and it will be easier for you to modify it. My idea is to divide pogpool command to two parts. First one would be list of users in pool and second part would be tier list with user stats. Now it's no problem to have it together but imagine output of this command when there will be 100 and more users ;) It must be comprehensible for newbies and trust me "exec" command is not so clear. Normal users wants all visible with one click on button.
2. Automatic tithing. That was really pain in my neck :D I had old wallet with old config and it was not working for me. I've tried all what I've found in testnet topic, but I wasn't successful. At the end I was able to auto tithe but...
2a. Again for normal (translate it like me :)) users it must be somewhere in config options just to check "want to participate in POG mining", second option would be frequency and third would be max amount - maybe not everyone wants to participate with max_tithe. Maybe it may be like step by step guide on first wallet run and then just part of config and in that wallet part in my point 1 it may be button for this config.
2b. My biggest problem with auto tihing was that my wallet is locked. It looks that you must have unlocked wallet for auto tithing. My presumption was that PODC startup unlock window unlock it for POG too. Maybe you can use it for POG unlock too.  And modify "-headlesspodcpassword exec podcpasswordlength" in headless too.
2c. How it's with auto tithing when there are no suitable coins at tithe time? It will wait for next tithe time (default 4 hours) or it will try in few minutes again? I'm not sure what will be better, but those "force" trying sounds better for me.
3. Manual tithing. I like the info when you check "Donate to foundation?", but ... :D It would be better to have two different checkboxes. First would be "Donate to foundation?" - this sould be real donation without any limitation. Second would be "POG tithe" with all limitation. And this "POG tithe" may be again on my point 1 wallet part.
4. "exec titheinfo". Again nice info but inside exec commands. It would be nice to have it in some popup window after button click. Of course with explanations of each part (maybe on mouse hover).
5. "coin_age" could be disadvantage for new users. It must be clearly said that new user can start not right after buying coins (and sending to wallet) but they must wait for right coin age. When I started testnet after few months I wasn't able to sync and I ran reindex and zapwallettx.. and now almost all of my coins has same coin age eg. coins has 85766 to 91501 confirmations but they are all with same age and date "12.12.2018 21:36" (I don't know if it is bug or not). So many times I wasn't able to tithe because I don't meet the age criteria because avg min_coin_age was aroun 9.5 days. Maybe "exec getdimensionalbalance 0 1" could be next button with popup window in GUI wallet ;)
6. I tested it in more ways, but I'm still not able to understand how it works :) and I have few questions:
6a. How to get to exact payment tier (how many coins i need to tithe)? - because in some tiers can be more or less users.
6b. It is any advantage to get to other tier?
6c. How exactly count my ROI? It is possible to say e.g. "when I tithe XXX BBP and now there are YYY users, my reward will be ZZZ BBP? I think this is neccessary for new users to tell them abou ROI. I saw in titheinfo lowest and highet ROI, but it is really  huge difference (e.g. 78 - 780%) and it is not clear how many coins I get back.
6d. At the beginning there will be only old users, so many coins with high coin_age. I have tried to make as many manual tithes as I was able within one block. I've made 8 tx within one block and the coin_age didn't change. After new block appears I wasn't able to tithe because my coin_age didn't meet the criteria. It was experiment, because I knew that I'm on the edge of criteria. So, is it possible that someone will abuse this? Will it be problem for others? Because at the beginning I have 0 BBP in tithes and after that around 2000 BBP. That is more like with basic autotithe. And in prod are block longer, so you have more time to make more tx :)
6e. When there is max tithe (eg 250 BBP) and someone use basic autotithe (4 hours) you can tithe approx 1500 BBP (6 x 250). So if they create more wallets and divide it with "exec bankroll" with e.g. 22500 BBP (max min_coin_amount :)) will he be in advantage or not?
7. Next remarks, not questions :D In my nest test there was maxTithe 255 BBP and I tried to send 300.. in GUI it was OK (TX creation failed with popup "your tithe exceeds...") but in console with "exec tithe 300" it was successful (TXID: 899762855682e7dc3294c461608895451ca93fd6749ed2a8d69383a1734681f2) but it was not counted in "My tithes". I think it should be canceled like in GUI with error message.
8. In testnet main topic in "test cases" part you wrote "exec showblock blocknumber". It should be without exec ;)
9. On wiki Proof-of-Giving-for-Beginners in POG Difficulty Algorithm section there is part "see the POG wiki for ...". It will be good to give there link to exact page because it is really bad experience to find exact article in this wiki.
10. Back to PODC. How it is? Will be PODC there with POG or not? If not, why PODC still remains in testnet? If YES or if NO how will be the distribution of rewards?
11. That chat is really fun part (but for now it is empty :) ) I know that it is just "alpha release" but chat window is still on top over main wallet window, without option to minimize (it will minimize with main window), so you cannot leave it open on background if you want and maybe that is the point why it is still empty :)
Ok :D It looks, that I wrote more than I want :D I prepared it for more days, but this surprised me too :D At the end. I'm happy that you're still working on BBP and trying to be more attractive for users. My opinion is that we don't need more miners, but more customers. This may help it, but It must be user friendly and it must be really good explained that why is better way to donate charities with BBP like with FIAT. And maybe tithing in churches would be good way how to promote BBP.
Whatever it is, I wish you all peaceful and blessed Christmas with your families or the closest. Have a nice holiday and fruitful new year.


  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #140 on: December 23, 2018, 01:27:08 PM »

10. Back to PODC. How it is? Will be PODC there with POG or not? If not, why PODC still remains in testnet? If YES or if NO how will be the distribution of rewards?
Whatever it is, I wish you all peaceful and blessed Christmas with your families or the closest. Have a nice holiday and fruitful new year.

Hi Orbis,

Welcome back!  Im glad to see you are still around also, thanks for coming back!  Merry Christmas to you too.

Note that we are getting ready for the Canada trip so I can only answer these one at a time (Nathaniel, please feel free to pull individual questions and help if you can), anyway, on PODC:

So we are trying to get a community feel on this in phases.  So far we have only voted and gained acceptance for using POG in the scope of replacing POW heat mining.  POW heat mining is currently using POBH, and requires a signed cpid.  With POG, it modifies this requirement to still use POBH for our hashing algorithm, but instead of POW rewards going to the miners who heat mine, instead the pool of 100K daily payments goes 20% to the reaper and 80% to the POG mining pool.  This way, we can still keep PODC for a while, live in prod, and check a baseline on "easy adoption" new participant influx.

Yes, as far as exec, good point, I agree with most of your points, but Ill have to elaborate a little more as I have time.

So if we go live at the end of Feb in prod, it would be POG to replace heat mining, with PODC still live in prod.



  • mint
  • Newbie

    • 18


    • 0
    • December 10, 2018, 10:19:06 AM
    more
Re: Testnet - Test Proof of Giving
« Reply #141 on: December 23, 2018, 01:53:13 PM »
Found this

21:11:43

exec istithelegal 379ed6f1c962ab76570dd6ff609ec36f38e5578563e9d950ce4e37f4efd61840


21:11:48

{
  "Command": "istithelegal",
  "Tithe_Legal": false,
  "Tithe_Age": 5.161655092592593,
  "Tithe_Spent_Coin_Amount": 1554,
  "Tithe_Amount": 108,
  "Block_diff_min_coin_age": 9.25,
  "Block_diff_min_coin_amt": 3853,
  "Block_diff_max_tithe_amt": 253,
  "Tithed_Height": 95741
}

This is 1170 so it might be already corrected


  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #142 on: December 23, 2018, 02:06:54 PM »
Found this

21:11:43

exec istithelegal 379ed6f1c962ab76570dd6ff609ec36f38e5578563e9d950ce4e37f4efd61840


21:11:48

{
  "Command": "istithelegal",
  "Tithe_Legal": false,
  "Tithe_Age": 5.161655092592593,
  "Tithe_Spent_Coin_Amount": 1554,
  "Tithe_Amount": 108,
  "Block_diff_min_coin_age": 9.25,
  "Block_diff_min_coin_amt": 3853,
  "Block_diff_max_tithe_amt": 253,
  "Tithed_Height": 95741
}

This is 1170 so it might be already corrected


Hmm, sort of maybe OK maybe not, we need to double check this.

1170 was the version that supposedly fixed the user from accidentally creating the illegal tithe.  However I was monitoring 1170s logs and didnt see anyone make an illegal tithe in a block created 1170+.  (Up to 6 hours ago though).

We need to know how this occurred (IE did you create the transaction in 1170+) and also do you know if reproduceible?


  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #143 on: December 23, 2018, 02:09:32 PM »
1. First of all... no "exec" commands. Commands are not for newbies and normal people. Exec pogpool is nice command but for normal people it must be inside GUI wallet (normal people don't use headless wallet). It will be nice to have one part of menu with POG (like "Distibuted computing" for PODC now). I still don't know if POG replace PODC at all or not. If yes, you could use this GUI wallet part and it will be easier for you to modify it. My idea is to divide pogpool command to two parts. First one would be list of users in pool and second part would be tier list with user stats. Now it's no problem to have it together but imagine output of this command when there will be 100 and more users ;) It must be comprehensible for newbies and trust me "exec" command is not so clear. Normal users wants all visible with one click on button.


Regarding newbies, first of all the exec pogpool wont be showing the heading info - that is for debug purposes.  In prod we only show the tranches.  Next Snat is creating a UI for a web based site for users who dont know how to go the rpc.  (Im considering doing a UI pogpool view also in the core).  But, thanks for reminding me that we should maybe make the summary a little nicer, that could be a good thing for me to work on for the next version before prod.  Regarding 'exec' itself, that will be eliminated eventually, but maybe not in the next mandatory or two.

Thanks for the advice though, well taken.



  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #144 on: December 23, 2018, 02:13:02 PM »
2. Automatic tithing. That was really pain in my neck :D I had old wallet with old config and it was not working for me. I've tried all what I've found in testnet topic, but I wasn't successful. At the end I was able to auto tithe but...
2a. Again for normal (translate it like me :)) users it must be somewhere in config options just to check "want to participate in POG mining", second option would be frequency and third would be max amount - maybe not everyone wants to participate with max_tithe. Maybe it may be like step by step guide on first wallet run and then just part of config and in that wallet part in my point 1 it may be button for this config.
2b. My biggest problem with auto tihing was that my wallet is locked. It looks that you must have unlocked wallet for auto tithing. My presumption was that PODC startup unlock window unlock it for POG too. Maybe you can use it for POG unlock too.  And modify "-headlesspodcpassword exec podcpasswordlength" in headless too.
2c. How it's with auto tithing when there are no suitable coins at tithe time? It will wait for next tithe time (default 4 hours) or it will try in few minutes again? I'm not sure what will be better, but those "force" trying sounds better for me.

Regarding auto background tithing, we just put in the one click mining setup in the menu for newbies.  If they dont use that, all the user needs to do is enter 'tithe=minutes_frequency' in the next version.  But I get your point on the walletunlock!  Great catch - we need that asap.

Ill work on putting that feature in during the next release, I think we can make the tithing subsystem that auto-tithes respect the password that was entered during boot, and if wallet is locked, use it, unlock, tithe, and re-lock.


When there are no suitable coins, it just silently skips the tithing-and of course tries again in 4 hours.  If your frequency is set lower, it tries again at that frequency point.




  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #145 on: December 23, 2018, 02:16:07 PM »
From Orbis:
6a. How to get to exact payment tier (how many coins i need to tithe)? - because in some tiers can be more or less users.
6b. It is any advantage to get to other tier?


So your tier is determined from what block you tithed last in.  The block you tithed in determines your current tier.  If you end up in a tier with more givers it is disadvantageous for you.  IE if a whale tithes 10,000 bbp and ends in tier 2 and you end in tier 2 you just ended up sharing the pool weight with a whale.  What you can do then is just tithe again and it should change your tier.

It is advantageous to be in the lowest (sum of tithes) tier.  Of course in prod I expect this to be pretty distributed out due to arb, and randomness.



ROI:

To figure ROI, first figure what your income will be.  If your tier yields a 50% tithe_weight for you, that means you will be paid on 13 blocks at (80 % of the heat mining reward * .50), so expect about 400~ bbp for each pool payout * .50% = 200 bbp per block * 13 blocks = 2600 bbp revenue in this case.  However if you were in a tier where you ended up with 10% tithe_weight that would be a total of ~500 bbp revenue.


« Last Edit: December 23, 2018, 02:18:09 PM by Rob Andrews »


  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #146 on: December 23, 2018, 02:21:31 PM »
6d. At the beginning there will be only old users, so many coins with high coin_age. I have tried to make as many manual tithes as I was able within one block. I've made 8 tx within one block and the coin_age didn't change. After new block appears I wasn't able to tithe because my coin_age didn't meet the criteria. It was experiment, because I knew that I'm on the edge of criteria. So, is it possible that someone will abuse this? Will it be problem for others? Because at the beginning I have 0 BBP in tithes and after that around 2000 BBP. That is more like with basic autotithe. And in prod are block longer, so you have more time to make more tx :)
6e. When there is max tithe (eg 250 BBP) and someone use basic autotithe (4 hours) you can tithe approx 1500 BBP (6 x 250). So if they create more wallets and divide it with "exec bankroll" with e.g. 22500 BBP (max min_coin_amount :)) will he be in advantage or not?

Regarding abusing 6d, its not really an edge.  First of all, if you met the criteria of "legal tithe" you had the right to do it (IE because your coins were aged).  Next, diff will jump on the next block.  Next, even if someone does it once, this will only work once (and then they lose coin age again) and will persist for 205 more blocks until that high block rolls out of the pool.  Next, we are raising tx fee relay fees in the next version, which will discourage a lot of transactions per block.

There is no advantage at all to create multiple wallets.  There is an advantage to using exec bankroll however, but only as far as making it fair for everyone who has 'excess balances' - IE we wouldnt want to hide anyones excess ability to tithe, so we have the bankroll feature.



  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #147 on: December 23, 2018, 02:39:26 PM »
From Orbis:

7. Next remarks, not questions :D In my nest test there was maxTithe 255 BBP and I tried to send 300.. in GUI it was OK (TX creation failed with popup "your tithe exceeds...") but in console with "exec tithe 300" it was successful (TXID: 899762855682e7dc3294c461608895451ca93fd6749ed2a8d69383a1734681f2) but it was not counted in "My tithes". I think it should be canceled like in GUI with error message.

Great catch, I believe this applies to both Orbis and Mint!  You found a bug.  Your right, the UI respects the max tithe and the RPC doesnt.. that explains how the illegal tithe got in for Mint on 1170....

Ok fixing now... Will need to re-release 1172 so we can re-test this.





  • Rob Andrews
  • Administrator

    • 4090


    • 97
    • June 05, 2017, 08:09:04 PM
    • Patmos, Island Of
    more
Re: Testnet - Test Proof of Giving
« Reply #148 on: December 23, 2018, 02:45:35 PM »
Orbis:
That chat is really fun part (but for now it is empty :) ) I know that it is just "alpha release" but chat window is still on top over main wallet window, without option to minimize (it will minimize with main window), so you cannot leave it open on background if you want and maybe that is the point why it is still empty.

On my debian box, there is minimize on the chat windows.  On a side note, when someone PM someone else, the wallet opens the chat for you.  But I think you are referring to being able to place the chat window behind the mother window - looking at other non-modal windows in our app, you cant place the debug window behind the mother window, so thats normal, you have to minimize it.

But we can definitely try to see why your distro doesnt show minimize.  Are you sure you cant right click the chat window upper left corner and minimize the chat window?




  • orbis
  • Full Member

    • 215


    • 7
    • February 08, 2018, 04:37:14 PM
    more
Re: Testnet - Test Proof of Giving
« Reply #149 on: December 23, 2018, 06:18:43 PM »
Rob thanks for all of your answers :) It's more clear for me now :D
And to that chat window... I'm using WIN 10 home 64 bit.
Screenshot attached.