Meeting point for the Streamium community. Streamium allows anyone to broadcast video and get paid by viewers in real time, without middlemen.
After spending a lot of time trying to understand the reasons of chain split, and protocol details. I think there should be an easy introductionary message / explanation for newcomers who come across with Bitcoin without going into complicated technical details. Correct me if I'm wrong. submitted by
BTC - Bitcoin can't scale onchain, you should not use Bitcoin Blockchain for everyday transactions / payments. You have to use Second Layer solutions for micropayments.
Bitcoin Cash - Bitcoin can scale onchain as it was supposed to do originally by Bitcoin creator. You can use Bitcoin Blockchain for everyday payments / micropayments.
Digital money is not a new invention. Thanks to online banking and credit cards, we don’t have to use paper money to pay for goods anymore. However, the financial system is still far from being perfect: Hyperinflation and lack of access to financial services still burden the life of millions. submitted by
Imagine a global, digital currency that is created and supervised by people instead of a central authority. Bitcoin is the first and most well known decentralized cryptocurrency. “Crypto” means that bitcoin uses cryptography to make sure that the network only records and allows valid transactions and no user can cheat the system. But that’s not all:
New bitcoin is released at a predictable rate and has a maximum supply of 21 million units which makes it resistant to inflation. It can’t be counterfeited, it can’t be double spent, it is globally available and can’t be controlled by banks or governments. Cryptocurrencies like bitcoin enable international payments without extra fee or time delay and can be divided into tiny amounts which enables micropayments.
Bitcoin (BTC) is one example of cryptocurrencies but there are others such as Bitcoin Cash (BCH), Litecoin (LTC), Ethereum (ETH) and many more.
Bitcoins on the Blockchain are moved through transactions
, which are simply files that contain cryptographically signed statements about the movements of coins. The entire Blockchain history is basically just a giant set of these signed statements, Blockchain balances are always determined by following the chains of ownership declared by the transactions.
The signed statements in transactions can actually be thought of as a signed contract: a buyer signs an agreement to send an amount of Bitcoin to a seller. The language of a transaction is a flexible language, like a computer scripting language. It can express a wide variety of statements beyond the simple statement of "send funds to address". Because there is this variety of expression, Bitcoin transactions are sometimes also referred to as smart contracts
History of Smart Contracts
In the original envisioning of Bitcoin, many types of transactions were envisioned: Satoshi Nakamoto carefully thought out
a set of language primitives that would allow the expression of a wide variety of smart contracts. Due to the complexity of crafting easy-to-use tools to form these contracts, the Bitcoin client left their construction as an exercise to the future developer.
Satoshi's decision to design a system that allowed complex contract formations was quite controversial. Gavin Andresen
and Jeff Garzik lobbied strenuously for a simplified system, with Jeff Garzik going so far as to demand repeatedly
that all smart contracts be removed from the system. Luke-Jr, Greg Maxwell, Theymos
and others argued against this restriction, looking towards the future promise of smart contracts to power advanced Bitcoin applications.
When Satoshi published Bitcoin version 0.3.18
, he created a rough compromise, based on Gavin's suggestion: create a standardized rubric for what transactions look like and refuse to allow unknown constructions to be shown to users or relayed on the network, in an opt-in whitelisting system known as standard transactions
Over time as Jeff Garzik and Gavin Andresen's influence waned and their fears were proven unfounded, the limitations of the whitelist were reduced, however the basic concept of whitelisting was never removed, and it serves as a simply safety net to avoid confusion about the nature of transactions.
Smart Contracts By Example
Beyond the most common smart contract: sending coins to make a payment or to transfer funds, there exists a constellation of smart contract possibilities, with many complex transaction types even found in common use.
The most commonly used or promising potential uses for smart contracts are: multi-signature wallets, signature based escrow, coin mixing, group payments, payment channels, and time locked payments.
Generally speaking there are a simple set of primitives and logical rules that may be applied to form these contracts. Funds are controlled by private key values, which have a public key representation that is used as a public identifier. Fund values are represented by unspent funds from previous inward transactions, called unspent outputs
. When forming a transaction, the unspent outputs are used to form the inputs of the new transaction. Alongside the fund transfer information is a statement regarding the preconditions of the transfer: limits on timing, signature strictness and composition are allowed to place intelligent limits on the fund transfer. The finalization of transactions involves two steps: cryptographically signing transactions with private keys to authorize the movement of funds, and publishing transactions to the miners to confirm transactions into blocks in the Blockchain.
The concept of a CoinJoin transaction is to obscure the ownership of funds through a transaction in which many parties pool their funds in a single transaction, and then withdraw their funds from the pool in a proportional way, obscuring the Blockchain's chain of custody of funds: the Blockchain only cares about the balance of of funds going into and out of a transaction, within a transaction no linking information regarding the linking of funds in to funds out is necessary.
The way this leverages the scripting primitives is by taking advantage of the separation in the transaction formation step and the transaction signing step. The pooling transaction is passed around for all parties in the pool to inspect for its validity. After each party has signed, it is published to the network. Trust is not a variable in the equation because the signature each person applies can only be used in the transaction that they saw, alterations that would steal funds are prevented through the signature's cryptography.
These type of transactions are rare, but they can be found in the wild, most notably on the JoinMarket
Arbiter Escrowed Transactions
In an arbiter based transaction, a trade is made in which two parties do not trust each other, but they trust the decision of a neutral arbiter to decide in the case of a dispute. This arbiter can be a person who evaluates the details of a trade, or even just a service or function that returns a signed statement that can be fed into a transaction. This kind of a transaction acts like traditional escrow, but with the advantage that the arbiter has no way to unilaterally take the funds for himself.
This type of transaction takes advantage of a transaction primitive called multi-signature verification
. This statement can be setup to declare that some number of signatures are required to spend the unspent funds. In the prototypical arbitrated escrow situation, funds are given over to three people, with two signatures required to spend the transaction. This gives both the buyer and the seller an opportunity to refrain from signing until they are satisfied with their transaction, and in the case of a dispute gives the arbitrator the deciding vote to either refund or complete a transaction.
Escrowed exchanges are extremely common in Bitcoin, especially in instances like intra-platform trades on custodial wallets like ChangeTip, Coinbase, LocalBitcoins, Bitstamp. However these trades do not use arbiter escrow systems, due to the complexity cost of implementation.
Still, arbiter multi-signature transactions have some real world use. One example is enabling rapid fund transfers with BitGo's Instant service
. Another service that is more classically in line with the arbitration model is Bitrated
, which is something of a directory and marketplace for arbitrators.
Signed statement services and even standalone signing functions have been theorized as possible additional useful tools to use as arbiters, however in practice these have not found much uptake due to complexity, narrow scope, and lack of obvious necessity for their use.
Cooperative Multi-signature Contracts
One very simple scenario in which a multisig contract can assist in a trade is one in which a buyer does not trust a merchant to deliver and the merchant does not trust the buyer to pay. In this case a contract may be formed that states that both the merchant and the buyer must cooperate to finalize a payment over to the merchant. Once the buyer is satisfied, he signs the payment over to the merchant.
If something goes wrong, the buyer's funds are locked: not signed over to the merchant but not returned either. This gives the two parties motivation to come to an agreement to unlock the funds.
Although this type of multi-signature contract is quite simple, in practice it's rarely used. The properties of the failure scenarios when compared with adding an arbiter mean that arbiters are seen as a much more attractive option.
Security Multi-signature Contracts
The initial driving force behind multiple signature contracts was to improve the security of funds. A separation of signing authority is a security industry standard practice: simultaneously compromising multiple isolated systems is much more difficult. This security can power a scheme in which multiple independent personal devices are needed to sign off on a transaction, such as in the digitalbitbox
hardware wallet's cooperation with a mobile phone app. Or it can create a voting mechanism between trustees, funds can be stored in a corporate wallet, with ten signatories but a mandatory signature limit of six signatures to send funds.
In practice, cooperative multi-sig is used quite frequently as a security precaution. Multiple signatures can make wallets such as Electrum
, or even Bitcoin exchange wallets like Bitfinex
, much more secure by preventing single points of security failure.
Grouped Payment Contracts
One method of crafting a transaction can be to setup an aspirational send, a send in which there are not enough signed funds, but there is a known destination for funds. For example: several people together wish to egg each other on to participate in a bet. They can construct a transaction that has a known and unalterable output and transfer amount, but an undefined set of funding parties. These people can then allocate signed funds to the bet transaction, with confidence that the target of the funds cannot be altered and if the aspirational amount is not reached, the transaction will never complete.
In practice, situations in which this type of contract is apropos are few and far between. Due to the complexity of forming these transactions, few tools exist to make this workflow accessible for the average user and these transactions are very rarely seen in the real world.
One promising Blockchain innovation powered by smart contracts is the concept of a payment channel
. At a simple level, a payment channel allows instantly secure transactions at minimal cost by creating a secure channel to route transactions through. A transaction settled over a payment channel can be settled a million times faster and be a million times cheaper than a transaction settled on the Blockchain. Payment channels are only appropriate for repeated transactions between long running partners, however in theory a network of partners may be formed to allow sends between non-directly linked pairs.
Payment channels involve a series of smart contracts: a fund locking contract to lock in an amount of funds to trade, a time-locked refunding contract to avoid a cooperation deadlock between the payer and the payee, and then a series of balance update transactions that represent the rapid and secure trading of funds.
In detail payment channels are established through a careful protocol. First, the channel creator forms and signs a fund locking transaction
that sends Bitcoin to an address controlled by both parties, but he does not share this transaction with the other party. Next, the creator creates a refund transaction
that re-spends the Bitcoin from the fund locking transaction. The creator gets the other party to sign it, but the creator does not sign it himself so that only he can execute the refund. It's important to note that the refund transaction has a time restriction: it cannot be spent immediately, only after a period of time specified in the contract.
Finally, to create the channel, he shares the initial fund locking transaction with the other party, who can then sign and broadcast it to lock in the funds to the shared address. Because the creator has the refund transaction, he is safe from the other party not cooperating to return his funds, and because the refund transaction has a timeout, the other party has an assurance that the refund cannot be executed unexpectedly.
Now that the channel is established, the channel creator can start creating a new type of transaction, a payment channel
transaction, which is like the refund transaction in that it re-spends the funds to refund the money, but updated with some funds now going to the other party instead of fully refunding himself. Each of these refund/payment channel transactions conflicts with the others, so double spending is impossible: when the other party wants to get paid, or the creator wants to end the channel arrangement, they simply take the last transaction and broadcast it to the Blockchain to settle the temporary balance of funds.
Channels need to be periodically closed and re-opened based on the expiration date of the time-lock. The time-lock ensures to the other party that the creator cannot back out of the contract unexpectedly or with an obsolete refund transaction. At the same time, the time lock guarantees that if the other party stops cooperating, the funds may be returned without their intervention after a period of time.
Although this protocol is promising for the rapid and economical advantages it brings, it is not yet in widespread use. The complexity involved in the protocol, complications from bugs and deficiencies with the Blockchain smart contract system, and the limitation presented locking funds to a single other party create large barriers to its use. That is not to say efforts have not been made. Developers have created libraries to abstract away the complexity of the protocol, such as in bitcoinj
. Bitcoin Core has been progressively addressing the bugs and deficiencies that cause problems for effective channel use. And many efforts have been made to expand the protocol from single party payments to a network of connected parties.
Some examples of payment channels in the wild are the 21 Marketplace
which provides a series of APIs that are paid over payment channels. Another commonly cited example is the Streamium
streaming video service, which offers pay per second viewing of premium video content.
Seems like there’s plenty of room for debate. BTC has take the ‘store if Value’ direction, BCH the ‘medium of exchange’ direction and BSV the ‘unit of account’ direction. submitted by
Seems like the modern world is geared towards needing a micropayments network for data most, since it’s ‘the information age’ and they fourth industrial revolution etc. Seems like BTC is limited to just being a pyramid token thing which regulators ‘can’t shut down’ and BCH well... I can’t work out of their cash is for coffee shops or weed by mail first and foremost, but BSV genuinely seems to have a use-case, and an economic model behind it.
What’s the consensus here? If you think BCH or BTC is better, why?
Working with micropayment channels. Learn how to efficiently send repeated micropayments to a chosen recipient. Introduction. Bitcoin has great potential as a platform for enabling micropayments, payments much smaller than what the traditional financial system can handle.Indeed, you can send a very tiny amount of value in a Bitcoin transaction without doing anything special and it will work ... Micropayment channels enable all of this, greatly reducing uncertainty in whether a fair deal was achieved in all cases. One particular use case that stands out is payment for digital content. By reducing payment friction, bitcoin micropayment channels can make it easy for consumers to pay small amounts to artists and providers directly. Grund genug, die Eignung des Bitcoins für das Micropament zu beleuchten, denn der Bitcoin vereint zahlreiche positive Eigenschaften, die für das Micropayment von hoher Bedeutung sind. Bitcoin ist als Open Source Projekt weit mehr als ein Dienstleister. Hinter dem Namen verbirgt sich ein eigenständiges und rein digitales Zahlungsmittel samt Community. Es bedarf lediglich eines Client ... Beiträge über Micropayment von Christoph Bergmann. Bei Bitcoin Cash ist einiges passiert: Die Community führt mit dem Address-Day ein neues Adressformat ein, ein Stress-Test zeigt, dass das Netzwerk in der Lage ist, auch mehrere Tage lang fortlaufend 8MB große Blöcke zu prozessieren, und die Bitcoin Cash Publishing Plattform Yours.org erhält ein Investment von 1,5 Millionen Dollar. Clicking a bitcoin: link in a page using SyndiCoin will open the SyndiCoin payment review page. Upon payment, coin is sent directly in one transaction. SyndiCoin does not hold funds for visitor or publisher. If there is only one address, there is no fee - even if there are multiple payments to that address. If SyndiCoin aggregates payments to multiple addresses, a small fee is included ...
A genuine micropayment :) This is not possible with Stripe or PayPal. It is only possible with a smart contract network on bitcoin. Our technology is similar to but not equivalent to the lightning ... MICROPAYMENT WALLET AND EARNINGS PLATFORM Link - https://faucetpay.io/?r=20411 Platform supports Bitcoin, Ethereum, Dogecoin, Litecoin, Bitcoin Cash and DASH... Bitcoin Bitcoin Hack Hack Bitcoin Script Bitcoin Hack Script Hack Bitcoin Cryptocurrency ETH,BTC,BCH,ETC bitcoin software 2019, bitcoin software generator, bitcoin software wallet, bitcoin ... This video is unavailable. Watch Queue Queue. Watch Queue Queue Blockchain wallet: https://blockchain.info/fr/wallet/#/login Coinbase Wallet: https://www.coinbase.com/join/5a87ecac52a16c066e6760c3 Link: http://www.groupfa...