What Is TXID or How to Find a Transaction in the ... - Bitcoin

Technical: A Brief History of Payment Channels: from Satoshi to Lightning Network

Who cares about political tweets from some random country's president when payment channels are a much more interesting and are actually capable of carrying value?
So let's have a short history of various payment channel techs!

Generation 0: Satoshi's Broken nSequence Channels

Because Satoshi's Vision included payment channels, except his implementation sucked so hard we had to go fix it and added RBF as a by-product.
Originally, the plan for nSequence was that mempools would replace any transaction spending certain inputs with another transaction spending the same inputs, but only if the nSequence field of the replacement was larger.
Since 0xFFFFFFFF was the highest value that nSequence could get, this would mark a transaction as "final" and not replaceable on the mempool anymore.
In fact, this "nSequence channel" I will describe is the reason why we have this weird rule about nLockTime and nSequence. nLockTime actually only works if nSequence is not 0xFFFFFFFF i.e. final. If nSequence is 0xFFFFFFFF then nLockTime is ignored, because this if the "final" version of the transaction.
So what you'd do would be something like this:
  1. You go to a bar and promise the bartender to pay by the time the bar closes. Because this is the Bitcoin universe, time is measured in blockheight, so the closing time of the bar is indicated as some future blockheight.
  2. For your first drink, you'd make a transaction paying to the bartender for that drink, paying from some coins you have. The transaction has an nLockTime equal to the closing time of the bar, and a starting nSequence of 0. You hand over the transaction and the bartender hands you your drink.
  3. For your succeeding drink, you'd remake the same transaction, adding the payment for that drink to the transaction output that goes to the bartender (so that output keeps getting larger, by the amount of payment), and having an nSequence that is one higher than the previous one.
  4. Eventually you have to stop drinking. It comes down to one of two possibilities:
    • You drink until the bar closes. Since it is now the nLockTime indicated in the transaction, the bartender is able to broadcast the latest transaction and tells the bouncers to kick you out of the bar.
    • You wisely consider the state of your liver. So you re-sign the last transaction with a "final" nSequence of 0xFFFFFFFF i.e. the maximum possible value it can have. This allows the bartender to get his or her funds immediately (nLockTime is ignored if nSequence is 0xFFFFFFFF), so he or she tells the bouncers to let you out of the bar.
Now that of course is a payment channel. Individual payments (purchases of alcohol, so I guess buying coffee is not in scope for payment channels). Closing is done by creating a "final" transaction that is the sum of the individual payments. Sure there's no routing and channels are unidirectional and channels have a maximum lifetime but give Satoshi a break, he was also busy inventing Bitcoin at the time.
Now if you noticed I called this kind of payment channel "broken". This is because the mempool rules are not consensus rules, and cannot be validated (nothing about the mempool can be validated onchain: I sigh every time somebody proposes "let's make block size dependent on mempool size", mempool state cannot be validated by onchain data). Fullnodes can't see all of the transactions you signed, and then validate that the final one with the maximum nSequence is the one that actually is used onchain. So you can do the below:
  1. Become friends with Jihan Wu, because he owns >51% of the mining hashrate (he totally reorged Bitcoin to reverse the Binance hack right?).
  2. Slip Jihan Wu some of the more interesting drinks you're ordering as an incentive to cooperate with you. So say you end up ordering 100 drinks, you split it with Jihan Wu and give him 50 of the drinks.
  3. When the bar closes, Jihan Wu quickly calls his mining rig and tells them to mine the version of your transaction with nSequence 0. You know, that first one where you pay for only one drink.
  4. Because fullnodes cannot validate nSequence, they'll accept even the nSequence=0 version and confirm it, immutably adding you paying for a single alcoholic drink to the blockchain.
  5. The bartender, pissed at being cheated, takes out a shotgun from under the bar and shoots at you and Jihan Wu.
  6. Jihan Wu uses his mystical chi powers (actually the combined exhaust from all of his mining rigs) to slow down the shotgun pellets, making them hit you as softly as petals drifting in the wind.
  7. The bartender mutters some words, clothes ripping apart as he or she (hard to believe it could be a she but hey) turns into a bear, ready to maul you for cheating him or her of the payment for all the 100 drinks you ordered from him or her.
  8. Steely-eyed, you stand in front of the bartender-turned-bear, daring him to touch you. You've watched Revenant, you know Leonardo di Caprio could survive a bear mauling, and if some posh actor can survive that, you know you can too. You make a pose. "Drunken troll logic attack!"
  9. I think I got sidetracked here.
Lessons learned?

Spilman Channels

Incentive-compatible time-limited unidirectional channel; or, Satoshi's Vision, Fixed (if transaction malleability hadn't been a problem, that is).
Now, we know the bartender will turn into a bear and maul you if you try to cheat the payment channel, and now that we've revealed you're good friends with Jihan Wu, the bartender will no longer accept a payment channel scheme that lets one you cooperate with a miner to cheat the bartender.
Fortunately, Jeremy Spilman proposed a better way that would not let you cheat the bartender.
First, you and the bartender perform this ritual:
  1. You get some funds and create a transaction that pays to a 2-of-2 multisig between you and the bartender. You don't broadcast this yet: you just sign it and get its txid.
  2. You create another transaction that spends the above transaction. This transaction (the "backoff") has an nLockTime equal to the closing time of the bar, plus one block. You sign it and give this backoff transaction (but not the above transaction) to the bartender.
  3. The bartender signs the backoff and gives it back to you. It is now valid since it's spending a 2-of-2 of you and the bartender, and both of you have signed the backoff transaction.
  4. Now you broadcast the first transaction onchain. You and the bartender wait for it to be deeply confirmed, then you can start ordering.
The above is probably vaguely familiar to LN users. It's the funding process of payment channels! The first transaction, the one that pays to a 2-of-2 multisig, is the funding transaction that backs the payment channel funds.
So now you start ordering in this way:
  1. For your first drink, you create a transaction spending the funding transaction output and sending the price of the drink to the bartender, with the rest returning to you.
  2. You sign the transaction and pass it to the bartender, who serves your first drink.
  3. For your succeeding drinks, you recreate the same transaction, adding the price of the new drink to the sum that goes to the bartender and reducing the money returned to you. You sign the transaction and give it to the bartender, who serves you your next drink.
  4. At the end:
    • If the bar closing time is reached, the bartender signs the latest transaction, completing the needed 2-of-2 signatures and broadcasting this to the Bitcoin network. Since the backoff transaction is the closing time + 1, it can't get used at closing time.
    • If you decide you want to leave early because your liver is crying, you just tell the bartender to go ahead and close the channel (which the bartender can do at any time by just signing and broadcasting the latest transaction: the bartender won't do that because he or she is hoping you'll stay and drink more).
    • If you ended up just hanging around the bar and never ordering, then at closing time + 1 you broadcast the backoff transaction and get your funds back in full.
Now, even if you pass 50 drinks to Jihan Wu, you can't give him the first transaction (the one which pays for only one drink) and ask him to mine it: it's spending a 2-of-2 and the copy you have only contains your own signature. You need the bartender's signature to make it valid, but he or she sure as hell isn't going to cooperate in something that would lose him or her money, so a signature from the bartender validating old state where he or she gets paid less isn't going to happen.
So, problem solved, right? Right? Okay, let's try it. So you get your funds, put them in a funding tx, get the backoff tx, confirm the funding tx...
Once the funding transaction confirms deeply, the bartender laughs uproariously. He or she summons the bouncers, who surround you menacingly.
"I'm refusing service to you," the bartender says.
"Fine," you say. "I was leaving anyway;" You smirk. "I'll get back my money with the backoff transaction, and posting about your poor service on reddit so you get negative karma, so there!"
"Not so fast," the bartender says. His or her voice chills your bones. It looks like your exploitation of the Satoshi nSequence payment channel is still fresh in his or her mind. "Look at the txid of the funding transaction that got confirmed."
"What about it?" you ask nonchalantly, as you flip open your desktop computer and open a reputable blockchain explorer.
What you see shocks you.
"What the --- the txid is different! You--- you changed my signature?? But how? I put the only copy of my private key in a sealed envelope in a cast-iron box inside a safe buried in the Gobi desert protected by a clan of nomads who have dedicated their lives and their childrens' lives to keeping my private key safe in perpetuity!"
"Didn't you know?" the bartender asks. "The components of the signature are just very large numbers. The sign of one of the signature components can be changed, from positive to negative, or negative to positive, and the signature will remain valid. Anyone can do that, even if they don't know the private key. But because Bitcoin includes the signatures in the transaction when it's generating the txid, this little change also changes the txid." He or she chuckles. "They say they'll fix it by separating the signatures from the transaction body. They're saying that these kinds of signature malleability won't affect transaction ids anymore after they do this, but I bet I can get my good friend Jihan Wu to delay this 'SepSig' plan for a good while yet. Friendly guy, this Jihan Wu, it turns out all I had to do was slip him 51 drinks and he was willing to mine a tx with the signature signs flipped." His or her grin widens. "I'm afraid your backoff transaction won't work anymore, since it spends a txid that is not existent and will never be confirmed. So here's the deal. You pay me 99% of the funds in the funding transaction, in exchange for me signing the transaction that spends with the txid that you see onchain. Refuse, and you lose 100% of the funds and every other HODLer, including me, benefits from the reduction in coin supply. Accept, and you get to keep 1%. I lose nothing if you refuse, so I won't care if you do, but consider the difference of getting zilch vs. getting 1% of your funds." His or her eyes glow. "GENUFLECT RIGHT NOW."
Lesson learned?

CLTV-protected Spilman Channels

Using CLTV for the backoff branch.
This variation is simply Spilman channels, but with the backoff transaction replaced with a backoff branch in the SCRIPT you pay to. It only became possible after OP_CHECKLOCKTIMEVERIFY (CLTV) was enabled in 2015.
Now as we saw in the Spilman Channels discussion, transaction malleability means that any pre-signed offchain transaction can easily be invalidated by flipping the sign of the signature of the funding transaction while the funding transaction is not yet confirmed.
This can be avoided by simply putting any special requirements into an explicit branch of the Bitcoin SCRIPT. Now, the backoff branch is supposed to create a maximum lifetime for the payment channel, and prior to the introduction of OP_CHECKLOCKTIMEVERIFY this could only be done by having a pre-signed nLockTime transaction.
With CLTV, however, we can now make the branches explicit in the SCRIPT that the funding transaction pays to.
Instead of paying to a 2-of-2 in order to set up the funding transaction, you pay to a SCRIPT which is basically "2-of-2, OR this singlesig after a specified lock time".
With this, there is no backoff transaction that is pre-signed and which refers to a specific txid. Instead, you can create the backoff transaction later, using whatever txid the funding transaction ends up being confirmed under. Since the funding transaction is immutable once confirmed, it is no longer possible to change the txid afterwards.

Todd Micropayment Networks

The old hub-spoke model (that isn't how LN today actually works).
One of the more direct predecessors of the Lightning Network was the hub-spoke model discussed by Peter Todd. In this model, instead of payers directly having channels to payees, payers and payees connect to a central hub server. This allows any payer to pay any payee, using the same channel for every payee on the hub. Similarly, this allows any payee to receive from any payer, using the same channel.
Remember from the above Spilman example? When you open a channel to the bartender, you have to wait around for the funding tx to confirm. This will take an hour at best. Now consider that you have to make channels for everyone you want to pay to. That's not very scalable.
So the Todd hub-spoke model has a central "clearing house" that transport money from payers to payees. The "Moonbeam" project takes this model. Of course, this reveals to the hub who the payer and payee are, and thus the hub can potentially censor transactions. Generally, though, it was considered that a hub would more efficiently censor by just not maintaining a channel with the payer or payee that it wants to censor (since the money it owned in the channel would just be locked uselessly if the hub won't process payments to/from the censored user).
In any case, the ability of the central hub to monitor payments means that it can surveill the payer and payee, and then sell this private transactional data to third parties. This loss of privacy would be intolerable today.
Peter Todd also proposed that there might be multiple hubs that could transport funds to each other on behalf of their users, providing somewhat better privacy.
Another point of note is that at the time such networks were proposed, only unidirectional (Spilman) channels were available. Thus, while one could be a payer, or payee, you would have to use separate channels for your income versus for your spending. Worse, if you wanted to transfer money from your income channel to your spending channel, you had to close both and reshuffle the money between them, both onchain activities.

Poon-Dryja Lightning Network

Bidirectional two-participant channels.
The Poon-Dryja channel mechanism has two important properties:
Both the original Satoshi and the two Spilman variants are unidirectional: there is a payer and a payee, and if the payee wants to do a refund, or wants to pay for a different service or product the payer is providing, then they can't use the same unidirectional channel.
The Poon-Dryjam mechanism allows channels, however, to be bidirectional instead: you are not a payer or a payee on the channel, you can receive or send at any time as long as both you and the channel counterparty are online.
Further, unlike either of the Spilman variants, there is no time limit for the lifetime of a channel. Instead, you can keep the channel open for as long as you want.
Both properties, together, form a very powerful scaling property that I believe most people have not appreciated. With unidirectional channels, as mentioned before, if you both earn and spend over the same network of payment channels, you would have separate channels for earning and spending. You would then need to perform onchain operations to "reverse" the directions of your channels periodically. Secondly, since Spilman channels have a fixed lifetime, even if you never used either channel, you would have to periodically "refresh" it by closing it and reopening.
With bidirectional, indefinite-lifetime channels, you may instead open some channels when you first begin managing your own money, then close them only after your lawyers have executed your last will and testament on how the money in your channels get divided up to your heirs: that's just two onchain transactions in your entire lifetime. That is the potentially very powerful scaling property that bidirectional, indefinite-lifetime channels allow.
I won't discuss the transaction structure needed for Poon-Dryja bidirectional channels --- it's complicated and you can easily get explanations with cute graphics elsewhere.
There is a weakness of Poon-Dryja that people tend to gloss over (because it was fixed very well by RustyReddit):
Another thing I want to emphasize is that while the Lightning Network paper and many of the earlier presentations developed from the old Peter Todd hub-and-spoke model, the modern Lightning Network takes the logical conclusion of removing a strict separation between "hubs" and "spokes". Any node on the Lightning Network can very well work as a hub for any other node. Thus, while you might operate as "mostly a payer", "mostly a forwarding node", "mostly a payee", you still end up being at least partially a forwarding node ("hub") on the network, at least part of the time. This greatly reduces the problems of privacy inherent in having only a few hub nodes: forwarding nodes cannot get significantly useful data from the payments passing through them, because the distance between the payer and the payee can be so large that it would be likely that the ultimate payer and the ultimate payee could be anyone on the Lightning Network.
Lessons learned?


After LN, there's also the Decker-Wattenhofer Duplex Micropayment Channels (DMC). This post is long enough as-is, LOL. But for now, it uses a novel "decrementing nSequence channel", using the new relative-timelock semantics of nSequence (not the broken one originally by Satoshi). It actually uses multiple such "decrementing nSequence" constructs, terminating in a pair of Spilman channels, one in both directions (thus "duplex"). Maybe I'll discuss it some other time.
The realization that channel constructions could actually hold more channel constructions inside them (the way the Decker-Wattenhofer puts a pair of Spilman channels inside a series of "decrementing nSequence channels") lead to the further thought behind Burchert-Decker-Wattenhofer channel factories. Basically, you could host multiple two-participant channel constructs inside a larger multiparticipant "channel" construct (i.e. host multiple channels inside a factory).
Further, we have the Decker-Russell-Osuntokun or "eltoo" construction. I'd argue that this is "nSequence done right". I'll write more about this later, because this post is long enough.
Lessons learned?
submitted by almkglor to Bitcoin [link] [comments]

Contrats d'exécution consensuels de VDS et processus du téléchargement à la chaîne

Résumé des contrats d’exécution consensuels
Le concept de base du contrat d’exécution consensuels
Contrats d’exécution consensuels, connu sous le nom de contrat intelligent dans l'industrie de la blockchain, mais l'équipe de VDS estime que ce terme est trop marketing, car nous n'avons pas trouvé à quel point la technologie de programmation contractuelle est intelligente jusqu'à présent, il s'agit simplement d'un système décentralisé dans le réseau distribué, la procédure prédéfinie de comportement consensuel formée par l'édition de code. Dans l'esprit de rechercher la vérité à partir des faits, nous pensons qu'il est plus approprié de renommer le contrat intelligent en tant que contrat d'exécution de consensus. Lorsque les humains combineront la technologie blockchain avec la technologie d'intelligence artificielle de AI à l'avenir, les obstacles à la compréhension des noms sont éliminés.
Le contrat d'exécution consensuel peut être appliqué à de nombreuses industries, telles que la finance, l'éducation, les systèmes administratifs, l'Internet des objets, le divertissement en ligne, etc. Grâce à la technologie de la blockchain, dans un réseau distribué spécifique, un script d'exécution qui est formé par l'édition de pré-code sans aucune intervention de tiers et le comportement de consensus des deux parties ou de plusieurs parties impliquées dans le protocole. Il garantit l’exécution sûre, stable et équitable des droits et intérêts de tous les participants au contrat.
Le contrat d'exécution consensuel a joué un rôle dans l'accélération de l'atterrissage de diverses applications pour le développement de l'industrie de la blockchain et a incité davantage de développeurs à y participer activement, révolutionnant l'expérience réelle des produits de la technologie de la blockchain. Tout découle des contributions exceptionnelles de l'équipe Ethereum, ouvrant une nouvelle porte à l'ensemble de l'industrie.
Structure de base et jonction
L’intégration de EVM
La machine virtuelle Ethereum (EVM) utilise un code machine 256 bits et est une machine virtuelle basée sur la pile utilisée pour exécuter les contrats d'exécution consensuels d'Ethereum. Étant donné que l'EVM est conçu pour le système Ethereum, le modèle de compte Ethereum (Account Model) est utilisé pour la transmission de valeurs. La conception de la chaîne VDS est basée sur le modèle Bitcoin UTXO. La raison de cette conception est, d'une part, c'est en raison de la nécessité de réaliser la fonction d'échange de résonance de VDS et la fonction d'échange inter-chaîne unidirectionnelle de bitcoin à chaîne VDS, qui peuvent réaliser la génération de deux adresses différentes de bitcoin et VDS avec une clé privée. D'autre part, l'équipe VDS estime que la structure sous-jacente des transactions Bitcoin est plus stable et fiable grâce à 10 ans de pratique sociale. Par conséquent, VDS utilise une couche d'abstraction de compte (Account Abstraction Layer) pour convertir le modèle UTXO en un modèle de compte qui peut être exécuté par EVM. De plus, VDS a ajouté une interface basée sur le modèle de compte, afin qu'EVM puisse lire directement les informations sur la chaîne VDS. Il convient de noter que la couche d'abstraction de compte peut masquer les détails de déploiement de certaines fonctions spécifiques et établir une division des préoccupations pour améliorer l'interopérabilité et l'indépendance de la plate-forme.
Dans le système Bitcoin, ce n'est qu'après la vérification du script de déverrouillage (Script Sig) et du script de verrouillage (Script Pub Key) que la sortie de transaction correspondante peut être dépensée.
Par exemple, le script de verrouillage verrouille généralement une sortie de transaction sur une adresse bitcoin (la valeur de hachage de la clé publique). Ce n'est que lorsque les conditions de configuration du script de déverrouillage et du script de verrouillage correspondent, que l'exécution du script combiné affiche le résultat sous la forme True (la valeur de retour de système est 1), de sorte que la sortie de transaction correspondante sera dépensée.
Dans le système distribué de VDS, nous soulignons l'opportunité de l'exécution du contrat d'exécution consensuel. Par conséquent, nous avons ajouté les opérateurs OP_CREATE et OP_CALL au script de verrouillage. Lorsque le système de VDS détecte cet opérateur, les nœuds de l'ensemble du réseau exécuteront la transaction. De cette façon, le rôle joué par le script Bitcoin est plus de transférer les données pertinentes vers EVM, pas seulement en tant que langage de codage. Tout comme Ethereum exécute un contrat d'exécution de consensus, le contrat déclenché par les opérateurs OP_CREATE et OP_CALL, EVM changera son état dans sa propre base de données d'état.
Compte tenu de la facilité d'utilisation du contrat d'exécution du consensus de la chaîne VDS, il est nécessaire de vérifier les données qui déclenchent le contrat et la valeur de hachage de la clé publique de la source de données.
Afin d'éviter que la proportion d'UTXO sur la chaîne de VDS ne soit trop importante, la sortie de transaction de OP_CREATE et OP_CALL est t conçue pour être dépensée. La sortie de OP_CALL peut envoyer des fonds pour d'autres contrats ou adresses de hachage de clé publique.
Tout d’abord, pour le contrat d'exécution consensuel créé sur la chaîne VDS, le système généreraune valeur de hachage de transaction pour l'appel de contrat.Le contrat nouvellement libéré a un solde initial de 0 (les contrats avec un solde initial ne sont pas 0 ne sont pas pris en charge). Afin de répondre aux besoins du contrat d'envoi de fonds, VDS utilise l'opérateur OP_CALL pour créer une sortie de transaction. Le script de sortie du contrat d'envoi de fonds est similaire à :
1: the version of the VM
10000: gas limit for the transaction
100: gas price in Qtum satoshis
0xF012: data to send to the contract (usually using the solidity ABI)
ripemd-160 hash of the contract txid OP_CALL
Ce script n'est pas compliqué et OP_CALL effectue la plupart du travail requis. VDS définit le coût spécifique de la transaction (sans tenir compte de la situation de out-of-gas) comme Output Value, qui est Gas Limit. Le mécanisme spécifique du Gas sera discuté dans les chapitres suivants. Lorsque le script de sortie ci-dessus est ajouté à la blockchain, la sortie établit une relation correspondante avec le compte du contrat et se reflète dans le solde du contrat. Le solde peut être compris comme la somme des coûts contractuels disponibles.
La sortie d'adresse de hachage de clé publique standard est utilisée pour le processus de base des transactions de contrat, et le processus de transaction entre les contrats est également généralement cohérent. En outre, vous pouvez effectuer des transactions par P2SH et des transactions non standard (non-standard transactions). Lorsque le contrat actuel doit être échangé avec un autre contrat ou une adresse de hachage de clé publique, la sortie disponible dans le compte du contrat sera consommée. Cette partie de la sortie consommée doit être présente pour la vérification des transactions dans le réseau de VDS, que nous appelons la transaction attendue du contrat (Expected Contract Transactions). Étant donné que la transaction attendue du contrat est générée lorsque le mineur vérifie et exécute la transaction, plutôt que d'être générée par l'utilisateur de la transaction, elle ne sera pas diffusée sur l'ensemble du réseau.
Le principe de fonctionnement principal de la transaction attendue du contrat est réalisé par le code OP_SPEND. OP_CREATE et OP_CALL ont deux modes de fonctionnement. Lorsque l'opérateur est utilisé comme script de sortie, EVM l'exécute, lorsque l'opérateur est utilisé comme script d'entrée, EVM ne sera pas exécuté (sinon il provoquera une exécution répétée). Dans ce cas, OP_CREATE et OP_CALL peuvent être utilisés comme Opération sans commandement. OP_CREATE et OP_CALL reçoivent la valeur de hachage de transaction transmise par OP_SPEND et renvoient 1 ou 0 (c'est-à-dire il peut être dépensé ou pas). Il montre l'importance de OP_SPEND dans la transaction attendue de l'intégralité du contrat. Plus précisément, lorsque OP_SPEND transmet la valeur de hachage de transaction à OP_CREATE et OP_CALL, OP_CREATE et OP_CALL comparent si la valeur de hachage existe dans la liste des transactions attendues du contrat. S'il existe, renvoyez 1 pour dépenser, sinon retournez 0, ce n'est pas pour dépenser. Cette logique fournit indirectement un moyen complet et sûr de garantir que les fonds du contrat ne peuvent être utilisés que par le contrat, ce qui est cohérent avec le résultat des transactions UTXO ordinaires.
Lorsque le contrat EVM envoie des fonds à l'adresse de hachage de clé publique ou à un autre contrat, une nouvelle transaction sera établie. À l'aide de l'algorithme de Consensus-critical coin picking, la sortie de transaction la plus appropriée peut être sélectionnée dans le pool de sortie disponible du contrat. La sortie de transaction sélectionnée sera utilisée comme script d'entrée pour exécuter un seul OP_SPEND, et la sortie est l'adresse cible des fonds, et les fonds restants seront renvoyés au contrat, tout en modifiant la sortie disponible pour la consommation. Ensuite, la valeur de hachage de cette transaction sera ajoutée à la liste des transactions attendues du contrat. Lorsque la transaction est exécutée, la transaction sera immédiatement ajoutée au bloc. Une fois que les mineurs de la chaîne ont vérifié et exécuté la transaction, la liste des transactions attendues du contrat est à nouveau parcourue. Une fois la vérification correcte, la valeur de hachage est supprimée de la table. De cette façon, l'utilisation de OP_SPEND peut effectivement empêcher l'utilisation de valeurs de hachage codées en dur pour modifier le coût de la sortie.
La couche d'abstraction des comptes VDS élimine la nécessité pour l'EVM d'accorder trop d'attention à coin-picking. Il lui suffit de connaître le solde du contrat et peut échanger des fonds avec d'autres contrats ou même des adresses de hachage de clé publique. De cette façon, seule une légère modification du contrat d'exécution du consensus Ethereum peut répondre aux exigences de fonctionnement du contrat VDS.
En d'autres termes, tant que le contrat d'exécution consensuel peut être exécuté sur la chaîne Ethereum, il peut s'exécuter sur la chaîne VDS.
Achèvement de AAL
La conception de la chaîne VDS est basée sur le modèle Bitcoin UTXO. La plate-forme générale de contrat d'exécution de consensus utilise le modèle de compte. Étant donné que le contrat en tant qu'entité nécessite un logo de réseau, ce logoest l'adresse du contrat, de sorte que le fonctionnement et la gestion du contrat d'exécution consensuel peuvent être effectués par cette adresse. La couche d'abstraction de compte est ajoutée à la conception du modèle (Account Abstraction Layer, AAL) de chaîne de VDS, qui est utilisée pour convertir le modèle UTXO en un modèle de compte qui peut être exécuté par le contrat.
Pour les développeurs qui exécutent des contrats par consensus, le modèle de compte de la machine virtuelle est relativement simple. Il prend en charge l'interrogation des soldes des contrats et peut également envoyer des fonds pour d'autres contrats. Bien que ces opérations semblent très simples et basiques, toutes les transactions de la chaîne VDS utilisent le langage de script Bitcoin, et il est plus compliqué que prévu d'être implémenté dans la couche d'abstraction de compte de la chaîne VDS basée sur le modèle Bitcoin UTXO. AAL a donc élargi sa base en ajoutant trois nouveaux opérateurs :
OP_CREATE est utilisé pour effectuer la création de contrats intelligents, transmettre le code d'octet transmis via la transaction à la base de données de stockage de contrats de la machine virtuelle et générer un compte de contrat.
OP_CALL est utilisé pour transférer les données pertinentes et les informations d'adresse nécessaires pour appeler le contrat et exécuter le contenu du code dans le contrat. (Cet opérateur peut également envoyer des fonds pour des contrats d'exécution consensuels).
OP_SPEND utilise la valeur de hachage de ID de contrat actuel comme transaction d'entrée HASH ou transaction HASH envoyée à l'UTXO du contrat, puis utilise OP_SPEND comme instruction de dépense pour créer un script de transaction.
Utilisation des Contrats et processus du téléchargement à la chaîne
Rédiger les contrats
Il est actuellement possible d'utiliser le langage Solidity pour rédiger des contrats d'exécution de consensus.
Utilisez Solidity Remix ou un autre Solidity IDE pour l'écriture et la compilation de code.
solidity remix(https://remix.ethereum.org/
Il est recommandé d'utiliser le mode homestead pour compiler.
Il est recommandé d'utiliser la version solidité 0.4.24 (si d'autres versions sont utilisées, cela peut provoquer des erreurs ou des échecs).
La syntaxe Solidity peut être référencée(https://solidity.readthedocs.io/en)
Compiler et déployer les contrats
Fonctionnement du contrat intelligent de vdsd
Examiner les variables de fonctionnement de l'environnement
vdsd -txindex=1 -logevents=1 -record-log-opcodes=1 -regtest=1
> Les tests sous contrat sont effectués dans l'environnement de test. Il est recommandé de tester après avoir atteint une hauteur de 440 blocs.
440 blocs hautement achevés l'opération de retour de fonds après les événements anormaux du contrat (refund) et (revert).
La commande de contrat de déploiement est :
```vds-cli deploycontract bytecode ABI parameters```
- bytecode (string, required) contract bytecode.
- ABI (string, required) ABI String must be JSON formatted.
- parameters (string, required) a JSON array of parameters.
Cette fonction est utilisée pour l'exécution du constructeur du contrat avec les paramètres entrants pour obtenir le ByteCode qui est finalement utilisé pour le déploiement.
(Cette méthode consiste à associer le bytecode à ABI et à le stocker localement pour l'enregistrement. Il peut appeler des méthodes internes localement et renvoyer le bytecode approprié)
```vds-cli createcontract bytecode (gaslimit gasprice senderaddress broadcast)```
- bytecode (string, required) contract bytecode.
- gaslimit (numeric or string, optional) gasLimit, default is DEFAULT_GAS_LIMIT, recommended value is 250000.
- gasprice (numeric or string, optional) gasprice, default is DEFAULT_GAS_PRICE, recommended value is 0.00000040.
- senderaddress (string, optional) The vds address that will be used to create the contract.
- broadcast (bool, optional, default=true) Whether to broadcast the transaction or not.
- changeToSender (bool, optional, default=true) Return the change to the sender.
La valeur de retour est : txid, éxpéditeur, hachage de l'expéditeur160, adresse du contrat
Consulter si la commande a été exécutée avec succès :
```vds-cli gettransactionreceipt txid```
La valeur de retour de txid pour les transactions non contractuelles est vide
La valeur de retour est : Les informations pertinentes de txid sur la BlockHash Hachage du bloc
- blockNumber Hauteur de bloc
- transactionHash Hachage de transaction
- transactionIndex La position de l'échange dans le bloc
- from Hachage de l’adresse de l’expéditeur 160
- to Le destinataire est l'adresse du contrat, le lieu de création de la transaction contractuelle est 00000000000000000000000000000
- cumulativeGasUsed Gas accumulé
- gasUsed Gaz réellement utilisé
- contractAddress Adresse du contrat
- excepted Y a-t-il des erreurs
- exceptedMessage Message d'erreur
Il convient de noter que le champ excepted n'est pas None, ce qui indique que l'exécution du contrat a échoué. Bien que la transaction puisse être vérifiée sur la chaîne, cela ne signifie pas que le contrat a été exécuté avec succès, c'est-à-dire que les frais de traitement pour l'exécution de ce contrat ne sont pas remboursables. Les frais de traitement ne seront remboursés que si la méthode revert est entrée dans le contrat, et les frais de méthode ne seront pas remboursés pour la méthode assert.
Appel des contrats
```vds-cli addcontract name contractaddress ABI decription```
- name (string required) contract name.
- contractaddress (string required) contract address.
- ABI (string, required) ABI String must be JSON formatted.
- description (string, optional) The description to this contract.
Cette fonction est utilisée pour ajouter le contrat ABI à la base de données locale.
```vds-cli getcontractinfo contractaddress```
- contractaddress (string required) contract address.
Cette fonction est utilisée pour obtenir les informations du contrat ajouté.
```vds-cli callcontractfunc contractaddress function parameters```
- contractaddress (string, required) The contract address that will receive the funds and data.
- function (string, required) The contract function.
- parameters (string, required) a JSON array of parameters.
Cette fonction renverra le résultat de l'exécution lors de l'appel de la méthode constante ordinaire, comme l'appel de la méthode d'opération de données de contrat retournera la chaîne de format hexadécimal du script d'opération.
```vds-cli sendtocontract contractaddress data (amount gaslimit gasprice senderaddress broadcast)```
- contractaddress (string, required) The contract address that will receive the funds and data.
- datahex (string, required) data to send.
- amount (numeric or string, optional) The amount in " + CURRENCY_UNIT + " to send. eg 0.1, default: 0
- gaslimit (numeric or string, optional) gasLimit, default is DEFAULT_GAS_LIMIT, recommended value is 250000.
- gasprice (numeric or string, optional) gasprice, default is DEFAULT_GAS_PRICE, recommended value is 0.00000040.
- senderaddress (string, optional) The vds address that will be used to create the contract.
- broadcast (bool, optional, default=true) Whether to broadcast the transaction or not.
- changeToSender (bool, optional, default=true) Return the change to the sender.
Cette fonction est utilisée pour envoyer le script d'opération de contrat au contrat spécifié et le faire enregistrer sur la blockchain.
Consultation des résultats d’exécution des contrats
```vds-cli gettransaction txid```
Cette commande est utilisée pour afficher les heures de confirmation de la transaction de portefeuille actuelle.
```vds-cli gettransactionreceipt txid```
Cette commande est utilisée pour vérifier les résultats d'exécution de la création de contrat et des transactions d'appel, s'il y a des exceptions levées et des consommations réelles de GAS.
`${datadir}/vmExecLogs.json` enregistrera les appels de contrat sur la blockchain. Ce fichier servira d'interface externe pour les événements de contrat.
Interface d'appel des contrats
l Interface de création de contrat createcontract
l Interface de déploiement de contrat deploycontract
l Interface d'ajout ABI addcontract
l Interface d’appel des contrats avec l’opération des fons sendtocontract
l Interface de lecture des informations sur les contrats callcontractfunc
l Interface d'acquisition d'informations sur l'exécution des transactions contractuelles gettransactionreceipt
L’expliquation des coûts d’expoitation des contrats
Les coûts de fonctionnement de la création d'un contrat sont toutes des méthodes estimées, et un succès d'exécution à 100% ne peut pas être garanti, car gas limit a une limite supérieure de 50000000, et les contrats dépassant cette limite entraîneront un échec. La chaîne de VDS utilise une méthode de rendre la monnaie, ce qui signifie que même si beaucoup de gaz est envoyé, le mineur n'utilisera pas tout le gas et restituera le gas restant. Alors ne vous inquiétez pas de dépenser trop de gas.
Le coût de création d'un contrat est approximativement de la taille du Byte Code * 300 comme gas limit, le gas price minimum est de 0.0000004, gas price * gas limit est le coût de création d'un contrat.
En ce qui concerne l'exécution de la méthode dans un contrat, le gas requis est estimé. En raison de la congestion du réseau, l'estimation ne garantit pas que 100% peuvent être téléchargés avec succès dans la chaîne. Par conséquent, je crains de tromper et de demander au développeur de vérifier les résultats.
submitted by YvanMay to u/YvanMay [link] [comments]

Craig Steven Wright is Satoshi Nakamoto

A couple of years ago in the early months of the 2017, I published a piece called Abundance Via Cryptocurrencies (https://www.reddit.com/C\_S\_T/comments/69d12a/abundance\_via\_cryptocurrencies/) in which I kind of foresaw the crypto boom that had bitcoin go from $1k to $21k and the alt-coin economy swell up to have more than 60% of the bitcoin market capitalisation. At the time, I spoke of coming out from “the Pit” of conspiracy research and that I was a bit suss on bitcoin’s inception story. At the time I really didn’t see the scaling solution being put forward as being satisfactory and the progress on bitcoin seemed stifled by the politics of the social consensus on an open source protocol so I was looking into alt coins that I thought could perhaps improve upon the shortcomings of bitcoin. In the thread I made someone recommended to have a look at 4chan’s business and finance board. I did end up taking a look at it just as the bull market started to really surge. I found myself in a sea of anonymous posters who threw out all kinds of info and memes about the hundreds, thousands, tens of thousands of different shitcoins and why they’re all going to have lambos on the moon. I got right in to it, I loved the idea of filtering through all the shitposts and finding the nuggest of truth amongst it all and was deeply immersed in it all as the price of bitcoin surged 20x and alt coins surged 5-10 times against bitcoin themselves. This meant there were many people who chucked in a few grand and bought a stash of alt coins that they thought were gonna be the next big thing and some people ended up with “portfolios” 100-1000x times their initial investment.
To explain what it’s like to be on an anonymous business and finance board populated with incel neets, nazis, capitalist shit posters, autistic geniuses and whoever the hell else was using the board for shilling their coins during a 100x run up is impossible. It’s hilarious, dark, absurd, exciting and ultimately addictive as fuck. You have this app called blockfolio that you check every couple of minutes to see the little green percentages and the neat graphs of your value in dollars or bitcoin over day, week, month or year. Despite my years in the pit researching conspiracy, and my being suss on bitcoin in general I wasn’t anywhere near as distrustful as I should have been of an anonymous business and finance board and although I do genuinely think there are good people out there who are sharing information with one another in good faith and feel very grateful to the anons that have taken their time to write up quality content to educate people they don’t know, I wasn’t really prepared for the level of organisation and sophistication of the efforts groups would go to to deceive in this space.
Over the course of my time in there I watched my portfolio grow to ridiculous numbers relative to what I put in but I could never really bring myself to sell at the top of a pump as I always felt I had done my research on a coin and wanted to hold it for a long time so why would I sell? After some time though I would read about something new or I would find out of dodgy relationships of a coin I had and would want to exit my position and then I would rebalance my portfolio in to a coin I thought was either technologically superior or didn’t have the nefarious connections to people I had come across doing conspiracy research. Because I had been right in to the conspiracy and the decentralisation tropes I guess I always carried a bit of an antiauthoritarian/anarchist bias and despite participating in a ridiculously capitalistic market, was kind of against capitalism and looking to a blockchain protocol to support something along the lines of an open source anarchosyndicalist cryptocommune. I told myself I was investing in the tech and believed in the collective endeavour of the open source project and ultimately had faith some mysterious “they” would develop a protocol that would emancipate us from this debt slavery complex.
As I became more and more aware of how to spot artificial discussion on the chans, I began to seek out further some of the radical projects like vtorrent and skycoin and I guess became a bit carried away from being amidst such ridiculous overt shilling as on the boards so that if you look in my post history you can even see me promoting some of these coins to communities I thought might be sympathetic to their use case. I didn’t see it at the time because I always thought I was holding the coins with the best tech and wanted to ride them up as an investor who believed in them, but this kind of promotion is ultimately just part of a mentality that’s pervasive to the cryptocurrency “community” that insists because it is a decentralised project you have to in a way volunteer to inform people about the coin since the more decentralised ones without premines or DAO structures don’t have marketing budgets, or don’t have marketing teams. In the guise of cultivating a community, groups form together on social media platforms like slack, discord, telegram, twitter and ‘vote’ for different proposals, donate funds to various boards/foundations that are set up to give a “roadmap” for the coins path to greatness and organise marketing efforts on places like reddit, the chans, twitter. That’s for the more grass roots ones at least, there are many that were started as a fork of another coin, or a ICO, airdrop or all these different ways of disseminating a new cryptocurrency or raising funding for promising to develop one. Imagine the operations that can be run by a team that raised millions, hundreds of millions or even billions of dollars on their ICOs, especially if they are working in conjunction with a new niche of cryptocurrency media that’s all nepotistic and incestuous.
About a year and a half ago I published another piece called “Bitcoin is about to be dethroned” (https://www.reddit.com/C\_S\_T/comments/7ewmuu/bitcoin\_is\_about\_to\_be\_dethroned/) where I felt I had come to realise the scaling debate had been corrupted by a company called Blockstream and they had been paying for social media operations in a fashion not to dissimilar to correct the record or such to control the narrative around the scaling debate and then through deceit and manipulation curated an apparent consensus around their narrative and hijacked the bitcoin name and ticker (BTC). I read the post again just before posting this and decided to refer to it to to add some kind of continuity to my story and hopefully save me writing so much out. Looking back on something you wrote is always a bit cringey especially because I can see that although I had made it a premise post, I was acting pretty confident that I was right and my tongue was acidic because of so much combating of shills on /biz/ but despite the fact I was wrong about the timing I stand by much of what I wrote then and want to expand upon it a bit more now.
The fork of the bitcoin protocol in to bitcoin core (BTC) and bitcoin cash (BCH) is the biggest value fork of the many that have occurred. There were a few others that forked off from the core chain that haven’t had any kind of attention put on them, positive or negative and I guess just keep chugging away as their own implementation. The bitcoin cash chain was supposed to be the camp that backed on chain scaling in the debate, but it turned out not everyone was entirely on board with that and some players/hashpower felt it was better to do a layer two type solution themselves although with bigger blocks servicing the second layer. Throughout what was now emerging as a debate within the BCH camp, Craig Wright and Calvin Ayre of Coin Geek said they were going to support massive on chain scaling, do a node implementation that would aim to restore bitcoin back to the 0.1.0 release which had all kinds of functionality included in it that had later been stripped by Core developers over the years and plan to bankrupt the people from Core who changed their mind on agreeing with on-chain scaling. This lead to a fork off the BCH chain in to bitcoin satoshis vision (BSV) and bitcoin cash ABC.


The premise for this post is that Craig S Wright was Satoshi Nakamoto. It’s an interesting premise because depending upon your frame of reference the premise may either be a fact or to some too outrageous to even believe as a premise. Yesterday it was announced via CoinGeek that Craig Steven Wright has been granted the copyright claim for both the bitcoin white-paper under the pen name Satoshi Nakamoto and the original 0.1.0 bitcoin software (both of which were marked (c) copyright of satoshi nakamoto. The reactions to the news can kind of be classified in to four different reactions. Those who heard it and rejected it, those who heard it but remained undecided, those who heard it and accepted it, and those who already believed he was. Apparently to many the price was unexpected and such a revelation wasn’t exactly priced in to the market with the price immediately pumping nearly 100% upon the news breaking. However, to some others it was a vindication of something they already believed. This is an interesting phenomena to observe. For many years now I have always occupied a somewhat positively contrarian position to the default narrative put forward to things so it’s not entirely surprising that I find myself in a camp that holds the minority opinion. As you can see in the bitcoin dethroned piece I called Craig fake satoshi, but over the last year and bit I investigated the story around Craig and came to my conclusion that I believed him to be at least a major part of a team of people who worked on the protocol I have to admit that through reading his articles, I have kind of been brought full circle to where my contrarian opinion has me becoming somewhat of an advocate for “the system’.

When the news dropped, many took to social media to see what everyone was saying about it. On /biz/ a barrage of threads popped up discussing it with many celebrating and many rejecting the significance of such a copyright claim being granted. Immediately in nearly every thread there was a posting of an image of a person from twitter claiming that registering for copyright is an easy process that’s granted automatically unless challenged and so it doesn’t mean anything. This was enough for many to convince them of the insignificance of the revelation because of the comment from a person who claimed to have authority on twitter. Others chimed in to add that in fact there was a review of the copyright registration especially in high profile instances and these reviewers were satisfied with the evidence provided by Craig for the claim. At the moment Craig is being sued by Ira Kleiman for an amount of bitcoin that he believes he is entitled to because of Craig and Ira’s brother Dave working together on bitcoin. He is also engaged in suing a number of people from the cryptocurrency community for libel and defamation after they continued to use their social media/influencer positions to call him a fraud and a liar. He also has a number of patents lodged through his company nChain that are related to blockchain technologies. This has many people up in arms because in their mind Satoshi was part of a cypherpunk movement, wanted anonymity, endorsed what they believed to be an anti state and open source technologies and would use cryptography rather than court to prove his identity and would have no interest in patents.

If you listen to Craig with an open mind, what cannot be denied is the man is bloody smart. Whether he is honest or not is up to you to decide, but personally I try to give everyone the benefit of the doubt and then cut them off if i find them to be dishonest. What I haven’t really been able to do with my investigation of craig is cut him off. There have been many moments where I disagree with what he has had to say but I don’t think people having an opinion about something that I believe to be incorrect is the same as being a dishonest person. It’s very important to distinguish the two and if you are unable to do so there is a very real risk of you projecting expectations or ideals upon someone based off your ideas of who they are. Many times if someone is telling the truth but you don’t understand it, instead of acknowledging you don’t understand it, you label them as being stupid or dishonest. I think that has happened to an extreme extent with Craig. Let’s take for example the moment when someone in the slack channel asked Craig if he had had his IQ tested and what it was. Craig replied with 179. The vast majority of people on the internet have heard someone quote their IQ before in an argument or the IQ of others and to hear someone say such a score that is actually 6 standard deviations away from the mean score (so probably something like 1/100 000) immediately makes them reject it on the grounds of probability. Craig admits that he’s not the best with people and having worked with/taught many high functioning people (sometimes on the spectrum perhaps) on complex anatomical and physiological systems I have seen some that also share the same difficulties in relating to people and reconciling their genius and understandings with more average intelligences. Before rejecting his claim outright because we don’t understand much of what he says, it would be prudent to first check is there any evidence that may lend support to his claim of a one in a million intelligence quotient.

Craig has mentioned on a number of occasions that he holds a number of different degrees and certifications in relation to law, cryptography, statistics, mathematics, economics, theology, computer science, information technology/security. I guess that does sound like something someone with an extremely high intelligence could achieve. Now I haven’t validated all of them but from a simple check on Charles Sturt’s alumni portal using his birthday of 23rd of October 1970 we can see that he does in fact have 3 Masters and a PhD from Charles Sturt. Other pictures I have seen from his office at nChain have degrees in frames on the wall and a developer published a video titled Craig Wright is a Genius with 17 degrees where he went and validated at least 8 of them I believe. He is recently publishing his Doctorate of Theology through an on-chain social media page that you have to pay a little bit for access to sections of his thesis. It’s titled the gnarled roots of creation. He has also mentioned on a number of occasions his vast industry experience as both a security contractor and business owner. An archive from his LinkedIn can be seen below as well.

LinkedIn - https://archive.is/Q66Gl
https://youtu.be/nXdkczX5mR0 - Craig Wright is a Genius with 17 Degrees
https://www.yours.org/content/gnarled-roots-of-a-creation-mythos-45e69558fae0 - Gnarled Roots of Creation.
In fact here is an on chain collection of articles and videos relating to Craig called the library of craig - https://www.bitpaste.app/tx/94b361b205196560d1bd09e4e3b3ec7ad6bea478af204cabfe243efd8fc944dd

So there is a guy with 17 degrees, a self professed one in a hundred thousand IQ, who’s worked for Australian Federal Police, ASIO, NSA, NASA, ASX. He’s been in Royal Australian Air Force, operated a number of businesses in Australia, published half a dozen academic papers on networks, cryptography, security, taught machine learning and digital forensics at a number of universities and then another few hundred short articles on medium about his work in these various domains, has filed allegedly 700 patents on blockchain related technology that he is going to release on bitcoin sv, copyrighted the name so that he may prevent other competing protocols from using the brand name, that is telling you he is the guy that invented the technology that he has a whole host of other circumstantial evidence to support that, but people won’t believe that because they saw something that a talking head on twitter posted or that a Core Developer said, or a random document that appears online with a C S Wright signature on it that lists access to an address that is actually related to Roger Ver, that’s enough to write him off as a scam. Even then when he publishes a photo of the paper copy which appears to supersede the scanned one, people still don’t readjust their positions on the matter and resort back to “all he has to do is move the coins or sign a tx”.


Yes Craig was on the Cypherpunk mailing list back in the day, but that doesn’t mean that he was or is an anarchist. Or that he shares the same ideas that Code Is Law that many from the crypto community like to espouse. I myself have definitely been someone to parrot the phrase myself before reading lots of Craig’s articles and trying to understand where he is coming from. What I have come to learn from listening and reading the man, is that although I might be fed up with the systems we have in place, they still exist to perform important functions within society and because of that the tools we develop to serve us have to exist within that preexisting legal and social framework in order for them to have any chance at achieving global success in replacing fiat money with the first mathematically provably scarce commodity. He says he designed bitcoin to be an immutable data ledger where everyone is forced to be honest, and economically disincentivised to perform attacks within the network because of the logs kept in a Write Once Read Many (WORM) ledger with hierarchical cryptographic keys. In doing so you eliminate 99% of cyber crime, create transparent DAO type organisations that can be audited and fully compliant with legislature that’s developed by policy that comes from direct democratic voting software. Everyone who wants anonymous coins wants to have them so they can do dishonest things, illegal things, buy drugs, launder money, avoid taxes.

Now this triggers me a fair bit as someone who has bought drugs online, who probably hasn’t paid enough tax, who has done illegal things contemplating what it means to have that kind of an evidence ledger, and contemplate a reality where there are anonymous cryptocurrencies, where massive corporations continue to be able to avoid taxes, or where methamphetamine can be sold by the tonne, or where people can be bought and sold. This is the reality of creating technologies that can enable and empower criminals. I know some criminals and regard them as very good friends, but I know there are some criminals that I do not wish to know at all. I know there are people that do horrific things in the world and I know that something that makes it easier for them is having access to funds or the ability to move money around without being detected. I know arms, drugs and people are some of the biggest markets in the world, I know there is more than $50 trillion dollars siphoned in to off shore tax havens from the value generated as the product of human creativity in the economy and how much human charity is squandered through the NGO apparatus. I could go on and on about the crappy things happening in the world but I can also imagine them getting a lot worse with an anonymous cryptocurrency. Not to say that I don’t think there shouldn’t be an anonymous cryptocurrency. If someone makes one that works, they make one that works. Maybe they get to exist for a little while as a honeypot or if they can operate outside the law successfully longer, but bitcoin itself shouldn’t be one. There should be something a level playing field for honest people to interact with sound money. And if they operate within the law, then they will have more than adequate privacy, just they will leave immutable evidence for every transaction that can be used as evidence to build a case against you committing a crime.

His claim is that all the people that are protesting the loudest about him being Satoshi are all the people that are engaged in dishonest business or that have a vested interest in there not being one singular global ledger but rather a whole myriad of alternative currencies that can be pumped and dumped against one another, have all kinds of financial instruments applied to them like futures and then have these exchanges and custodial services not doing any Know Your Customer (KYC) or Anti Money Laundering (AML) processes. Bitcoin SV was delisted by a number of exchanges recently after Craig launched legal action at some twitter crypto influencetalking heads who had continued to call him a fraud and then didn’t back down when the CEO of one of the biggest crypto exchanges told him to drop the case or he would delist his coin. The trolls of twitter all chimed in in support of those who have now been served with papers for defamation and libel and Craig even put out a bitcoin reward for a DOX on one of the people who had been particularly abusive to him on twitter. A big european exchange then conducted a twitter poll to determine whether or not BSV should be delisted as either (yes, it’s toxic or no) and when a few hundred votes were in favour of delisting it (which can be bought for a couple of bucks/100 votes). Shortly after Craig was delisted, news began to break of a US dollar stable coin called USDT potentially not being fully solvent for it’s apparent 1:1 backing of the token to dollars in the bank. Binance suffered an alleged exchange hack with 7000 BTC “stolen” and the site suspending withdrawals and deposits for a week. Binance holds 800m USDT for their US dollar markets and immediately once the deposits and withdrawals were suspended there was a massive pump for BTC in the USDT markets as people sought to exit their potentially not 1:1 backed token for bitcoin. The CEO of this exchange has the business registered out of Malta, no physical premises, the CEO stays hotel room to hotel room around the world, has all kind of trading competitions and the binance launchpad, uses an unregistered security to collect fees ($450m during the bear market) from the trading of the hundreds of coins that it lists on its exchange and has no regard for AML and KYC laws. Craig said he himself was able to create 100 gmail accounts in a day and create binance accounts with each of those gmail accounts and from the same wallet, deposit and withdraw 1 bitcoin into each of those in one day ($8000 x 100) without facing any restrictions or triggering any alerts or such.
This post could ramble on for ever and ever exposing the complexities of the rabbit hole but I wanted to offer some perspective on what’s been happening in the space. What is being built on the bitcoin SV blockchain is something that I can only partially comprehend but even from my limited understanding of what it is to become, I can see that the entirety of the crypto community is extremely threatened as it renders all the various alt coins and alt coin exchanges obsolete. It makes criminals play by the rules, it removes any power from the developer groups and turns the blockchain and the miners in to economies of scale where the blockchain acts as a serverless database, the miners provide computational resources/storage/RAM and you interact with a virtual machine through a monitor and keyboard plugged in to an ethernet port. It will be like something that takes us from a type 0 to a type 1 civilisation. There are many that like to keep us in the quagmire of corruption and criminality as it lines their pockets. Much much more can be read about the Cartel in crypto in the archive below. Is it possible this cartel has the resources to mount such a successful psychological operation on the cryptocurrency community that they manage to convince everyone that Craig is the bad guy, when he’s the only one calling for regulation, the application of the law, the storage of immutable records onchain to comply with banking secrecy laws, for Global Sound Money?


Please note, where possible, images were uploaded onto the bitcoin sv blockchain through bitstagram paying about 10c a pop. If I wished I could then use an application etch and archive this post to the chain to be immutably stored. If this publishing forum was on chain too it would mean that when I do the archive the images that are in the bitstragram links (but stored in the bitcoin blockchain/database already) could be referenced in the archive by their txid so that they don’t have to be stored again and thus bringing the cost of the archive down to only the html and css.
submitted by whipnil to C_S_T [link] [comments]

Weekly Dev Update #19

THORChain Weekly Dev Update for Week 19–02 Nov 2019


1 Rune Fee

Reasoning about gas costs on networks with non-deterministic fee schedules (such as Bitcoin) becomes unnecessarily complex. The issue is that the final gas cost cannot be known ahead of time so the system must cover any variability in the gas cost so that the user can be charged a flat rate. If the user is not charged anything, then the system can be depleted of funds, passing the cost back to stakers. Additionally, swaps below 1 Rune bring negligible economic value to the network and saturate the mempool with low value transactions. As such the solution is to charge a flat 1 Rune fee (or 1 Rune equivalent) on all outgoing transactions (swap and withdrawals). This 1 Rune fee is moved into the Protocol Reserve and increases the network’s future income. When the nodes report on the final transaction, they include the observed transaction fee. This transaction fee is then reimbursed back to the pool that paid for it ( BNB.BNB, BTC.BTC, ETH.ETH etc). There are cases that the outgoing transaction fee may exceed 1 Rune (Bitcoin in high use), but more than likely 1 Rune will be more than sufficient to cover the costs and ensure the network grows its reserves. Additionally, it sets a floor on the minimum transaction that the network will process. A swap of less than 1 Rune will end up becoming a donation to the network.

THORChain Development

The team are working on 4 parallel streams of effort. Cross-chain infrastructure has now been merged into a single repo called “THORNode”. * THORChain * Midgard Public API * Threshold Signature Scheme implementation * Front-end Integration for BEPSwap


Much work has been done to refactor and clean up the codebase which will make public audits easier. This includes splitting up the keeper, separating out the events module and more. Smoke tests have been fully-integrated into the test schedule. Safer subtraction and division methods were added to prevent the likelihood of panic events. * [refactor] split keeper funcs/interface into separate files * [tests] use gow * [refactor] Redo how get key works in keeper * [security] require no signers on tx ins * Resolve “ADD: 1 Rune Fee on all Swaps” * [bug] fix smoke tests * [ADD] semantic versioning * [Refactor] Keeper chains * [Refactor] Events Keeper * Resolve “Adds a SafeSub method” * [Refactor] Last Height Keeper * [Refactor] keeper liquidity fees * FIX: Issue 208 * [ISSUE] Get smoke tests to 100%

Midgard Public API

Midgard is now ready for integration into the FrontEnd. The manner in which USD price of assets in now updated to source only from internal pool pricing. This includes BNB.BUSD, BNB.TUSD, BNB.USDS. ROI endpoints are now added. * Fix : Updated our mock data to include a correct BNB address. * Add: Return the date a staker first staked. * Add: Previously missing implementations for pool data (24hr and 12m). * Fix: Several potential query issues. Updates to return the TX date as a UNIX timestamp. * Fix: Additional query updates/fixes. * Fix: Build system * Add: Filtering implementation for TxID and Asset. * Added missing import. * Fix/build issues * Fixed issue with my auto refactor * Add: Filtering updates. DB Config fix. * Add: Missing Staker methods for ROI and earnings. * Added fix to enabled timescale extension * Fix: Added build config for rpc_host * Add: Support to Calculate USD price of an asset. * Added: Health check for mainnet to test that we still have a db connection… * Add: Tests for the recent endpoints work. * jq syntax fix. * Additional jq fixes. * [ADD] Manage docker image on gitlab

Threshold Signature Scheme

The Binance Go TSS library is now fully implemented and deploys in a four-node chain. integrate with new go-tss * 212-issue export private key thus we can use it to start tss * 214-issue consolidate tss keygen and tss keysign config, with our new go-tss… * [ADD] Setup go-tss in genesis docker * [ADD] Have CI run smoke tests on a four node chain with TSS

Frontend Implementation

The frontend makes some final tweaks on the interface, before integrating the Midgard APIs. * Resolve “Update stake page share panel” * Resolve “UPDATE: Network Dropdown Titles” * Resolve “ADD: Sorting of columns in pool list” * Resolve “ADD: Sorting of columns in pool list” * Resolve “FIX: Close token selection drop down when clicking outside” * Resolve “Add redux saga for midgard apis” * Resolve “Update protect price UI” * Resolve “Update wallet drawer”


The next milestone is: ChaosNet: 03 January 2020 on-time


To keep up to date, please monitor community channels, particularly Telegram and Twitter: Twitter: https://twitter.com/thorchain_org Telegram Community: https://t.me/thorchain_org Telegram Announcements: https://t.me/thorchain Reddit: https://reddit.com/thorchain Github: https://github.com/thorchain Medium: https://medium.com/thorchain
submitted by thorchain_org to THORChain [link] [comments]


Original message from their website:
Dear MtGox Customers and Bitcoiners,
As you are aware, the MtGox team has been working hard to address an issue with the way that bitcoin withdrawals are processed. By "bitcoin withdrawal" we are referring to transactions from a MtGox bitcoin wallet to an external bitcoin address. Bitcoin transactions to any MtGox bitcoin address, and currency withdrawals (Yen, Euro, etc) are not affected by this issue.
The problem we have identified is not limited to MtGox, and affects all transactions where Bitcoins are being sent to a third party. We believe that the changes required for addressing this issue will be positive over the long term for the whole community. As a result we took the necessary action of suspending bitcoin withdrawals until this technical issue has been resolved.
Addressing Transaction Malleability MtGox has detected unusual activity on its Bitcoin wallets and performed investigations during the past weeks. This confirmed the presence of transactions which need to be examined more closely.
Non-technical Explanation: A bug in the bitcoin software makes it possible for someone to use the Bitcoin network to alter transaction details to make it seem like a sending of bitcoins to a bitcoin wallet did not occur when in fact it did occur. Since the transaction appears as if it has not proceeded correctly, the bitcoins may be resent. MtGox is working with the Bitcoin core development team and others to mitigate this issue.
Technical Explanation: Bitcoin transactions are subject to a design issue that has been largely ignored, while known to at least a part of the Bitcoin core developers and mentioned on the BitcoinTalk forums. This defect, known as "transaction malleability" makes it possible for a third party to alter the hash of any freshly issued transaction without invalidating the signature, hence resulting in a similar transaction under a different hash. Of course only one of the two transactions can be validated. However, if the party who altered the transaction is fast enough, for example with a direct connection to different mining pools, or has even a small amount of mining power, it can easily cause the transaction hash alteration to be committed to the blockchain.
The bitcoin api "sendtoaddress" broadly used to send bitcoins to a given bitcoin address will return a transaction hash as a way to track the transaction's insertion in the blockchain. Most wallet and exchange services will keep a record of this said hash in order to be able to respond to users should they inquire about their transaction. It is likely that these services will assume the transaction was not sent if it doesn't appear in the blockchain with the original hash and have currently no means to recognize the alternative transactions as theirs in an efficient way.
This means that an individual could request bitcoins from an exchange or wallet service, alter the resulting transaction's hash before inclusion in the blockchain, then contact the issuing service while claiming the transaction did not proceed. If the alteration fails, the user can simply send the bitcoins back and try again until successful.
We believe this can be addressed by using a different hash for transaction tracking purposes. While the network will continue to use the current hash for the purpose of inclusion in each block's Merkle Tree, the new hash's purpose will be to track a given transaction and can be computed and indexed by hashing the exact signed string via SHA256 (in the same way transactions are currently hashed).
This new transaction hash will allow signing parties to keep track of any transaction they have signed and can easily be computed, even for past transactions.
We have discussed this solution with the Bitcoin core developers and will allow Bitcoin withdrawals again once it has been approved and standardized.
In the meantime, exchanges and wallet services - and any service sending coins directly to third parties - should be extremely careful with anyone claiming their transaction did not go through.
Note that this will also affect any other crypto-currency using the same transaction scheme as Bitcoin.
Conclusion To put things in perspective, it's important to remember that Bitcoin is a very new technology and still very much in its early stages. What MtGox and the Bitcoin community have experienced in the past year has been an incredible and exciting challenge, and there is still much to do to further improve.
MtGox will resume bitcoin withdrawals to outside wallets once the issue outlined above has been properly addressed in a manner that will best serve our customers.
More information on the status of this issue will be released as soon as possible.
We thank you for taking the time to read this, and especially for your patience.
Best Regards, MtGox Team
submitted by Chilltyperiod to Bitcoin [link] [comments]

APETCOIN The project to connect the global furniture industry system AnPhu NBConcept

The project to connect the global furniture industry system AnPhu NBConcept
APET - Token Tronscan - the product of AnPhu NBConcept ecosystem
I - An Phu Enterprise Foundation $ NBConcept.
More than 20 years of experience in interior design and construction, with our enthusiastic and experienced factory and architects and staff, we are always ready to provide customers. . The products have the best quality.
Modern factory system of more than 3000m2, high-tech machinery and a team of enthusiastic and experienced architects and employees, we are always ready to bring customers the best quality products . . Add to that the best efforts in innovation and creativity to be able to meet all requirements, even exceeding customer expectations.
With the desire to develop Vietnamese brand by internal force and operation guideline: "Honesty - Responsibility - Development", An Phu Furniture always strives to innovate and innovate to give customers the experience. the best. Wonderful experience. The products of An Phu Furniture Group are designed in the direction of utility, aesthetics and high quality. Come to An Phu Furniture, customers always receive the best quality products and services. With 5 criteria to bring quality to customers:
Good product quality Competitive price The staff of young, enthusiastic, creative Customer care Warranty regime, maintenance. An Phu Furniture believes that creating a reputation through the quality of products and services, meeting the needs of customers will be a solid foundation for their brand development.
We want to be a reliable friend, always accompany, share, bring the best living space for customers. Customer satisfaction and trust is the most important goal we aim to! Come to An Phu Furniture to get the best living space. We are always ready to meet the needs of you and your family.
APET Coin_ AnPhu NBConcept connects the global furniture industry system !
First time, We include 2 furniture businesses combined with 1 blockchain technology company. We will issue 500 million APETCoin (APET) . APETCoin (APET) is a token TRC10 of blockchain Tron (TRX) platform use to develop the AnPhuNBConcept ecosystem. We will build a stronger community with hundreds of furniture companies, along with hundreds of businesses that supply materials, machinery, technology, wood materials, paint and lots of money. in Malaysia, Vietnam, Thailan, Laos, Cambodia and China. The project will have a roadmap for each separate period lasting for 3 years. When we enter the third phase, we will have many partners around the world. In the AnPhuNBConcept ecosystem: - Apetcoin (APET) will be used instead of $ for all payments in the system. With blockchain technology, everything will be easy, fast and low cost. Each year, we import millions of dollars of wood from Laos, Cambodia, South Africa, Russia ... In just one year, we import millions of dollars in technology materials, accessories and machines from China, Germany, Italy and Japan. We always have interior projects with luxury apartments, luxury resorts worth millions of dollars each year. We have tens of thousands of officials, engineers and workers around the world working. They need to be paid millions of dollars each month. Imagine, you need to pay all that money for $. The banking system is slow, they take Saturday and Sunday, the costs are huge and the time is too risky. With just a smartphone or computer installed with APET Coin wallets (now, Tron wallets), you can handle all those transactions quickly, safely and at extremely low cost. So why not apply blockchain technology in practice? That led us to form the AnPhuNBConcept ecosystem. As mentioned, we will use the blockchain Tron platform to develop APET Coin (APET) in the first phase.
Issue 500 million APET on the Tron platform - a. Phase 1: Q3 2019 & Q1, Q2 2020: ICO APETCOIN, Start Date: 11/23/2019 - End Date: 12/30/2019.
* 125,000,000 APET (25%): Bonus + 25% ICO, If you buy 1,000 Apetcoin or more, you will receive 250 Apet (+ Bonus 25%). Please provide your transactional Txid and your Tron Wallet address. We will refund 25% of the Apet you have purchased.
* 25,000,000 APET (5%): Airdrop programs to grow the community We will proceed to build and expand the Apetcoin community on media channels: Facebook, Twitter, Telegram, Discrod, Youtube. Carry out all Airdrop & Bounty programs on Apetcoin's media channels. Contact other advertising service providers, project developers to develop the Apetcoin community.
* 100,000,000 APET (20%): Developers and developers of project platforms. Paying staff costs, marketing, advertising APET projects in the market.
- b. Phase 2: Q3, Q4 2020: Investment platform & exchange list * 250,000,000 APET (50%): Investment platform & exchange list.
We will reserve 50% of APET for the main purpose of the project. Test and release investment platform. APET contact lists on most of the exchanges that help spread the project. Exchange list will be updated at Website: http://anphunbconcept.com/. The first phase will be exchange TRX Market, Unnamed .. Tradesatosh, Crex24 and WavesExchange (2020).
-c. Phase 3: 2021 & 2022: List exchanges Top, Test of internal payment in AnPhu NBConcept system. Research and development of Blockchain APETCOIN. After the Apetcoin investment platform operates well and stably, the price of Apetcoin is stable, we will proceed to build a blockchain system exclusively for Apetcoin. We will move to the new blockchain house.
-d. Phase 4: Q1 & Q2 2023: Completing Blockchain APETCOIN. Conduct Swap APET Token to APETCOIN. You will inherit the hybrid Blockchain network with many advantages of Tronscan Platform. Dapp and Wallet application development for APETCOIN.
-e. Phase 5: Q3 & Q4 2023: Releasing Dapp and Wallet apps for APETCOIN. Integration of APET - Banking services. Provides domestic payment service scope. There will be an online banking system with support prices for APET from the revenue of these companies. The Apet Invest app will be available and operational in 2023, we will integrate the Invest platform into the app. You will use the app as to buy, sell Apetcoin with Bitcoin, Trx and a lot of other coins and also the legal dollar $ USD.
You can use Apet wallet as SMS Banking system. You can pay bills, send and receive money from anywhere in the world, you can send Apet into Invest system to get profits like the mainstream mainstream banks today. We guarantee to provide a savings Invest system with a minimum profit of 15 - 20% / year.
Check out the latest update on Discord: https://discord.gg/ZBcxxRY.
- e. Phase 6: Expand connection with the banking system, exchange and payment services worldwide. Developing services, stabilizing Apetcoin price.
Each period has a period of 3 years ..
III - APET Coin_ AnPhu NBConcept connects the global furniture industry system!
APET Coin_ AnPhu NBConcept connects the global furniture industry system !
Information : APET - Token Tronscan - the product of AnPhu NBConcept ecosystem
Name: Apetcoin Symbol: APET Precision : 6 Total Supply: 500,000,000 APET
Token ID : 1002790 Explorers : https://tronscan.org/#/token/1002790 TronEX : https://tronscan.org/#/exchange/trc20?token=APET/TRX&id=155 PoloniEx : https://poloniex.org/exchange?id=155
Website: http://anphunbconcept.com/ Website : https://noithatanphu.com/ Website : https://nbconcept.vn/
Email : [[email protected]](mailto:[email protected]) Email : [[email protected]](mailto:[email protected]) Email : [[email protected]](mailto:[email protected])
Discord: https://discord.gg/9JbQMAA Telegram: https://t.me/joinchat/Nwfs9BNLlgQRkYiVOcFcZw Twitter : https://twitter.com/AnPhuNBConept Fanpage Apetcoin: https://www.facebook.com/apetcoin Youtube channel : https://www.youtube.com/channel/UCvS4XQdiOiZvA_6OazqmVKw Bitcointalk: https://bitcointalk.org/index.php?topic=5203529.0 Logo : https://photos.app.[Suspicious link removed]/qd6xcHojVWFpvGXi9 Thanks ! Apet Team Core
submitted by Apetcoin to u/Apetcoin [link] [comments]

WitLess Mining - Removing Signatures from Bitcoin Cash

WitLess Mining

A Selfish Miner Variant to Remove Signatures from Bitcoin Cash
WitLess Mining is a hypothetical adversarial hybrid fork leveraging a variant of the selfish miner strategy to remove signatures from Bitcoin Cash. By orphaning blocks produced by miners unwilling to blindly accept WitLess blocks without validation, a miner or cartel of collaborating miners with a substantial, yet less than majority, share of the total Bitcoin Cash network hash power can alter the Nash equilibrium of Bitcoin Cash’s economic incentives, enticing otherwise honest miners to engage in non-validated mining. Once a majority of network hash power has switched to non-validated mining it will be possible to steal arbitrary UTXOs using invalid signatures - even non-existent signatures. As miners would risk losing all of their prior rewards and fees were signatures to be released that prove their malfeasance, it could even be possible to steal coins using non-existent transactions, leaving victims no evidence to prove the theft occurred.
WitLess Mining introduces two new data structures, the WitLess Transaction (wltx) and the WitLess Transaction Input (wltxin). These data structures are modifications of their standard counterpart data structures, Transaction (tx) and Transaction Input (txin), and can be used as drop-in replacements to create a WitLess Block (wlblock). These new structures provide WitLess Miners signature-withheld (WitLess) transaction data sufficient to reliably update their local UTXO sets based on the transactions contained within a WitLess block while preventing validation of the transaction signature scripts.
The specific mechanism by which WitLess Mining transaction and block data will be communicated among WitLess miners is left as an exercise for the reader. The author suggests it may be possible to extend the existing Bitcoin Cash gossip network protocol to handle the new WitLess data structures. Until WitLess Mining becomes well-adopted, it may be preferable to implement an out-of-band mechanism for releasing WitLess transactions and blocks as service. In order to offset potential revenue reduction due to the selfish mining strategy, the WitLess Mining cartel might provide a distribution service under a subscription model, offering earlier updates for higher tiers. An advanced distribution system could even implement a per-block bidding option, creating a WitLess information market.
Regardless of the distribution mechanism chosen, the risk having their blocks orphaned will provide strong economic incentive for rational short-term profit-maximizing agents to seek out WitLess transaction and block data. To encourage other segments of the Bitcoin Cash ecosystem to adopt WitLess Mining, the WitLess data structures are designed specifically to facilitating malicous fee-based transaction replacement:
It is expected that fee-based transaction replacement will be particularly popular among malicious users wishing to defraud 0-conf accepting merchants as well as the vulnerable merchants themselves. The feature is likely to encourage higher fees from the users resulting in their WitLess transaction data fetching a premium price under subscription- or market-based distribution. Malicious users may also be interested in subscribing directly to a WitLess Mining distribution service in order to receive notification when the cartel is in a position to reliably orphan non-compliant blocks, during which time their efforts will be most effective.

WitLess Block - wlblock

The wlblock is an alternate serialization of a standard block, containing the set of wltx as a direct replacement of the tx records. The hashMerkleRoot of a wlblock should be identical to the corresponding value in the standard block and can verified to apply to a set of txid by constructing a Merkelized root of txid_commitments from the wltx set. The same proof of work validation that applies to the standard block header also ensures legitimacy of the wltx set thanks to a WitLess Commitment included as an input to the coinbase tx.

WitLess Transaction - wltx

Field Size Description Data type Comments
4 version int32_t Transaction data format version as it appears in the corresponding tx
2 flag uint8_t[2] Always 0x5052 and indicates that the transaction is WitLess
1+ wltx_in count var_int Number of WitLess transaction inputs (never zero)
41+ wltx_in wtx_in[] A list of 1 or more WitLess transaction inputs or sources for coins
1+ tx_out count var_int Number of transaction outputs as it appears in the corresponding tx
9+ tx_out tx_out[] A list of 1 or more transaction outputs or destinations for coins as it appears in the corresponding tx
4 lock_time uint32_t The block number or timestamp at which this transaction is unlocked. This can vary from the corresponding tx, with the higher of the two taking precedence.
Each wltx can be referenced by a wltxid generated in way similar to the standard txid.

WitLess Transaction Input - wltxin

Field Size Description Data type Comments
36 previous_output outpoint The previous output transaction reference as it appears in the corresponding txin
1+ script length var_int The length of the signature script as it appears in the corresponding txin
32 or 0 txid_commitment char[32] Only for the first the wltxin of a transaction, the txid of the tx containing the corresponding txin; omitted for all subsequent wltxin entries
4 sequence uint32_t Transaction version as defined by the sender. Intended for replacement of transactions when sender wants to defraud 0-conf merchants. This can vary from the corresponding txin, with the lower of the two taking precedence.

WitLess Commitment Structure

A new block rule is added which requires a commitment to the wltxid. The wltxid of coinbase WitLess transaction is assumed to be 0x828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe.
A witless root hash is calculated with all those wltxid as leaves, in a way similar to the hashMerkleRoot in the block header.
The commitment is recorded in a scriptPubKey of the coinbase tx. It must be at least 42 bytes, with the first 10-byte of 0x6a284353573e3d534e43, that is:
 1-byte - OP_RETURN (0x6a) 1-byte - Push the following 40 bytes (0x28) 8-byte - WitLess Commitment header (0x4353573e3d534e43) 32-byte - WitLess Commitment hash: Double-SHA256(witless root hash) 43rd byte onwards: Optional data with no consensus meaning 
If there are more than one scriptPubKey matching the pattern, the one with highest output index is assumed to be the WitLess commitment.
submitted by tripledogdareya to btc [link] [comments]

Diskcoin will open source and Diskcoin Foundation will launch the Node Staking Reward Plan

Dear Diskcoin community members,
Diskcoin will open source on Oct. 20, 2019.
There is big potential risk for the whole bitcoin system since it's hashrate concentrate on the places with lower electricity price.
Diskcoin is a new attempt after Bitcoin. We hope to attract the power of the open source community. No matter which open source community you are in, we welcome you to join.
Diskcoin is very inclusive and scalable, and you can easily port code from other crypto currencies (such as btc, bch, burst, etc.).
Meanwhile, in order to better stimulate the development of node ecology, Diskcoin Foundation will launch a Node Staking Reward Plan, all issued Diskcoin rewards will be distributed by the Foundation, and all miners are welcome to submit application for rewards.

The Node Staking Reward Plan Rule:
  1. The plan is mainly for mining pools, wallets, exchanges and other institutions. Each Staking needs more than 1000DISC. The more Diskcoin you Staked, the more rewards you will get;
  2. The settlement time of the reward is after the start of the new DC;
  3. The reward plan will start from block height 27001;
  4. The Staking needs to last for at least 2 DC to receive a reward. The reward of the DC (N-2) will be settled at the beginning of the DC (N). For example, Staking statistics starts at block height 27001, settle after 30,600, and issue reward for the 16th DC (block height 27001~28800). Once unstaked before 30600, there is no reward;
  5. Online submission of the Staked txid participating in the reward plan;
  6. The reward will be issued to the stake out address;
  7. The reward rate for the 16th DC is 2%. For example, if you Staked 1000 DISC in 16th DC and does not unstake until the end of 17th DC, the 16th DC reward is 1000*2% = 20 DISC.And the incentive rate is reduced by 10% for every five DC thereafter, that is, the reward rate for 21st DC is 1.8%. For example, if you Staked 1000 DISC in 21st DC and does not unstake until the end of 22nd DC, the 21st DC reward is 18 DISC.For more details: https://www.diskcoin.org/staker

Thanks for your support and attention!
submitted by Diskcoin to DiskcoinOrg [link] [comments]

TIFU and got scammed out of .4 BTC

This did not happen today but on Wed.
This is also a long post. I'm also typing this on my phone in a bar as I reflect on my stupidity, please excuse the multiple typos. Also (not that this will deter anybody), I know I'm a complete idiot for this, I knew/heavily suspected before, during, and after this scam that I would regret it. I'll explain my ridiculous rational later, but just know I know I'm a complete idiot for letting myself get scammed. Last, I'm not entirely sure the scam is done, best case scenario I'm mining some monero for someone. Worst case scenario, I have a backdoor or key logger installed and the rest of my crypto that I cherish is about to be emptied, if anyone can help me with that it would be much appreciated.
Yesterday I decided, even with the return to bullish sentiment in the market, that my portfolio was not offerring the same returns I saw from March to June and I needed to change that. I talked myself into gambling on a satoshimine bot that promised lifetime support, updates to algorithmic programming, and up to 1 btc a day of earnings. I knew it sounded too good to be true, but after my quick money I made from March to now in ETH I figured I was just playing with house money and if it was that easy then it was probably that easy now. It also happened to be a (yet another) time in my life that I needed money, so I went for it despite ALL the red flags.
Now let me defend myself a little here before we get to my stupidity:
Since March I have been learning as much as I can about crypto everyday. I listen to 7 plus hours of podcasts and audio books on crypto daily. I read charts, Reddit, Twitter, and immerse myself daily in all things crypto. I love the community (even after losing 1300$), and the challenge to understand and learn everything associated with crypto. I love the drama of the scaling debate, I love the possibilities of what is to come, and I love the gold rush that crypto is right now. I have read multiple times that "you are just a noob until you have been scammed or hacked" and just thought I was smarter than that...
With that having been said, greed got the best of me. It made me blind to reality. Not only did I need the money, but I love bitcoin! I do I love it! I'm a libertarian, an anarcho-capitalist. Bitcoin is my wet dream. But I've only held bull shit alts. I needed a bitcoin! I also have this thing that I will only buy bitcoin when I can afford 1 whole bitcoin. (Showing my cards here) unfortunately I'm always a couple hundred behind the bitcoin price with my alts to make the switch.
:enter stupidity and greed:
After my 300 time checking the crypto prices today on blockpholio, I decided it was time to switch to bitcoin; I needed it. But I wasn't ready to dump all my alts. Then it hit me! I remembered a post I saw on Reddit regarding a "super smart" Satoshimines bot that wouls make me 1 BTC a day!! Of course it sounded too good to be true, but it's crypto, it's the wild west, its unregulated, its a gold rush, its BITCOIN! I mean i had just 10x my investment in a few months, was this really that far fetched?
So, I watched the YouTube video, I read the comments, I did some research, I checked out who made the comments, I saw win written all over it, but I was weary of course. So, I emailed the guy to feel him out. He was great. Sold it hard, said all the right things, had all the right answers, he was good. So I went for it, 69$ for the bot. If it was a scam why would he sell it!? He would reach way more people if he was giving it away. He was there for the whole thing, in 3 hours we had like 40 emails between us. Telling me the settings for the bot, which had a simple yet nice user interface. He assured me he would help me until my win percentages were up to 99%. He assured me it has worked for so many people and he just couldn't do it too much himself because as the algorithms change on satoshimines he wouldn't be able to keep up with the updates. Like I said, I was desperate and he was good.
So now it was time to deposit my .4 btc and run this program with some money. I dumped some alts, waited nervously for the confirmations from various wallets, sold for btc, and send it over to this bitcoin minesweeper site. If you asked me a year ago if I would ever send $1300 to a website to gamble on a minesweeper game I would have laughed hysterically, even more so if you told me I would be doing it with an automated bot I purchased from an internet stranger named BTC RAIN and had a Skype and gmail account with the name Duke Mahler...
Either way, after hours of sending, selling, and testing I went for it. Let Duke know I had the BTC on the site. He told me the settings for the bot and then double checked them with me (all via email), then said hit start.....
Nothing happened, just an error on the bot. "Hey Duke I got this error did I have a setting wrong or something...?" No response... hmm let me refresh this web page and log back in.....
Fucking 0!
That was my new balance. ALL btc and hope was gone. I knew he got me. Right away. I didn't get mad, I couldn't. It was to dumb. I just told Duke, just man up and tell me I've been had, just send me one last email and rub it in, tell me I'm an idiot. His silence was killing me for some reason. I just wanted closure at this point, I don't know why, but it drove me nuts that I got no response after he got me. I was tired and embarrassed. I needed sleep, I had to work in the morning and was done. But I kept asking and waiting for a reply. I even swallowed my pride enough to compliment the guy on his scamming abilities and asked him to atleast split his (formerly mine) spoils with me. I said, "Hey man just send me half of that BTC back, send it here: removedbtcaddresssoyoualldontthinkimtrolling", but (obviously) received nothing. Not even a response..
I was defeated, embarrassed, and $1300 poorer. It sucked; refreshing my blockpholio wasn't fun anymore. I didn't want to make trades anymore, I was too afraid to fuck up and lose more money. I've read you are a crypto noob until you fuck up and send ETH to your btc wallet, or lose a private key, or fat finger a trade, or get scammed, but I've never felt like more of a noob than after this idiotic chance i took. I stepped away from the crypto world for what seemed like a long time: 3 days...
Now today, with BTC hitting 4k I had to get back in! It was all house money, you live and you learn, the BTC price isn't going to wait for me, and the FOMO is just getting worse! I know, eventually, I can trade my way to some BTC, but man if only I could have won it playing satsoshimines with a bot! Lol
Edit: here are the details of the tx that the satoshimines admin emailed to me by request.
IP Address: Amount: -0.37739599 Destination: 1HEXKiDE8LrrPcv5Ag7aXJ3JVFMXwemK5Z Timestamp: 2017-08-10 02:54:33 UTC Txid: 1b542361ba71ba1a2c8203016ff8c76e9fc94ce12c8143b242bdfcdd69772966
"Hexkid" is the handle the scammer went by on the selly website where I purchased the bot.
EDIT: Here is the virus total analysis. I uploaded the file, but the file had already been uploaded previously so that is the upload date you see. Can any experts kindly tell me the level of worry I should have from these results..?:
submitted by MikelMiddle to CryptoCurrency [link] [comments]

Preserve Your Anonymity - UBTC Claiming Service

UPDATE: The UBTC you commissioned me to claim for you is only able to be withdrawn from my account. I was unaware of this beforehand, as I thought you would need the private keys to withdraw. I apologize for any inconvenience this causes.
Message me with the public key you commissioned me to register for, and a deposit address and I will send the UBTC to said address.
As some of you may know, many people did not receive their UBTC because they did not know they had to meet a certain set of criteria lain out by the United Bitcoin team. However, this does not mean you still can't get you coins, as there is currently an ongoing Grace Period for those wanting to claim their UBTC https://www.ub.com/news/detail?column=1&id=280
To qualify for this grace period you must register with UB.com. This require you to submit your first and last name, birthday, phone number, and email. After registering, you input the public key that had BTC at block 498,777, and then send a small amount of BTC from this address (a few dollars worth) to an address owned by UBTC to prove that the account is active.
Understandably, some people might not want to register because A) it exposes your personal information to UB, and B) it ties your BTC key to this personal information. This is where I come in.
I have an account with UB, as such I can register your public address for you, thus preserving your personal and financial anonymity.
The service I offer is as follows: give me a PM with your eligible public key and how you would like to pay, I register your public key in my account, and then I send you the screenshot of the amount they list and address to send to. After this is done, all you have to do is claim the UBTC from your key once they have completed distribution, which occurs on Feb 15th.
While UB has been patchy with their distribution of UBTC, the cost to benefit ratio of potentially claiming is not bad; at the time of writing, UBTC prices at 0.01+ on ZB.com, Exx.com, and Hb.top (all have live deposits).
Fee for each address is 0.0006 BTC. I accept pretty much any coin that has a live deposit, hard forks, alt coins, just let me know. After I have sent you a deposit address for your preferred payment method, please send the agreed upon fee and PM me the txid or exact amount sent. After this, I will send you the information from UB via email, Imgur, telegram, or whatever way you would like.
Edit: Expanded payment methods, and clarified payment procedure.
Edit: Important update
submitted by camku to BitcoinAirdrops [link] [comments]

quick2xbtc paying!!! how I doubled my bitcoins

Hey guys, first of all I'd like to say that I am sooo hyped up now XD Anyway, here is my story. I decided I wanted to invest my bitcoins due to falling price of bitcoin. I began my searches and guess what... found some site that promised to double your bitcoins. Being stupid me, I decided to risk 0.05 of my bitcoin without researching first.. And guess what. I got scammed. I became so angry for the next few days almost to the point of smashing my laptop lol. Then I found out about https://quick2xbtc.com on YT comments. Said fuck it and decided to go balls deep with it, with all my bitcoin left overs which was 0.02 BTC. And boom, today I got paid 0.04!!!! Honestly, I didn't expect this. So if any of you may be searching for similar programs, make sure to check it out. Probably one of the few that really pay at the moment. I will probably reinvest my profit today to try and make back what I lost to POS cunts.

Here is my TXID:

edit: and yes, before some of you captains obvious will probably try to point, yes, this is definitely HYIP. which pays from other investors money. On their site they mention that these investments are traded and that's how the profit is made but I don't believe in that. I just probably got paid out from other investors bitcoins.

submitted by ofrazer to Crypto_anarchy [link] [comments]

Bytecoin stuck after Poloniex withdrawal

You may have noticed that Binance listed BCN a couple days ago, and people were buying it at a higher price than on Poloniex exchange. I bought thousands of BCN on Poloniex and once they put their wallet back online I made a couple withdrawals to Binance. After an hour, and then 20 minutes for the next, they were assigned txid's and thus got some sort of confirmation that they'd be added to the BCN blockchain. Unfortunately, Poloniex seems to have created some sort of fork that isn't on the main blockchain, so the transaction isn't showing up at Binance or on a BCN blockchain explorer even. This means my thousands of coins are stuck until Poloniex honours my support request that they refund my BCN that they lost.
I feel bad for missing out on a great trading opportunity, but worse for people who cannot afford for this sort of failure to happen to them. If the price of BCN crashes much more, I'll have a hard time recouping my invested Bitcoin, even if I get my BCN coins back from Poloniex. ADDED: It seems there may have been "consensus" problems on the Bytecoin network. In other words, double spends, or confirmed transactions that aren't honoured on forked versions of the blockchain? https://bytecoin.org/blog/bytecoin-and-binance-an-official-statement-from-the-development-team
submitted by saskboy to BytecoinBCN [link] [comments]

I got my first complaint. Now here is an open letter of response to that:

Hey guys.
Today I got my fist complaint from an user, that in his right asked me for a quote and was disappointed when he got a much bigger quote from another seller.
I quote his words, after I answered him with a quotation sell 21 UBTC:
"FYI, you offered me near 0.001 with 10% commission. That would leave me around 0.0189 BTC (for 21 UBTC). I just received from seller 0.06941294 BTC for the same amount. Which was 0.0033, which was my initial estimation. That's 367% your offer. I hope your offer was from lack of professionalism, rather than trying to take 73% of my coins as commission."
Dear [hiddenusername],
First of all, I am glad that you did manage to sell your UBTC with a higher rate and are pleased with it. We have reputable sellers here on this subreddit, and we would like to keep building that trust and reputation, just so we can keep on helping everyone.
Yours is the first complaint I have received since I started this work, and I take my work very seriously, so I will now take the time to answer to it accordingly.
As for the inquiries about my offer, I would like to substantiate them, just so you know how I work:
1) As per my catalog, deposits of UBTC are enabled on coinegg.com, hb.top, aex.com, exx.com, zb.com, btctrade.im and coolcoin.com.
I just checked the prices on these exchanges now, and here is what we have now at the market:
1) HB.TOP https://imgur.com/a/PBwuQ and https://imgur.com/a/rYyGi :
Rate: 27.89 USDE each, and then 10124 USDE for 1 BTC, so that translates into a 0,00275 rate.
2) Aex.com https://imgur.com/a/Gl3Av :
Rate: 0.0016, falling down to 0.0006 if you sell 100 UBTC, so a really shallow market (cannot know what it looked like on the day I sent you that quote, but can assure you it was as shallow as it is now).
3) Coinegg.com https://imgur.com/a/Hq7LO :
Rate: 0.0180012, but falling to 0.0012 if you sell 9 coins. Again a really shallow market that approached the quote I sent you, finishing the sale at 0.001 for 21 UBTC
4) BTCtrade.im https://imgur.com/a/a2oRL :
Rate: 0.0014, but falling to 0.0004 after the sale of 1.6 UBTC. real bad one.
5) exx.com https://imgur.com/a/fHHXD :
Rate: 0.00302, but going down to 0.001 after the sale of about 200 UBTC. Cannot know if those 20something buy orders were there at the day I sent you that rate. Those amounts seem to be one guy wanting to buy 200+ coins, and trying to do average. After that, it falls to 0.00104 and 0.00095.
6) Coolcoin.com https://imgur.com/a/9HglR :
Rate: 0.0011115, with a depth of 39 coins, falling to 0.00085.
So lets do a quick analysis, top-to-bottom, of the prices.
EXX had the best rate, but the buy order book seems to be from one person. I cannot really know what it looked like at the moment I send you that rate, but of course if it said 0.003 I would not send you 0.001.
HB.TOP had the second best rate, but I cannot sell there as I do not have a chinese phone number, and cannot register.
Third best price was Coinegg.com, but with a real shallow market, approaching the rate I sent you.
Fourth best option was aex.com, but again with a shallow market, starting at 0.0016.
Fifth best option was Coolcoin.com, that sustained a depth of about 21, but starting from 0.001115.
Sixth one is btctrade.im, with just a shadow of a depth on the orderbook.
So what happened?
You sent me a reddit message about this sale, and I gave you a quick quote, and specially on one of my answers I said that you could check exx and coolcoin, so these two exchanges probably had the best price/depth at that moment. As for putting a sell order, that was possible, but I did not answer you about that because I was probably a little busy at the moment, and because this gap of 3 times the buy/sell price sometimes causes sell orders to stay up forever without getting executed, as volume is real low.
From what I see, I did inform you of the correct rate at that moment, for that quick quote.
Also, there's two things that I would like to reiterate:
My money is my money.
Your money is your money.
I did not get to where I am by cheating on rates or stealing people's funds. I firmly believe in karma, that if I steal someone's money, my money is gonna go away too. I did not get to having 373.19351666 BTC go through one of my addresses ( 1EEcJgCfP4BnCuw5AUDpt39Bw1fHLbK5zj, this is mostly only the LBTC and BTCP fork) by stealing peoples coins.
So I know that you felt bad about the deal that I gave you, and I know that you will probably never trade with me, and I understand your reasons. I also understand that I have not been unprofessional or deceitful of you, nor tried to cheat you. I am actually happy that you sold your fucking united-stealers-bitcoin for a bigger rate than what I was offering.
Me and the other trusted sellers on BitcoinAirdropTrades, we do not make arrangements between ourselves, because we believe that the open market regulates itself. I have sold coins to eliteluxurytrades, to minyunhacker, and not so much to camku, but would not have the slightest problem trusting him, as trust is all that we have here. Sometimes I cannot work on a 10 coin trade because a whale asked me to sell 30000 LBTC for him. I would really like to believe that even you would prioritize stuff like that. I am a one-man-operation, and I don't have an automated system like walleting services, so I need to do everything manually. Most of the time, when there's any doubts about the rate of the shitcoin being dumped, I send print screens or txid's confirming the amounts sold and withdrawn from the exchange. I work in full transparency with my customers, and that has worked out so far.
So, [hiddenusername], I am really sorry that I could not help you at that time, but I am not sorry for the way I work, I am not sorry for all the money I already sent to my clients (way more than a million dollars, I have lost count) and I am not sorry for the money I made during this work as well. Looking forward to keep doing business with you all!
submitted by cryptosnake to BitcoinAirdropsTrades [link] [comments]

getting New people onto Bitcoin - help needed

I first came across crypto currencies in 2013. Played around with some alt coins, lost interest and like many misplaced/lost my first wallets. Since then I’ve been using Bitcoin on sites that accept it, normally buying BTC at the time and using it immediately, mostly to get around extra banking fees when buying things across boarders. You can imagine when Bitcoin broke records a couple of weeks ago and the small change I had in my wallet was turning into spendable amounts, realising the little money I spent for fun a few years back being worth more than 100 times that was a bit of a eye opener for me and I thought what is happening with Bitcoin today.
I do not see Bitcoin as an investment, or a get rich quick scheme but what I believe it is meat to be. The peoples currency so to say which is still relatively new. Unfortunately when I do spark up a conversation about Bitcoin in my region those that have heard it recently see it as a commodity, something like Stocks on an exchange or Gold, to invest in and not digital money for everyday use. Don’t get me wrong, I’m not looking to start anything with Hodlers and I know BTC is quite the sound investment long term but it wasn’t invented for that. I feel we’ve almost breeded a new type of banking system with Exchanges & Mining transaction fees. Currently I can’t buy small items with BTC anymore as in order to get the transaction through in time I have to spend more on fees than the actual transaction, and some sites have a order timeout so its just impossible. I know once things like LN and SegwitV2 are adopted things should and will be better but until that time we can’t use bitcoin for everyday average person use, but we will get there, I know we will and I want more people actively using BTC amongst them selves when we get there and not just day traders and holders.
I’ve set myself a goal , to get 1000 people in my region who do not have any Bitcoin onto Bitcoin during 2018, with a proper understanding of what the Crypto Currency is, How is works and runs, and I think most importantly how to keep it secure.
hear is my plan to get it done - Introduce a person or business to Bitcoin as a currency and not a commodity, a brief break down of blockchain and how coin mining works and help setup their own BTC wallet on their smart phone or PC and ensure they have properly backed it up super safe. Setup or point them in the direction of BTC Exchanges and forums and where they can spend / save / buy BTC. Do a BTC transaction. If I do on average 3 a day I’ll hit my goal of 1000 in a year. Now I can do this on my own, but I would like to appeal for some help as this is for the greater good. Off the bat I do see a few issues to address. The time it currently takes to process a small transaction - I know this can be overcome currently by adding larger fees and even getting a miner to include your txid in a block and will ultimately be solved by the upgrades to the network so I’m not too worried, it just delays the start of me doing this.
Second issue is funds. Sure I can setup a few wallets and give some BTC, but 1000 adds up even on small amounts of $0.50, I'm no BTC begger, enough on the net and I know its not allowed here. However, I can’t do this part alone in a year, so I wanted to appeal to any individuals that think this could be a good cause and want to get involved somehow in growing the community with my idea either by getting people setup like I plan too or could even make a small transaction to a wallet address some point down to a new Bitcoiner... I love that BTC can be traced anywhere so I’m confident this could work and not too many will think too negatively of it. In the process of setting up a wallet a transaction to demonstrate the process of sending/receiving to an addresses will need to be done, I can’t just not do it for the sake of not spending. I’m thinking of a pay it forward style, get three people setup and get them to setup three people, if I do 1000 and they all do 3, by the end of it I've got 4000 new people using BTC in my region which is enough to start a viral like explosion of BTC use here. If others do it too then we’ll actively grow the community and ultimately BTCs value.
We’ll never move forward fast enough if we just use BTC on exchanges, and a few websites that accept it. The real power and potential of Bitcoin is when the people are using it amongst themselves. If we could pay our bills and for food with Bitcoin I’m sure a lot of us would, but we won’t get there until we are using it as a currency and not a commodity. Actual currencies are worth less everyday, a dollar today does not you what a dollar did 5 years ago, but BTC rises, 1BTC 5 years didn’t get you much, but today.. well. So if you actively use BTC, and keep topping it up as you use it, normally its worth more down the line, if its not buy more BTC at its current price and use that. If a friend owes you money, give them a bit of a discount if they pay you in Bitcoin, ask all retailers not if but when will they start accepting it if they don’t already. Ask you landlord if you can pay them in BTC, your vet, your repairman, everyone. Lets get the masses onto it so it can be what it was meant to be, a decentralised electronic payment system for the people. Who is with me, any type of help support is welcome.
submitted by ghoststomper to Bitcoin [link] [comments]

Zcoin v0.13.4.1 - Znodes Release, upcoming Hard Fork and What you need to know

We are very happy to release Zcoin v0.13.4.1 which includes the Znodes release. A hard fork will happen on block 66550 and Znode payouts will begin on block 66700.
We would like to thank everyone who participated in the testnet to help us find bugs with special shoutouts to Pickle Rick, caretaker, Nicholas, kp and Yura along with countless others who contributed their time.
We have noticed some confusion as to what this upgrade entails so hopefully we can shed some light on this:
What is a hard fork? Am I getting free coins?
Thanks to the many Bitcoin ‘hard forks’, there’s been a lot of confusion what the meaning of hard fork truly means. A hard fork simply means that an upgrade is compulsory and that everyone has to upgrade to the new version before the hard fork block (approximately 23 December). Those that choose to remain on the old version will no longer be able to sync with the new clients and should there be any miners continuing to mine on the old version, they will form their own version of the blockchain. In most cases, the older blockchain has no value especially when it is a non contentious hard fork and it is merely to facilitate an upgrade. Only in hard forks which are contentious, when the fork is done as a result of idealogical differences and garners significant support, would there be two well maintained versions of the blockchain. Zcoin’s fork on the other hand has garnered wide community support and indeed a planned upgrade in accordance with our roadmap. As such, the short answer is no, you will not be getting free coins.
What do I need to do?
Before updating, it is always good practice to do a wallet backup by going to File > Backup Wallet. Regardless of whether you’re hosting a Znode or not, everyone must make sure you update your wallet to Zcoin v0.13.4.1 before the hard fork date. You will be prompted for a one time reindex. Reindex takes a while though it has been optimized to take advantage of multi core processors so should be a lot quicker than previous versions. Once you are updated, when the hard fork rolls over, you should not notice any interruptions.
If you are hosting a Znode, you can refer to this Znode setup guide. We will be posting a video guide soon!
Should I start my Znode now?
We do recommend starting your Znodes as soon as you can. Although you won’t be receiving payouts until block 66700, having it active on the blockchain would place it on the Znode list ready to be queued so that there will be as little delay as possible. Setup of a Znode takes about 15 minutes and maybe an hour or more before everything is stabilized and other Znodes see you. We do recommend updating as soon as you can which would also ensure a smooth transition during hard fork. Other than that, there is no inherent benefit of starting your Znode early.
This is all too technical, I just want someone to manage my nodes for me!
Although we do recommend that people host their own nodes there are many upcoming Znode providers that will be able to host this for you for a fee.
We do not endorse any particular provider though there is very little trust involved. The only thing you would need to give is your znode key (generated using znode genkey) and your txid and index (obtained using znode outputs). If anyone asks you for you to dumpprivkey or to send funds to them, please do not believe them.
We are compiling a list of providers and will be publishing it soon. Please contact me at [email protected] should you wish for your service to be listed along with your name, URL, e-mail and pricing.
Where do I go should I need help?
The best place to go is our Discord and ask either in #znode or #support.
There’s also some commonly asked questions in our FAQ.
What else is new?
submitted by CardcaptorZakura to zcoin [link] [comments]

Blockchain to fix horribly broken e-mail system like it is today?

E-mail as it is, is horribly broken. Horrendously broken.
It wasn't that many years ago that you could be assured your e-mail reaches whoever you were mailing to. Today it is a mere suggestion, that perhaps this should be delivered to this person, at least for any automated e-mail. This seems to be creeping to manual, organic email as well. Hell, we are seeing even internal e-mails being flagged by spamassassin as spam, organic, human written conversations! In that instance, the spamassassin is also maintained by one of the largest hosting providers in the world...
Hotmail/MS services has been for years (atleast about 4 years now!) been silently dropping email, not all, but some. There's a bit of relief lately, as they have started to favor a bit more marking as spam, rather than silently dropping.
I know, most email users don't see this problem, but those who use email a lot to do their work, and those who need to send automated emails (say, welcome e-mails for a service) this is a big problem. (Disclaimer, for us, our niche of hosting probably causes flagging as well. Our site is blocked by many corporate firewalls for example)
Blockchain to the rescue?
This is an idea i've been toying around with a few years. What if any single e-mail would cost a faction of a cent, and who receives the e-mail, gets paid for it? Now that would solve a lot of problems. I realize there has been some half assed attempts on blockchain based e-mail, but they are about replacing email (never going to happen). Using blockchain to enhance the current experience, with least minimal friction should be the goal, not re-inventing the wheel.
Imagine a say 0.01 cent (0.0001 USD) cost per e-mail. This price would not be cost prohibitive even for free e-mail service providers (Ad revenue etc. should exceed this value), never mind any legit e-mail users. Especially considering you get paid for receiving. So all legit e-mail services would work rather well regardless of the cost. (never mind free email service could profit from this)
Spam however? To send 1 million emails you would need to pay 100$. How many spammers would continue doing so? At least it makes things much harder, not so easy to use a botnet to send your email when you need to include your private key(s) to the botnet, or make some kind of private key management system, makes more complicated.
Small business newsletters? Say you need to send 100k e-mails to legit customers, 10$ is nothing. To human time crafting that newsletter is order (possibly orders) of magnitude greater than that.
Price would also fluctuate as per the market. The most difficult thing would probably be setting the self balancing mechanisms to keep per mail cost sensible. As such, the biggest hurdle in this might not be technical at all.
Technically, how could this work?
Sender sends a TX for e-mail they are sending for recipient. This TX contains message with mail ID, and a segment which can be used with the email contents to unlock the private key for the payment. This way it is verified that recipient mail servers receives and reads the email. Once the recipient server has calculated the private key, they can either TX the received sum to their wallet, or this needs to be formatted so that once the sender has sent it, they cannot recover the private key and double spend (technical hurdle A. For someone who knows their stuff unlikely to be an major hurdle)
Step by step repeat: * Sender checks if recipient has "MailCoin" capability * Sender sends TX to recipient * Sender sends the email to recipient * Recipient notices on mail header (say x-mailcoin-tx: TXID_HERE) that this is a "mailcoin" mail * Recipient checks TX if it has been received * Recipient puts the mail on delivery queue, antispam is instructed of heavy negative score (MTA admin configurable) * Recipient claims the value of the TX (this is the hurdle A). Recipient can only claim the TX value in case they have received the full e-mail. (Question, can this step be pushed even further down the delivery chain, but still remain MTA only level without mail client support?). Most likely solution is that the header contains the encrypted private key, and chain TX contains the key to decrypt that private key to claim the coins, or vice-versa?
Once recipient has the email & payment, they simply mark on their Antispam a automatic lower score and deliver it normally.
E-mail server side we have several components:
Most typical scenario would be the Recipient server works as outgoing as well, with single wallet. So depending on your mail volume, do you send or receive more on that wallet you might never need to worry about the coins (except for value going skyhigh and having like 10k $ worth of "MailCoins").
So perhaps additional components on per use case are needed, or more likely rudimentary scripting capability (ie. "MailCoin" daemon api) to keep the balances in check.
Technical hurdle B: This needs to be super super simple to setup. Or sufficient financial incentive. One would need to develop standard components & configs for exim, postfix, and other MTAs. Infact, make it autogenerate wallet ID etc. and easy to replace or import private keys etc. to put in coins for sending if you need to.
Privacy: On the blockchain you would not see the e-mail contents, only that e-mail likely took place (TX with mail UUID) to recipient. If sender can be deciphered it depends on them if it can be traced who they were. Automatic mixers? :) Recipient can also keep cycling the receive addresses to keep things private if they want to.
The biggest problem i see here, is that if an attacker can deduce the sender and/or recipient, it might to lead to some issues out of the scope of technical solutions. If attacker could read the emails, they would already have accomplished MitM and could just grab all e-mails.
Default implementation should be so, that from recipient address outsider cannot deduce the recipient server nor hostname.
Also, if attacker gains access to your mail with full headers, they could see the TXs in blockchain. MTA might need to scrub mailcoin related headers (yuck, scrubbing headers ....) for paranoid users, but most likely solution is that recipient retransmits those mailcoins as soon as they got the private key for the balance.
Blockchain: Blocks needs to be done every 10seconds or so, it needs to be fast. Preferrably even every 5 seconds, as not to cause any undue delay. Then again, if your application is reliant on receiving email within seconds, one should consider another means for communicating. Imho, email should be considered a little bit like snail mail, but on internet pace: Couple minutes delay is just OK.
Block size given the e-mail volume needs to be fairly large as well, considering the time between blocks. This is technical hurdle C: Hosting the full blockchain. I can easily foresee that this would grow to be terabytes in size. However, any large email operator would have vested interest in ensuring smooth operation of the blockchain, and for them, running a full node would have neglible cost.
(Technical hurdle C) Single email sent using the system could easily have TX contents of 100 bytes + TX headers + block headers etc. Say 100 bytes, and 100 million emails per day: 9.31GiB per day, 3 399GiB per year, 5 years later: 16.60 TiB just for the mail TXs.
Some estimate there is 200+ billion emails per day, but we all know large portion of this is spam. But even at 50 billion emails a day, 100 bytes per mail TX would add to 4.55TiB per day! So optimizing the blockchain size is obviously going to be important. The volume will be obviously much smaller as semi-spam (those daily half opt-in spamvertising from companies you know) will be lower as well. So probs 100+ billion emails per day at 100% adoption.
Blockchain should then be compressed, the whole block. Algorithm probably should favor speed over compression rate, and should be task specifically optimized (needs a simple reference release, where you can just stream the block contents into it and get output as compressed or uncompressed). The more compression there is, the more full nodes will be hosted by smaller operators :)
For large e-mail server clusters there should be central store for the blockchain, but this can be accessed on the system administratoconfig level already. The MTA components will just remotely talk to single full node daemon (so not really different from many implementations in existence right now), instead of each one running locally a full node.
At today's cheapest hosting rates 16.60TiB is roughly around 85-100€ a month. Purchase cost per 8TB drive is around 230€ mark right now, externals are cheaper. Not an issue for any even semi serious mail provider. Not even issue for datahoarder individuals.
However at 100 billion mails per day: 9.09TiB per day added, which is prohibitively large! We should be targeting something like 20bytes per mail final storage spent, or even less.
If it looks like it is going to grow really large, full node needs to have configurable multiple storages, so they can store parts of the blockchain on multiple different devices (ie. individual might choose to have it on 4 different external drives).
Filesystem side optimizations are needed as well, but these are fairly simple, just split into multiple subdirectories by the 10 thousand blocks or so, ie. 1 for blocks 1-10k, 2 for blocks 10 001 to 20k etc. Filesystems get exponentially slower the more files there is per directory. 10k might start to show slowing down, but is not significant yet.
Nodes could also implement secondary compression (compress multiple blocks together), if the blockchain starts to become stupid large. If it starts to become impossible to maintain, we could possibly implement a scrubbing methodology, where very old blocks get the TX contents wiped as they are not necessary anymore. Should not be an issue
Blocks with 10second target generated per annum: 3 153 600 Mails per 10second: 115 740 e-mails per 10second block. Final compressed size (say 20 bytes per mail): 2.20MiB + headers etc. per block Let's start small and allow linear growth to this, say 0.1% per day (36.5% annual) and start from 20k / 512KiB. After 3 years: 41.9k / 1072.64KiB per block, After 10 years: 93k / 2380.8KiB. (2027 we should have HDDs in the size of 30TB and daily max size for chain growth is 19.61TiB)
On the positive side every problem is an opportunity in disguise. If the blockchain is large, once again botnets will have a hard hard time to spamming, they can't host the full blockchain on infected machines. They will need to develop centralized mechanisms on this regard as well. One method i can see is by having TOR client built in, and via .onion domain to anonymize, but this is two way street, security researchers could exploit this (see above about the private keys) as well. Even without botnets, spammers will need to dedicate significant resources to host the full blockchain.
On the flip side, if spammer has also mining operation on the same local area network, they have both the income for mailcoins + full blockchain, and could leverage economies of scale, but this too would increase cost. And after all: This is all about increasing cost for spamming, while having the price in vicinity where real e-mail users, real businesses it is not a significant impact, or may even be an income source
Client side
Zero, Nada changes. No changes to outlook, thunderbird etc. Everything works under the hood at the MTA level. Very easy adoption for the end user. Everything is in the backend, server side.
Economics for users
Cost of operation has above been shown to increase wildly for spammers. But how about normal use cases?
Joe Average: They receive e-mail a lot more than they send, all kinds of order confirmations, invoices, newsletters and other automated e-mail. They will actually earn (however tiny amounts) from using this system. So for the masses, this is a good thing, they will see the earning potentials! which brings us to ....
New business opportunities! I could foresee a business setting up spam traps, the more e-mail you receive the more you earn! So it pays to get your receiver into spam lists. You don't ever need to read these, just confirm receive of them. All of sudden we could see even greater numbers of invalid e-mail addresses in spam lists, making spamming ever more expensive!
Free email services might proof to be extremely profitable, to the point of potential revenue sharing with Joe Averages (and above spamtraps). Because free email is mostly joe averages, they will have greater influx than outgoing. On the caveat, free email needs to have limits, but due to the low cost and potential of earnings, they could implement "mail credits" system, base is like 20 emails a day, but each received email could increase this credit limit. As such, it makes actually sense for free email services to implement this at the very least on the receiving side.
Business mass emailings. A business which has 100k valid e-mails on their database will not have a problem with paying few dozen bucks to have their mass mailing delivered. BUT they will make extra sure the content is good and targeted, something the recipient wants to receive. These will be the biggest spenders on email, apart from spammers.
ISPs, hell they get paid to provide e-mail. And they are on the same spot as free email service providers, they stand to earn more than spend!
Blockchain economics
This is where things might get interesting, there is so much potential.
However, there are several things definitively should not be done:
1 & 2 are easy, just do not mine outside of testnet prior to launch. (If devs get paid by companies, there is conflict of interest as well, but let's not get into that right now)
3: Miners and/or full node maintainers decide what goes on. Probably miners like bitcoin is supposed to.
4: Infinite & preferential supply: No after the launch "contracts" etc. to give coins to preferential parties, it should remain as on the launch unless majority consensus says there will be a change. Proof of stake is gray area imho, but then again also proof of work is the rich gets richer.
Mining: Storage requirement is a blessing in disguise, the massive storages required for this to function means that there will be no central hardware developer who sells all the shovels, without significant other markets. Ie. WD, Seagate, Toshiba the main players.
This means algo needs to be based on the full blockchain being hosted. The hashing needs to be so that GPUs are the king most likely, since almost anything good for CPUs is also doable in GPUs. Eventually someone will likely come with ASIC alternative, but due to masses of data it WILL require high bandwidth, high memory. Nothing like bitcoin currently, where low bandwidth, no memory requirement for the ASIC. There needs to be some expensive commodity components in there (RAM, Storage), and as such GPUs are the most likely candidate, and the bottleneck will not likely be computation, but I/O bandwidth.
Quickly thinking, previous block could include number of blocks to be included on the next for verification, in a highly compressible format. Let's say difficulty is number of blocks to be hashed, or from difficulty you can calculate number of blocks to be included. Previous blocks miner just chooses on random blocks to be included on the next one. Listing 10 series of blocks to be included, which can include series instructions. It could request block #5729375+100, or #357492+500 stepping 5 (every 5th block). Hell the random generator could use last block as seed for the next one to make it deterministic YET random as the emails and TXs change. (WTF, Did i just solve how the algo needs to work?!?) Only blocks which would differentiate is the first few, and obviously Genesis, for which an "empty" block would be what is to be hashed.
Hashing algo could be SHA256 because of the high requirement of streaming data, and most ASIC miners lacking in bandwidth (infact, it could be made compatible with bitcoin, but only those ASICS with higher I/O bandwidth than storage/ram I/O bandwidth is could actually boost the perf)
Different hashable list operations could be (on the block list what to be hashed on the next one): * Single block * Block # + number of blocks * Block # + (number of blocks with stepping) * Block # + number of blocks chosen by random using each hashed block as the seed for choosing next one (makes prefetch, preread, caching not work efficiently) * Number of previous blocks mined (ie. 50 last blocks) * Above but with stepping operator * Above but with choose random next X blocks, with variations based on the last hashed, sum of the hashed * All random pickers would have operation modes for the seed to be used: From hashed sum, the whole block, block contents, block header
These modes would ensure the blocks are there and makes it a lot dependable on variable factors, RAM speed, I/O seek time, I/O bandwidth.
This way we have proof that the miner has access to those blocks in efficient manner and the full blockchain is stored there, even if it is not practically retrievable from him / her over the internet for others to obtain a copy. HOWEVER, due to the data volumes, i think it is given they have fast access, but a miner would probably prefer not to share their blockchain contents to have bandwidth free for their mining, as the deadlines are tight. It could be built into the full node spec that they do not accept new blocks from sources which are not ready to supply any given block, and perhaps even periodic test of this. However, this would be unenforceable if people start running custom coded nodes which disables this, as it is not part of the blockchain calculation. It is not miner's benefit to "waste" precious bandwidth to serve others the vast blockchain, meanwhile it is end users benefit those running full nodes without mining to get them fast. So an equilibrium might be reached, if miners start loosing out because other miners will not share their blocks, they will start offering them, even if prioritized.
At 2MiB blocks, 10 second deadline, a miner would preferentially want the new block within 500ms, which would be barely sufficient time for a round trip across the globe. 500ms for 2MiB is 4MiB/s transfer rate inbound, and when block found you want it out even faster, say 250ms you'll need 8MiB/s burst which very very few have at a home. At more usual 1MiB/s it would take 2secs to submit your new block. On the other hand, if you found the block, you'd have immediate access to begin calcing the next one.
Block verification needs to be fast, and as such the above difficulty setting alone is not sufficient, there needs to be nonce. Just picking the right block is not guarantee there will be match, so traditional !???? nonce needs to be set as well most likely. As such, a lot of maths needs to be done to ensure this algorithm does not have dead ends, yet ensures certain blocks needs to be read as full and stored fully by the miners, just plain hashes of the blocks is not sufficient.
Perhaps it should be block data + nonce, then all the blocks hashes (with nonce, or pre-chosen salt) and to be generated block combined hash with nonce needs to have certain number of zeroes. Needs testing and maths :)
So there are many ways to accomplish proof of storage, we'd need just to figure out the which is the best.
Sidenote, this same algo could potentially be used with different settings for immutable, forever storage of data. Since there is no continuing cost to store data, TX Fee for every message (data) byte should be very high in such a coin.
Supply. Needs to be predictable and easy to understand. It would be preferential the standard mailing out is always 1x MailCoin, albeit coin itself should be practically infinitively divisable, and as such supply needs to be in the trillions eventually. But these things get complicated really fast, so we need to set a schedule.
Current email use is very large, so we should have something in the same magnitude. 8640 blocks per day - so maybe 10 000 coins per block == 86 400 000 new coins per day == 31 536 000 000 new coins per year, halving every 2 years. First halving: 63 072 000 000, Second halving: 94 608 000 000, Third (6 years): 110 376 000 000, but only halving 4 or 5 times to keep some new supply for ever increasing adoption and lost coins.
Got all the way here? :D
Thanks for reading up. Let me know what you think, and let's start a discussion on the feasibility of such a system!
I cannot develop this myself, but i would definitively back an effort up in the ways i can if anyone attempts to do something like this :) And i know i got probably many of the details incorrect
The main point of the methods described above is ease of adoption. Without adoption any system is worthless, and with email, you just cannot replace it like that (see the attempts trying to replace IPv4 with IPv6 ...), but you can enhance it. adoption is very critical in communications systems. (No one would have a phone if no one else had a phone)
Addendum 1: Forgot to add about pricing and markets, read comment here
Addendun 2: Bad actors and voting
submitted by PulsedMedia to Bitcoin [link] [comments]

How to Use #Cryptotab Script 14 BTC #Bitcoin Hack 2020 Earn Money $10000 Per Day With Bitcoin Bitcoin Hack 10 BTC - Free Bitcoin Generator Review BITCOIN BREAKOUT or FAKE-Out?!? 🚨 BE CAREFUL: Low Volume ... GET UNLIMITED BITCOIN/GET BITCOIN FREE ILEGAL BITCOIN  GENERATOR PRIVATE KEY 100% WORK

Cryptocurrency exchange and trading platform Tidex - blockchain service for working with digital assets. Support Center 24/7. User Friendly. The simplest fee structure possible If you want to know how much bitcoin was used to send a transaction, you can look at the miner fees in each transaction. When you look up the TxID, you should be able to see the miner fee listed on the page. Not all block explorers will give as much info as others so you might have to toggle some things on in order to view the miner fee in USD or perhaps in your local fiat currency. TXID, Txhash or Transaction hash are the terms that we often see when making coin transfers (cryptocurrencies, cryptocurrencies, cryptocurrencies, cryptocurrencies or digital currencies) that can be Bitcoin (BTC), Ethereum (ETH) ), USDT (Tether), Litecoin (LTC), Ripple (XRP), .. When you send coins to someone they will often ask you to send them back to them. Total Bitcoin (sum of all currently existing Bitcoin) 18,526,858 BTC: Market Capitalization (market value of all currently existing Bitcoin) $242,892,661,625 USD: Bitcoin Price (Bitcoin price history charts) 1 BTC = $ 13,110.3 USD (2020-10-26 03:01:09 UTC) bitasset: 13,111.27 USD (2020-10-26 03:00:03 UTC) hitbtc: 13,083.62 USD (2020-10-26 03:00 ... Bitcoin is a distributed, worldwide, decentralized digital money. Bitcoins are issued and managed without any central authority whatsoever: there is no government, company, or bank in charge of Bitcoin. You might be interested in Bitcoin if you like cryptography, distributed peer-to-peer systems, or economics. A large percentage of Bitcoin enthusiasts are libertarians, though people of all ...

[index] [36346] [22400] [10009] [31468] [17256] [2657] [50785] [42527] [4867] [17177]

How to Use #Cryptotab Script 14 BTC #Bitcoin Hack 2020

#Bitcoin breakout or fake-out? $BTC pumps 10% with lower volume, $BTC still on track for $200k, ETF approval speculation, Bitconnect 2.0, HitBTC shady KYC, $... 3. Transaction info such as TXid!!! 4. The first 10 and last 5 digits of the invoice paid or sent for reference purposes 5. Note of the paid invoice when clicked 6. Date and time of the TX 7 ... Here is the tutorial how to use the bitcoin hack cryptotab script in few simple steps. watch the full video to learn how to generate 14 btc with the script. This is my final result txid from the ... In this video i will invest and test this bitcoin mining pool that claims to have a high hash rate possible. and i we will find out if it is really paying or not. i will giveaway 0.10 Bitcoins to ... In this video i will invest and test this bitcoin mining pool that claims to have a high hash rate possible. and i we will find out if it is really paying or not. i will giveaway 0.10 Bitcoins to ...