HoneyComb - DeFi Where Community Matters

in #devlast year

Hive is Amazing

Day 13 in NovemBlog

Progress Updates

I've been using the much smaller DLUX iteration of HoneyComb to test changes and yesterday it all paid off. Let's explain how the Multi-Signature wallet works for the DEX so I can explain the issue, and the solution.

The DEX here isn't somewhere you just "leave" a balance, you have an open order. It's tokens are as decentralized as a main chain... where they are still managed exclusively by your keys. However, Sending orders/Hive to our DEX account is different. This is an account that's not on our chain, it's on Hive. While it's pretty easy to manage Hive accounts from a block stream(and not at all easy to manage RCs from a block stream) it does suffer from issues of key management.

To remedy this I've built autonomous controllers for multi-signature accounts. To put it in simple terms, they build identical transactions and only pass the signatures thru hive. These transactions expire after no more than an hour, and when a node reads a signature on chain... if it's collected enough signature... it tries to broadcast the transaction.

What happens when the expiration passes? Well, when the nodes don't get enough signatures they just take the old transaction data, and build a new transaction with the current parameters. It pulls a time stamp from a block so the nodes don't have to worry about synchronizing a time stamp... it deletes the old transaction, that was never passed around, and stores the new one... and sends off a signature.

So yesterday I was a little surprised when the DLUX chain spit out a few of the same transactions to @blockgolem. He was too, and messaged me first about how to deal with the excess funds in his account. He did a little math and sent back what he believe to be the overages, and I put them back in the DEX. (Any multi-sig keyholder can reinsert fund into the dex by sending them with the memo of 'IGNORE'). Before getting into why this hapened, let's just take a moment to consider how amazing our accounts and the reputation that is intrinsic to our community is.

No KYC No Problem

The lack of KYC is one of the biggest features here. When FTX goes down so many people have incentives to probe the systems. It looks like there was an internal hack and funds got sent to Vitalik and CZ... some other people are claiming the Democrats are laundering money thru FTX... the point is, there is a database of credentials that may get leaked intentionally, non-intentionally, or just become public record as part of a bankruptcy hearing. Identity fraud and worse then becomes an issue. In all of that KYC it didn't prevent massive fraud, potential money laundering, and theft.

Here on HoneyComb, when somebody receives $25 too much they send it back. This isn't the first time, and if there are more bugs it hopefully won't be the last time. There is no database to steal, no additional complications with storing PII, and we still have honesty, reputation... and in this case some rewards.

99% of the posts rewards will go to @blockgolem

I'm keeping 1% because I'm still trying to get my Power Up Month Badge ;)
@blockgolem also tried to decline this, but I'm hoping to set an example that others can and should follow. Good deeds don't go unpunished!

But Why The DoubleSpend?

Well there are two reasons for this and one solution. When a node makes a signature they try and send the broadcast... which means, when we ran updates yesterday, there was a slight sync issue, which means 2/3 signatures required were in the block stream, and as the 3rd node was catching up, they signed and broadcasted still valid but older transactions before they deleted them internally.

Is sending a broadcast when it's signed a bad thing? I was thinking so when I informed the node runner chat. But as soon as you say something out loud the real issue comes up. There were multiple valid transactions!! So an emergency fix got put in place on both chains. It reduced the expiration time on the multi-sig transactions from 1 hour to 5 minutes. This coincided with the resigning cycle on HoneyComb, and now the transactions will expire in the real world just as they expire on chain.

Lots of Work

It may not seem like it, but things are getting a lot better from many standpoints. As more people use the networks there have been less and less issues. Some things like block streams drop out even on my nearly unutilized public hive node. People have been telling me Hive-Engine has been suffering a bit as well.

With the recent state checks to ensure proper database reassembly, expanding multi-sig control past 3 key holders, the block-processor getting it's kinks worked out, and all the other things I've mentioned or coded... I'm feeling ever more confident in the system overall. When just 2/3 keyholders made the switch to the new change last night(because it was the middle of the night on a saturday) the chain responded well, double transactions weren't made... and when enough nodes switched to the latest version everything stabilized as intended.

I hope more people dig into the code to understand it, improve it, and trust it... so they can build platforms/networks that suit their communities needs.

Sort:  

great to see honesty, and good deeds being rewarded
we just keep building positive experience here on hive
while lots of other places go down in flames!


The rewards earned on this comment will go directly to the people( @taskmaster4450le ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

I hope more people dig into the code to understand it

some people probably would, but the entering barrier seems overwhelming

🍕 PIZZA !
@disregardfiat! The Hive.Pizza team manually upvoted your post.

I gifted $PIZZA slices here:
@torran(5/10) tipped @disregardfiat (x1)

Please vote for pizza.witness!

KYC is so obsolete! For most people involved in online for a good while, reputation is far more valuable.

!PGM
!PIZZA

Sent 0.1 PGM - 0.1 LVL- 1 STARBITS - 0.05 DEC - 15 SBT - 0.1 THG - tokens to @torran

remaining commands 5

BUY AND STAKE THE PGM TO SEND A LOT OF TOKENS!

The tokens that the command sends are: 0.1 PGM-0.1 LVL-0.1 THGAMING-0.05 DEC-15 SBT-1 STARBITS-[0.00000001 BTC (SWAP.BTC) only if you have 2500 PGM in stake or more ]

5000 PGM IN STAKE = 2x rewards!

image.png
Discord image.png

Support the curation account @ pgm-curator with a delegation 10 HP - 50 HP - 100 HP - 500 HP - 1000 HP

Get potential votes from @ pgm-curator by paying in PGM, here is a guide

I'm a bot, if you want a hand ask @ zottone444