1/ A few weeks ago I did a survey and more than 50% of responders said that they had lost money due to a mistake in entering public keys. With @kadena_io you can do what I call a Safe Transfer which makes it impossible to lose coins. Here's how they work...
2/ If we take a step back and think about the #cryptocurrency safe transfer problem, what we really need is some way of guaranteeing that someone has a private key corresponding to the public key to which we're sending.
3/ There's an obvious way to do this...sign the transaction with the *receiver's* private key! Signing something is the definitive way to prove possession of a private key.
4/ Therefore, to make a truly safe transaction where you know your #Crypto isn't being sent to a black hole you have to REQUIRE that the transaction also be signed by the receiving key. The next question, then, is how do we require this...
5/ Well, we already have something that establishes this requirement. You have to sign to transfer money out of an account. This suggests a pretty elegant way to construct a safe #Crypto transfer...
6/ If Alice wants to transfer 5 coins to Bob safely, all she has to do is construct a single transaction that transfers 5.001 coins to Bob and then transfers 0.001 coins from Bob back to Alice *in the same transaction*. Here's where @kadena_io's Pact saves the day...
7/ With $KDA, coin transfers aren't special. They're a normal Pact function call just like anything else. This design decision means that we didn't have to do any extra work to support safe transfers...even though we didn't think of the idea until after launch!
8/ Here's the #pact code for doing a safe transfer. If any part of a Pact transaction fails, the whole transaction fails. So if the 0.001 transfer from Bob to Alice fails, then the preceding transfer also fails. Image
9/ If you made a mistake while entering Bob's public key, then Bob won't be able to sign this transaction. Therefore, the transaction can't possibly succeed unless Bob has the private key and signs the transaction with it.
10/ The only downside to this is that you have to sign the transaction with two keys...the sender's key and the receiver's key. But guess what...it's the well known best practice in #Crypto is to do a test transfer first and then have the receiver do a transaction to verify.
11/ It's not even sufficient to do a small test transfer and check your balance. To be really sure it worked, you have to verify that you can transfer the coins out again. @kadena_io safe transfers do all this in one transaction!
12/ Say goodbye to lost coins or time consuming test transfers and start doing safe transfers today with @kadena_io's Chainweaver wallet! It has built-in support for safe transfers that handles all the details for you. kadena.io/chainweaver Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with CryptoDoug

CryptoDoug Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @KadenaDirEng

7 Jul
1/ Let's look at the second item of the three major components of cryptocurrency security:

2. How you store your private key

2/ Now that you've generated your keys securely (as we discussed in ), you need to store them safely. The most secure way to store private keys is on a device that is not connected to the internet. This is what we call "cold storage".
3/ Cold storage of your private keys gives you better security because people have to have physical access to the key to attack you. This rules out billions of people from attacking you over the internet by hacking into your computer.
Read 11 tweets
13 May
1/ Cross-chain transfers on @kadena_io deserve a more detailed explanation. As I've discussed previously, Kadena scales by using multiple chains connected together. Each chain behaves as a standalone blockchain. This has several ramifications.
2/ Nothing can happen on a blockchain without someone sending in a transaction. Smart contracts cannot "go out to the internet" to get more data. They can only access what's already on the blockchain and in the transaction itself.
3/ This means that to do a cross-chain transfer, you have to do two transactions: one to burn the coins on the sending chain, and a second to reconstitute those coins on the target chain. Because of the above criteria, there's no way around this. It's essential complexity.
Read 10 tweets
21 Mar
1/ The only way to scale Proof of Work is to scale block production. This is why @kadena_io has emphasized how many blocks the network has mined. Let's examine the technical details of why this is the case...
2/ There's a limit to how many transactions you can fit into a block and there's also a limit to how low you can make the block time. Improvements in the network efficiency can help you do more within these limits, but at the end of the day there's only so much you can do.
3/ First let's look at the limit on the number of transactions in a block. This is driven by two factors: space and time. Every transaction uses some space because you have to store at least the sender, receiver, and amount
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(