Die bessere Möglichkeit Geld zu investieren? 10 ...

Bitcoin! What it is!?

This material is published using the PII algorithm (point information impact) developed by zitramon1

Bitcoin is the lowest projection of the energy standard of the Higher Plans Erzanil and has nothing to do with money or cryptocurrencies. In its primary principle, bitcoin was intended to replace the modern banking credit monetary system to SES — the system of energy-informational-energy settlements / mutual settlements. Unfortunately, something went wrong.
Money is a deadly virus that in the past destroyed the vast majority of ancient highly developed civilizations of our planet. Our civilization is no exception. The real Bitcoin, which was supposed to replace the existing bank credit monetary system with a system of energy settlements, as well as countless times in the past, was successfully destroyed.
At the moment, bitcoin is deprived of its basic qualities. But, nevertheless, even in such a “truncated” form it is a powerful tool for terraforming the existing paradigm of the material world.
At the level of society or the manifested physical world, represented by the third dimension, Bitcoin is the Standard and Measure from which any Countdown starts, and which are the basis of all Principles. Bitcoin itself is not only composed of pure energy, but also itself is energy in the very purest form.
Our world is energy-informational. Everything that exists in this Universe and in this Dimension, as well as in many other dimensions, is the same Energy, but in its various states. And the state of Vibration of this energy, providing one or another level of its Density, just decides how it will manifest in our Reality. Matter is the compressed energy of slow vibration. In fact, bitcoin is the equivalent of energy, of which everything around us consists, including — and we are with you!
The tragedy of the majority is that it does not understand the true purpose of Bitcoin — it is that Measure of everything and everything from which the entire Countdown comes. Not the price of Bitcoin should be modeled in dollars, gold or parrots — which is absolutely equivalent, but the value of all other attributes of society in bitcoins!
The fractality of Bitcoin, as the foundation of any of the Worlds in which you are located, is reflected in its essence: at low-frequency levels, its projection represents two diverse anu combined in a single whole. It is this explosive-implosive particle that combines two opposites, and not some mythical atoms, quanta, neutrinos, and similar nonsense, is the basis of everything!
Not Satoshi is the smallest part of bitcoin, but a double anu or argo! Remember the catch phrase that personifies the synonym of all the great Beginnings — “like the Argonauts in the old days” !? Try to guess the first time about its origins, located on a subconscious level.
The mining process itself is nothing more than a manifestation of the lower projections of the energy standard of the higher planes of erzanil. The latter are “materialized” at the level of the third dimension or society in the form of bitcoins. During mining, the three main types of energy: electrical energy, the thermal energy of the video card / device itself and the energy that the programmer potentiated into the mining process itself, are converted into energy to fill the shells of bitcoins generated during the hashing process. This energy is stored in every bitcoin forever and will increase until the last block of the last bitcoin is fully mined.
This energy, which is potentialized in bitcoin, which can neither be felt nor touched, is what you get with bitcoin and / or any part of it !!! And in the future, invest it / Bitcoin, exchange, buy, change, etc. etc.
And it is this energy, in the future, that will serve as an evaluation standard for the value of all things.
The smallest part of bitcoin is not Satoshi, but Argo or the double Anu. One argo is one in minus twenty-first degree part of bitcoin, and its energy potential corresponds to one in minus twenty-first degree of it, bitcoin, the maximum possible energy content.
The entire energy potential of 21 million bitcoins determines the energy / energy-information capacity = energy / energy-information potential of the sephira Malkut of the Tree of life (Kabbalah) or the manifest physical world at the level of the third dimension.
In other words, all people including you and me, to some extent consist of bitcoins and represent its integral and composition parts! More confirmation of this:
https://patentscope.wipo.int/search/en/detail.jsf?docId=WO2020060606&tab=PCTBIBLIO
Calculations / mutual settlements by bitcoins are possible not only at the level of society / third dimension, but also on higher planes — astral and mental, since bitcoin is not an equivalent but pure energy and this makes subsequent contacts with more advanced forms of life possible other systems!
THAT’S WHAT IS THE ESSENCE OF BITCOIN!
p.s. You can see how bitcoin is managed here:
https://www.reddit.com/Bitcoin/comments/hy4x5y/is_bitcoin_real_bitcoin_today/
submitted by Yoo_Tu to Bitcoin [link] [comments]

Diamond in the rough forks to Blockcore tech. Solid 10x short term.

Meet x42 Protocol, the feeless blockchain that will allow anyone to host decentralized applications the easy way.
X42 Protocol Price $0.01275764
Market Cap $247,173 (May 27, 2020)
Explorer: https://explorer.x42.tech/
Website: https://www.x42.tech/
x42 is a decentralized cryptocurrency based on the Blockcore technology designed to be a multi-chain solution for DApps (decentralized applications) that allows for a range that goes anywhere from small indie developed games to large entrepreneurial projects that span dozens of facilities.
The main idea behind x42 is to be a scalable, on-chain solution for any developer that wants to launch games and applications in general with minimal initial investment, zero transaction fees and near infinite scalability.
The protocol works around a main blockchain which hosts all the x42 coins and three types of nodes. Side blockchains can be created at will by the developers that decide to use the x42 protocol to launch their projects, side blockchains are very flexible and allow for a great deal of customization.
The main blockchain of the x42 protocol will have a maximum total of forty-two million coins mined into existence by the year 2030. The coins follow the same rules as most cryptocurrencies, every transaction is final, timestamped and will be registered to the blockchain ledger, blockchain explorers can be used to browse any and all transactions
Every project can have its own side blockchain, in which the development team can fully test and experiment on before going live to the store, because of that need all side blockchains have access to individual testnets.
FM Interview with developer:
The workpaper talks about using Stratis technology - Many say this is soon to be defunct?
It does, the current WP is the 1st itteration, we have a 2.0 that will be released when the servers go online.
However in Dec 2019, we have switched to Blockcore as Stratis had too many limitations that didn't meet our needs without heavy modifications. We did start with stratis as the basic framework, but we modified all of the code thus far to meet the needs we have. x42 is not stratis, but did start with some of their code.
The switch to blockcore is really more of a code thing and not otherwise noticed on the user end. There has been some but not a significant amount of discussion about it. Anyone that does access the new beta will be able to notice the difference as it nolonger will say stratis anywhere. On the user end, some file structures may change with mention of blockcore.
Blockcore is a fork of Stratis, however the cool thing is that it isnt its own project.
More details:
https://www.blockcore.net/ is an open source project started by a group of blockchain developers and engineers to realize a fully integrated platform for building custom blockchains.
Blockcore is the foundation for realizing blockchains and includes core functionality to create your own custom blockchain with a lot of tooling supporting your blockchain.
So its been 18 months of development? When will we say a mainnet?
We are currently in testnet and close to 90% ready. Xservers should be released this year. However we are not working on a timeline for mainnet with dates at the moment. Deadlines produce inferior products. The new wallet (xCore) has passed and is ready, it will work alongside the xServer. The switch to blockcore did require some code changes and we are still working with blockcore to fine tune some issues in their code as well. Security and ease of use for the end user are required.
What about use of dapps in beta?
We have a few in progress, but there are not many as the parameters can be changing. Although, anyone that can code a dapp in c# could drop it into their app folder and have one right now. There just won't be the user interface on the current wallet or the server support yet.
Why did you call it x42?
X has always been the universal unknown in mathematics, which can also mean ‘anything.’
X is believed to have come from the arab letter shin (ش),
that was initially used by spanish scholars because of their inability to translate certain arabic sounds into the spanish language, so it became a synonym for an unknown thing. From there on it was noticed that the spanish language didn’t have an appropriate sound for the arabic ‘sh.’ As time passed it was adapted into the ‘ck’ sound, which in classic greek is written down with a symbol known as chi (X). 42 is known to Douglas Adams’ The Hitchhiker’s Guide to the Galaxy readers as the ‘answer to the ultimate question of life, the universe, and everything’. We believe that x42 can offer a great answer to most questions plaguing the cryptocurrency space at the moment and in the future. That mix of an unknown and an answer is where our name got its origin.
The techy Details:
The two main levels of the x42 architecture are:
xCore – This is responsible for interacting with the infrastructure and the interface layers in addition to the node policy layers. An x42 xCore full node handles all the APIs and user interfaces.
NBitcoin – This is responsible for handling messages between nodes in the Network Layer. It also bridges the gap between various Consensus Layer functions.
Higher Transaction Speed: Transaction on the x42 blockchain platform happens almost instantly under 60 seconds. Also, the main x42 blockchain supports around 70 transactions per second. This is nearly 10 times the transactions supported by the Bitcoin blockchain network. Additionally, the good thing is the x42 side blockchains can be edited to hold as many transactions-per-second (TPS) as the developers want.
Understanding xCore, xServer, and Wallets
xCore – An xCore node is basically a device with software that has the entire x42 blockchain saved and connects the main blockchain to the side blockchains. This node seeds the main and side blockchain to all users and also has all the functionalities of a client node. Client node is any client running a wallet connected to the x42 main blockchain network.
As explained in the white-paper, “The xCore can stake coins on the main blockchain, it can also run decentralised applications hosted on xServers all across the network after having it installed on the local machine”.
xServer – The x42 blockchain supports several different types of servers. xServer is a special sort of wallet that runs on dedicated hardware facilitates decentralisation of applications (DApps), processing and data storage.
xServers are also tasked with other activities on the network like propagating smart contracts and signing transactions. It also allows the server owner (the Gatekeeper) to get paid for hosting diverse applications.
Besides, xServers can choose to host the projects launched on any of the non-private side blockchains. Projects that share a considerable part of their revenues with the xServer owners are likely to get hosted quickly and maintained by the same servers for a longer period of time.
Before we understand xServer wallets, let’s brief about the Hot Wallet and Cold Wallets.
A hot wallet is an online wallet always connected to the internet. This is an instant point-of-contact for receiving and sending payments. The hot wallets receive the staking rewards along with payouts from DApps, side blockchain, smart contracts, and private transactions.
A cold wallet is an offline wallet and more secure from the hot wallet as it is less susceptible to online attacks. This wallet holds the collateral for the server. All the server rewards are paid out to the cold storage wallet.
Coming to the xServer wallets, these are basically software holding information for both hot and cold storage wallets. The xServer wallets can run on almost any operating system. They can also host and launch decentralised applications (DApps) and generate passive income by DApp hosting.
Nice article..
https://medium.com/the-consensus/x42-protocol-not-just-another-pos-mn-project-d8dd73e8846d
submitted by AlfredGemLord to CryptoMoonShots [link] [comments]

FlowCards: A Declarative Framework for Development of Ergo dApps

FlowCards: A Declarative Framework for Development of Ergo dApps
Introduction
ErgoScript is the smart contract language used by the Ergo blockchain. While it has concise syntax adopted from Scala/Kotlin, it still may seem confusing at first because conceptually ErgoScript is quite different compared to conventional languages which we all know and love. This is because Ergo is a UTXO based blockchain, whereas smart contracts are traditionally associated with account based systems like Ethereum. However, Ergo's transaction model has many advantages over the account based model and with the right approach it can even be significantly easier to develop Ergo contracts than to write and debug Solidity code.
Below we will cover the key aspects of the Ergo contract model which makes it different:
Paradigm
The account model of Ethereum is imperative. This means that the typical task of sending coins from Alice to Bob requires changing the balances in storage as a series of operations. Ergo's UTXO based programming model on the other hand is declarative. ErgoScript contracts specify conditions for a transaction to be accepted by the blockchain (not changes to be made in the storage state as result of the contract execution).
Scalability
In the account model of Ethereum both storage changes and validity checks are performed on-chain during code execution. In contrast, Ergo transactions are created off-chain and only validation checks are performed on-chain thus reducing the amount of operations performed by every node on the network. In addition, due to immutability of the transaction graph, various optimization strategies are possible to improve throughput of transactions per second in the network. Light verifying nodes are also possible thus further facilitating scalability and accessibility of the network.
Shared state
The account-based model is reliant on shared mutable state which is known to lead to complex semantics (and subtle million dollar bugs) in the context of concurrent/ distributed computation. Ergo's model is based on an immutable graph of transactions. This approach, inherited from Bitcoin, plays well with the concurrent and distributed nature of blockchains and facilitates light trustless clients.
Expressive Power
Ethereum advocated execution of a turing-complete language on the blockchain. It theoretically promised unlimited potential, however in practice severe limitations came to light from excessive blockchain bloat, subtle multi-million dollar bugs, gas costs which limit contract complexity, and other such problems. Ergo on the flip side extends UTXO to enable turing-completeness while limiting the complexity of the ErgoScript language itself. The same expressive power is achieved in a different and more semantically sound way.
With the all of the above points, it should be clear that there are a lot of benefits to the model Ergo is using. In the rest of this article I will introduce you to the concept of FlowCards - a dApp developer component which allows for designing complex Ergo contracts in a declarative and visual way.

From Imperative to Declarative

In the imperative programming model of Ethereum a transaction is a sequence of operations executed by the Ethereum VM. The following Solidity function implements a transfer of tokens from sender to receiver . The transaction starts when sender calls this function on an instance of a contract and ends when the function returns.
// Sends an amount of existing coins from any caller to an address function send(address receiver, uint amount) public { require(amount <= balances[msg.sender], "Insufficient balance."); balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } 
The function first checks the pre-conditions, then updates the storage (i.e. balances) and finally publishes the post-condition as the Sent event. The gas which is consumed by the transaction is sent to the miner as a reward for executing this transaction.
Unlike Ethereum, a transaction in Ergo is a data structure holding a list of input coins which it spends and a list of output coins which it creates preserving the total balances of ERGs and tokens (in which Ergo is similar to Bitcoin).
Turning back to the example above, since Ergo natively supports tokens, therefore for this specific example of sending tokens we don't need to write any code in ErgoScript. Instead we need to create the ‘send’ transaction shown in the following figure, which describes the same token transfer but declaratively.
https://preview.redd.it/sxs3kesvrsv41.png?width=1348&format=png&auto=webp&s=582382bc26912ff79114d831d937d94b6988e69f
The picture visually describes the following steps, which the network user needs to perform:
  1. Select unspent sender's boxes, containing in total tB >= amount of tokens and B >= txFee + minErg ERGs.
  2. Create an output target box which is protected by the receiver public key with minErg ERGs and amount of T tokens.
  3. Create one fee output protected by the minerFee contract with txFee ERGs.
  4. Create one change output protected by the sender public key, containing B - minErg - txFee ERGs and tB - amount of T tokens.
  5. Create a new transaction, sign it using the sender's secret key and send to the Ergo network.
What is important to understand here is that all of these steps are preformed off-chain (for example using Appkit Transaction API) by the user's application. Ergo network nodes don't need to repeat this transaction creation process, they only need to validate the already formed transaction. ErgoScript contracts are stored in the inputs of the transaction and check spending conditions. The node executes the contracts on-chain when the transaction is validated. The transaction is valid if all of the conditions are satisfied.
Thus, in Ethereum when we “send amount from sender to recipient” we are literally editing balances and updating the storage with a concrete set of commands. This happens on-chain and thus a new transaction is also created on-chain as the result of this process.
In Ergo (as in Bitcoin) transactions are created off-chain and the network nodes only verify them. The effects of the transaction on the blockchain state is that input coins (or Boxes in Ergo's parlance) are removed and output boxes are added to the UTXO set.
In the example above we don't use an ErgoScript contract but instead assume a signature check is used as the spending pre-condition. However in more complex application scenarios we of course need to use ErgoScript which is what we are going to discuss next.

From Changing State to Checking Context

In the send function example we first checked the pre-condition (require(amount <= balances[msg.sender],...) ) and then changed the state (i.e. update balances balances[msg.sender] -= amount ). This is typical in Ethereum transactions. Before we change anything we need to check if it is valid to do so.
In Ergo, as we discussed previously, the state (i.e. UTXO set of boxes) is changed implicitly when a valid transaction is included in a block. Thus we only need to check the pre-conditions before the transaction can be added to the block. This is what ErgoScript contracts do.
It is not possible to “change the state” in ErgoScript because it is a language to check pre-conditions for spending coins. ErgoScript is a purely functional language without side effects that operates on immutable data values. This means all the inputs, outputs and other transaction parameters available in a script are immutable. This, among other things, makes ErgoScript a very simple language that is easy to learn and safe to use. Similar to Bitcoin, each input box contains a script, which should return the true value in order to 1) allow spending of the box (i.e. removing from the UTXO set) and 2) adding the transaction to the block.
If we are being pedantic, it is therefore incorrect (strictly speaking) to think of ErgoScript as the language of Ergo contracts, because it is the language of propositions (logical predicates, formulas, etc.) which protect boxes from “illegal” spending. Unlike Bitcoin, in Ergo the whole transaction and a part of the current blockchain context is available to every script. Therefore each script may check which outputs are created by the transaction, their ERG and token amounts (we will use this capability in our example DEX contracts), current block number etc.
In ErgoScript you define the conditions of whether changes (i.e. coin spending) are allowed to happen in a given context. This is in contrast to programming the changes imperatively in the code of a contract.
While Ergo's transaction model unlocks a whole range of applications like (DEX, DeFi Apps, LETS, etc), designing contracts as pre-conditions for coin spending (or guarding scripts) directly is not intuitive. In the next sections we will consider a useful graphical notation to design contracts declaratively using FlowCard Diagrams, which is a visual representation of executable components (FlowCards).
FlowCards aim to radically simplify dApp development on the Ergo platform by providing a high-level declarative language, execution runtime, storage format and a graphical notation.
We will start with a high level of diagrams and go down to FlowCard specification.

FlowCard Diagrams

The idea behind FlowCard diagrams is based on the following observations: 1) An Ergo box is immutable and can only be spent in the transaction which uses it as an input. 2) We therefore can draw a flow of boxes through transactions, so that boxes flowing in to the transaction are spent and those flowing out are created and added to the UTXO. 3) A transaction from this perspective is simply a transformer of old boxes to the new ones preserving the balances of ERGs and tokens involved.
The following figure shows the main elements of the Ergo transaction we've already seen previously (now under the name of FlowCard Diagram).
https://preview.redd.it/06aqkcd1ssv41.png?width=1304&format=png&auto=webp&s=106eda730e0526919aabd5af9596b97e45b69777
There is a strictly defined meaning (semantics) behind every element of the diagram, so that the diagram is a visual representation (or a view) of the underlying executable component (called FlowCard).
The FlowCard can be used as a reusable component of an Ergo dApp to create and initiate the transaction on the Ergo blockchain. We will discuss this in the coming sections.
Now let's look at the individual pieces of the FlowCard diagram one by one.
1. Name and Parameters
Each flow card is given a name and a list of typed parameters. This is similar to a template with parameters. In the above figure we can see the Send flow card which has five parameters. The parameters are used in the specification.
2. Contract Wallet
This is a key element of the flow card. Every box has a guarding script. Often it is the script that checks a signature against a public key. This script is trivial in ErgoScript and is defined like the def pk(pubkey: Address) = { pubkey } template where pubkey is a parameter of the type Address . In the figure, the script template is applied to the parameter pk(sender) and thus a concrete wallet contract is obtained. Therefore pk(sender) and pk(receiver) yield different scripts and represent different wallets on the diagram, even though they use the same template.
Contract Wallet contains a set of all UTXO boxes which have a given script derived from the given script template using flow card parameters. For example, in the figure, the template is pk and parameter pubkey is substituted with the `sender’ flow card parameter.
3. Contract
Even though a contract is a property of a box, on the diagram we group the boxes by their contracts, therefore it looks like the boxes belong to the contracts, rather than the contracts belong to the boxes. In the example, we have three instantiated contracts pk(sender) , pk(receiver) and minerFee . Note, that pk(sender) is the instantiation of the pk template with the concrete parameter sender and minerFee is the instantiation of the pre-defined contract which protects the miner reward boxes.
4. Box name
In the diagram we can give each box a name. Besides readability of the diagram, we also use the name as a synonym of a more complex indexed access to the box in the contract. For example, change is the name of the box, which can also be used in the ErgoScript conditions instead of OUTPUTS(2) . We also use box names to associate spending conditions with the boxes.
5. Boxes in the wallet
In the diagram, we show boxes (darker rectangles) as belonging to the contract wallets (lighter rectangles). Each such box rectangle is connected with a grey transaction rectangle by either orange or green arrows or both. An output box (with an incoming green arrow) may include many lines of text where each line specifies a condition which should be checked as part of the transaction. The first line specifies the condition on the amount of ERG which should be placed in the box. Other lines may take one of the following forms:
  1. amount: TOKEN - the box should contain the given amount of the given TOKEN
  2. R == value - the box should contain the given value of the given register R
  3. boxName ? condition - the box named boxName should check condition in its script.
We discuss these conditions in the sections below.
6. Amount of ERGs in the box
Each box should store a minimum amount of ERGs. This is checked when the creating transaction is validated. In the diagram the amount of ERGs is always shown as the first line (e.g. B: ERG or B - minErg - txFee ). The value type ascription B: ERG is optional and may be used for readability. When the value is given as a formula, then this formula should be respected by the transaction which creates the box.
It is important to understand that variables like amount and txFee are not named properties of the boxes. They are parameters of the whole diagram and representing some amounts. Or put it another way, they are shared parameters between transactions (e.g. Sell Order and Swap transactions from DEX example below share the tAmt parameter). So the same name is tied to the same value throughout the diagram (this is where the tooling would help a lot). However, when it comes to on-chain validation of those values, only explicit conditions which are marked with ? are transformed to ErgoScript. At the same time, all other conditions are ensured off-chain during transaction building (for example in an application using Appkit API) and transaction validation when it is added to the blockchain.
7. Amount of T token
A box can store values of many tokens. The tokens on the diagram are named and a value variable may be associated with the token T using value: T expression. The value may be given by formula. If the formula is prefixed with a box name like boxName ? formula , then it is should also be checked in the guarding script of the boxName box. This additional specification is very convenient because 1) it allows to validate the visual design automatically, and 2) the conditions specified in the boxes of a diagram are enough to synthesize the necessary guarding scripts. (more about this below at “From Diagrams To ErgoScript Contracts”)
8. Tx Inputs
Inputs are connected to the corresponding transaction by orange arrows. An input arrow may have a label of the following forms:
  1. [email protected] - optional name with an index i.e. [email protected] or u/2 . This is a property of the target endpoint of the arrow. The name is used in conditions of related boxes and the index is the position of the corresponding box in the INPUTS collection of the transaction.
  2. !action - is a property of the source of the arrow and gives a name for an alternative spending path of the box (we will see this in DEX example)
Because of alternative spending paths, a box may have many outgoing orange arrows, in which case they should be labeled with different actions.
9. Transaction
A transaction spends input boxes and creates output boxes. The input boxes are given by the orange arrows and the labels are expected to put inputs at the right indexes in INPUTS collection. The output boxes are given by the green arrows. Each transaction should preserve a strict balance of ERG values (sum of inputs == sum of outputs) and for each token the sum of inputs >= the sum of outputs. The design diagram requires an explicit specification of the ERG and token values for all of the output boxes to avoid implicit errors and ensure better readability.
10. Tx Outputs
Outputs are connected to the corresponding transaction by green arrows. An output arrow may have a label of the following [email protected] , where an optional name is accompanied with an index i.e. [email protected] or u/2 . This is a property of the source endpoint of the arrow. The name is used in conditions of the related boxes and the index is the position of the corresponding box in the OUTPUTS collection of the transaction.

Example: Decentralized Exchange (DEX)

Now let's use the above described notation to design a FlowCard for a DEX dApp. It is simple enough yet also illustrates all of the key features of FlowCard diagrams which we've introduced in the previous section.
The dApp scenario is shown in the figure below: There are three participants (buyer, seller and DEX) of the DEX dApp and five different transaction types, which are created by participants. The buyer wants to swap ergAmt of ERGs for tAmt of TID tokens (or vice versa, the seller wants to sell TID tokens for ERGs, who sends the order first doesn't matter). Both the buyer and the seller can cancel their orders any time. The DEX off-chain matching service can find matching orders and create the Swap transaction to complete the exchange.
The following diagram fully (and formally) specifies all of the five transactions that must be created off-chain by the DEX dApp. It also specifies all of the spending conditions that should be verified on-chain.

https://preview.redd.it/piogz0v9ssv41.png?width=1614&format=png&auto=webp&s=e1b503a635ad3d138ef91e2f0c3b726e78958646
Let's discuss the FlowCard diagram and the logic of each transaction in details:
Buy Order Transaction
A buyer creates a Buy Order transaction. The transaction spends E amount of ERGs (which we will write E: ERG ) from one or more boxes in the pk(buyer) wallet. The transaction creates a bid box with ergAmt: ERG protected by the buyOrder script. The buyOrder script is synthesized from the specification (see below at “From Diagrams To ErgoScript Contracts”) either manually or automatically by a tool. Even though we don't need to define the buyOrder script explicitly during designing, at run time the bid box should contain the buyOrder script as the guarding proposition (which checks the box spending conditions), otherwise the conditions specified in the diagram will not be checked.
The change box is created to make the input and output sums of the transaction balanced. The transaction fee box is omitted because it can be added automatically by the tools. In practice, however, the designer can add the fee box explicitly to the a diagram. It covers the cases of more complex transactions (like Swap) where there are many ways to pay the transaction fee.
Cancel Buy, Cancel Sell Transactions
At any time, the buyer can cancel the order by sending CancelBuy transaction. The transaction should satisfy the guarding buyOrder contract which protects the bid box. As you can see on the diagram, both the Cancel and the Swap transactions can spend the bid box. When a box has spending alternatives (or spending paths) then each alternative is identified by a unique name prefixed with ! (!cancel and !swap for the bid box). Each alternative path has specific spending conditions. In our example, when the Cancel Buy transaction spends the bid box the ?buyer condition should be satisfied, which we read as “the signature for the buyer address should be presented in the transaction”. Therefore, only buyer can cancel the buy order. This “signature” condition is only required for the !cancel alternative spending path and not required for !swap .
Sell Order Transaction
The Sell Order transaction is similar to the BuyOrder in that it deals with tokens in addition to ERGs. The transaction spends E: ERG and T: TID tokens from seller's wallet (specified as pk(seller) contract). The two outputs are ask and change . The change is a standard box to balance transaction. The ask box keeps tAmt: TID tokens for the exchange and minErg: ERG - the minimum amount of ERGs required in every box.
Swap Transaction
This is a key transaction in the DEX dApp scenario. The transaction has several spending conditions on the input boxes and those conditions are included in the buyOrder and sellOrder scripts (which are verified when the transaction is added to the blockchain). However, on the diagram those conditions are not specified in the bid and ask boxes, they are instead defined in the output boxes of the transaction.
This is a convention for improved usability because most of the conditions relate to the properties of the output boxes. We could specify those properties in the bid box, but then we would have to use more complex expressions.
Let's consider the output created by the arrow labeled with [email protected] . This label tells us that the output is at the index 0 in the OUTPUTS collection of the transaction and that in the diagram we can refer to this box by the buyerOut name. Thus we can label both the box itself and the arrow to give the box a name.
The conditions shown in the buyerOut box have the form bid ? condition , which means they should be verified on-chain in order to spend the bid box. The conditions have the following meaning:
  • tAmt: TID requires the box to have tAmt amount of TID token
  • R4 == bid.id requires R4 register in the box to be equal to id of the bid box.
  • script == buyer requires the buyerOut box to have the script of the wallet where it is located on the diagram, i.e. pk(buyer)
Similar properties are added to the sellerOut box, which is specified to be at index 1 and the name is given to it using the label on the box itself, rather than on the arrow.
The Swap transaction spends two boxes bid and ask using the !swap spending path on both, however unlike !cancel the conditions on the path are not specified. This is where the bid ? and ask ? prefixes come into play. They are used so that the conditions listed in the buyerOut and sellerOut boxes are moved to the !swap spending path of the bid and ask boxes correspondingly.
If you look at the conditions of the output boxes, you will see that they exactly specify the swap of values between seller's and buyer's wallets. The buyer gets the necessary amount of TID token and seller gets the corresponding amount of ERGs. The Swap transaction is created when there are two matching boxes with buyOrder and sellOrder contracts.

From Diagrams To ErgoScript Contracts

What is interesting about FlowCard specifications is that we can use them to automatically generate the necessary ErgoTree scripts. With the appropriate tooling support this can be done automatically, but with the lack of thereof, it can be done manually. Thus, the FlowCard allows us to capture and visually represent all of the design choices and semantic details of an Ergo dApp.
What we are going to do next is to mechanically create the buyOrder contract from the information given in the DEX flow card.
Recall that each script is a proposition (boolean valued expression) which should evaluate to true to allow spending of the box. When we have many conditions to be met at the same time we can combine them in a logical formula using the AND binary operation, and if we have alternatives (not necessarily exclusive) we can put them into the OR operation.
The buyOrder box has the alternative spending paths !cancel and !swap . Thus the ErgoScript code should have OR operation with two arguments - one for each spending path.
/** buyOrder contract */ { val cancelCondition = {} val swapCondition = {} cancelCondition || swapCondition } 
The formula for the cancelCondition expression is given in the !cancel spending path of the buyOrder box. We can directly include it in the script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = {} cancelCondition || swapCondition } 
For the !swap spending path of the buyOrder box the conditions are specified in the buyerOut output box of the Swap transaction. If we simply include them in the swapCondition then we get a syntactically incorrect script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = { tAmt: TID && R4 == bid.id && @contract } cancelCondition || swapCondition } 
We can however translate the conditions from the diagram syntax to ErgoScript expressions using the following simple rules
  1. [email protected] ==> val buyerOut = OUTPUTS(0)
  2. tAmt: TID ==> tid._2 == tAmt where tid = buyerOut.tokens(TID)
  3. R4 == bid.id ==> R4 == SELF.id where R4 = buyerOut.R4[Coll[Byte]].get
  4. script == buyer ==> buyerOut.propositionBytes == buyer.propBytes
Note, in the diagram TID represents a token id, but ErgoScript doesn't have access to the tokens by the ids so we cannot write tokens.getByKey(TID) . For this reason, when the diagram is translated into ErgoScript, TID becomes a named constant of the index in tokens collection of the box. The concrete value of the constant is assigned when the BuyOrder transaction with the buyOrder box is created. The correspondence and consistency between the actual tokenId, the TID constant and the actual tokens of the buyerOut box is ensured by the off-chain application code, which is completely possible since all of the transactions are created by the application using FlowCard as a guiding specification. This may sound too complicated, but this is part of the translation from diagram specification to actual executable application code, most of which can be automated.
After the transformation we can obtain a correct script which checks all the required preconditions for spending the buyOrder box.
/** buyOrder contract */ def DEX(buyer: Addrss, seller: Address, TID: Int, ergAmt: Long, tAmt: Long) { val cancelCondition: SigmaProp = { buyer } // verify buyer's sig (ProveDlog) val swapCondition = OUTPUTS.size > 0 && { // securing OUTPUTS access val buyerOut = OUTPUTS(0) // from [email protected] buyerOut.tokens.size > TID && { // securing tokens access val tid = buyerOut.tokens(TID) val regR4 = buyerOut.R4[Coll[Byte]] regR4.isDefined && { // securing R4 access val R4 = regR4.get tid._2 == tAmt && // from tAmt: TID R4 == SELF.id && // from R4 == bid.id buyerOut.propositionBytes == buyer.propBytes // from script == buyer } } } cancelCondition || swapCondition } 
A similar script for the sellOrder box can be obtained using the same translation rules. With the help of the tooling the code of contracts can be mechanically generated from the diagram specification.

Conclusions

Declarative programming models have already won the battle against imperative programming in many application domains like Big Data, Stream Processing, Deep Learning, Databases, etc. Ergo is pioneering the declarative model of dApp development as a better and safer alternative to the now popular imperative model of smart contracts.
The concept of FlowCard shifts the focus from writing ErgoScript contracts to the overall flow of values (hence the name), in such a way, that ErgoScript can always be generated from them. You will never need to look at the ErgoScript code once the tooling is in place.
Here are the possible next steps for future work:
  1. Storage format for FlowCard Spec and the corresponding EIP standardized file format (Json/XML/Protobuf). This will allow various tools (Diagram Editor, Runtime, dApps etc) to create and use *.flowcard files.
  2. FlowCard Viewer, which can generate the diagrams from *.flowcard files.
  3. FlowCard Runtime, which can run *.flowcard files, create and send transactions to Ergo network.
  4. FlowCard Designer Tool, which can simplify development of complex diagrams . This will make designing and validation of Ergo contracts a pleasant experience, more like drawing rather than coding. In addition, the correctness of the whole dApp scenario can be verified and controlled by the tooling.
submitted by eleanorcwhite to btc [link] [comments]

FlowCards: A Declarative Framework for Development of Ergo dApps

FlowCards: A Declarative Framework for Development of Ergo dApps
Introduction
ErgoScript is the smart contract language used by the Ergo blockchain. While it has concise syntax adopted from Scala/Kotlin, it still may seem confusing at first because conceptually ErgoScript is quite different compared to conventional languages which we all know and love. This is because Ergo is a UTXO based blockchain, whereas smart contracts are traditionally associated with account based systems like Ethereum. However, Ergo's transaction model has many advantages over the account based model and with the right approach it can even be significantly easier to develop Ergo contracts than to write and debug Solidity code.
Below we will cover the key aspects of the Ergo contract model which makes it different:
Paradigm
The account model of Ethereum is imperative. This means that the typical task of sending coins from Alice to Bob requires changing the balances in storage as a series of operations. Ergo's UTXO based programming model on the other hand is declarative. ErgoScript contracts specify conditions for a transaction to be accepted by the blockchain (not changes to be made in the storage state as result of the contract execution).
Scalability
In the account model of Ethereum both storage changes and validity checks are performed on-chain during code execution. In contrast, Ergo transactions are created off-chain and only validation checks are performed on-chain thus reducing the amount of operations performed by every node on the network. In addition, due to immutability of the transaction graph, various optimization strategies are possible to improve throughput of transactions per second in the network. Light verifying nodes are also possible thus further facilitating scalability and accessibility of the network.
Shared state
The account-based model is reliant on shared mutable state which is known to lead to complex semantics (and subtle million dollar bugs) in the context of concurrent/ distributed computation. Ergo's model is based on an immutable graph of transactions. This approach, inherited from Bitcoin, plays well with the concurrent and distributed nature of blockchains and facilitates light trustless clients.
Expressive Power
Ethereum advocated execution of a turing-complete language on the blockchain. It theoretically promised unlimited potential, however in practice severe limitations came to light from excessive blockchain bloat, subtle multi-million dollar bugs, gas costs which limit contract complexity, and other such problems. Ergo on the flip side extends UTXO to enable turing-completeness while limiting the complexity of the ErgoScript language itself. The same expressive power is achieved in a different and more semantically sound way.
With the all of the above points, it should be clear that there are a lot of benefits to the model Ergo is using. In the rest of this article I will introduce you to the concept of FlowCards - a dApp developer component which allows for designing complex Ergo contracts in a declarative and visual way.
From Imperative to Declarative
In the imperative programming model of Ethereum a transaction is a sequence of operations executed by the Ethereum VM. The following Solidity function implements a transfer of tokens from sender to receiver . The transaction starts when sender calls this function on an instance of a contract and ends when the function returns.
// Sends an amount of existing coins from any caller to an address function send(address receiver, uint amount) public { require(amount <= balances[msg.sender], "Insufficient balance."); balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } 
The function first checks the pre-conditions, then updates the storage (i.e. balances) and finally publishes the post-condition as the Sent event. The gas which is consumed by the transaction is sent to the miner as a reward for executing this transaction.
Unlike Ethereum, a transaction in Ergo is a data structure holding a list of input coins which it spends and a list of output coins which it creates preserving the total balances of ERGs and tokens (in which Ergo is similar to Bitcoin).
Turning back to the example above, since Ergo natively supports tokens, therefore for this specific example of sending tokens we don't need to write any code in ErgoScript. Instead we need to create the ‘send’ transaction shown in the following figure, which describes the same token transfer but declaratively.
https://preview.redd.it/id5kjdgn9tv41.png?width=1348&format=png&auto=webp&s=31b937d7ad0af4afe94f4d023e8c90c97c8aed2e
The picture visually describes the following steps, which the network user needs to perform:
  1. Select unspent sender's boxes, containing in total tB >= amount of tokens and B >= txFee + minErg ERGs.
  2. Create an output target box which is protected by the receiver public key with minErg ERGs and amount of T tokens.
  3. Create one fee output protected by the minerFee contract with txFee ERGs.
  4. Create one change output protected by the sender public key, containing B - minErg - txFee ERGs and tB - amount of T tokens.
  5. Create a new transaction, sign it using the sender's secret key and send to the Ergo network.
What is important to understand here is that all of these steps are preformed off-chain (for example using Appkit Transaction API) by the user's application. Ergo network nodes don't need to repeat this transaction creation process, they only need to validate the already formed transaction. ErgoScript contracts are stored in the inputs of the transaction and check spending conditions. The node executes the contracts on-chain when the transaction is validated. The transaction is valid if all of the conditions are satisfied.
Thus, in Ethereum when we “send amount from sender to recipient” we are literally editing balances and updating the storage with a concrete set of commands. This happens on-chain and thus a new transaction is also created on-chain as the result of this process.
In Ergo (as in Bitcoin) transactions are created off-chain and the network nodes only verify them. The effects of the transaction on the blockchain state is that input coins (or Boxes in Ergo's parlance) are removed and output boxes are added to the UTXO set.
In the example above we don't use an ErgoScript contract but instead assume a signature check is used as the spending pre-condition. However in more complex application scenarios we of course need to use ErgoScript which is what we are going to discuss next.
From Changing State to Checking Context
In the send function example we first checked the pre-condition (require(amount <= balances[msg.sender],...) ) and then changed the state (i.e. update balances balances[msg.sender] -= amount ). This is typical in Ethereum transactions. Before we change anything we need to check if it is valid to do so.
In Ergo, as we discussed previously, the state (i.e. UTXO set of boxes) is changed implicitly when a valid transaction is included in a block. Thus we only need to check the pre-conditions before the transaction can be added to the block. This is what ErgoScript contracts do.
It is not possible to “change the state” in ErgoScript because it is a language to check pre-conditions for spending coins. ErgoScript is a purely functional language without side effects that operates on immutable data values. This means all the inputs, outputs and other transaction parameters available in a script are immutable. This, among other things, makes ErgoScript a very simple language that is easy to learn and safe to use. Similar to Bitcoin, each input box contains a script, which should return the true value in order to 1) allow spending of the box (i.e. removing from the UTXO set) and 2) adding the transaction to the block.
If we are being pedantic, it is therefore incorrect (strictly speaking) to think of ErgoScript as the language of Ergo contracts, because it is the language of propositions (logical predicates, formulas, etc.) which protect boxes from “illegal” spending. Unlike Bitcoin, in Ergo the whole transaction and a part of the current blockchain context is available to every script. Therefore each script may check which outputs are created by the transaction, their ERG and token amounts (we will use this capability in our example DEX contracts), current block number etc.
In ErgoScript you define the conditions of whether changes (i.e. coin spending) are allowed to happen in a given context. This is in contrast to programming the changes imperatively in the code of a contract.
While Ergo's transaction model unlocks a whole range of applications like (DEX, DeFi Apps, LETS, etc), designing contracts as pre-conditions for coin spending (or guarding scripts) directly is not intuitive. In the next sections we will consider a useful graphical notation to design contracts declaratively using FlowCard Diagrams, which is a visual representation of executable components (FlowCards).
FlowCards aim to radically simplify dApp development on the Ergo platform by providing a high-level declarative language, execution runtime, storage format and a graphical notation.
We will start with a high level of diagrams and go down to FlowCard specification.
FlowCard Diagrams
The idea behind FlowCard diagrams is based on the following observations: 1) An Ergo box is immutable and can only be spent in the transaction which uses it as an input. 2) We therefore can draw a flow of boxes through transactions, so that boxes flowing in to the transaction are spent and those flowing out are created and added to the UTXO. 3) A transaction from this perspective is simply a transformer of old boxes to the new ones preserving the balances of ERGs and tokens involved.
The following figure shows the main elements of the Ergo transaction we've already seen previously (now under the name of FlowCard Diagram).
https://preview.redd.it/9kcxl11o9tv41.png?width=1304&format=png&auto=webp&s=378a7f50769292ca94de35ff597dc1a44af56d14
There is a strictly defined meaning (semantics) behind every element of the diagram, so that the diagram is a visual representation (or a view) of the underlying executable component (called FlowCard).
The FlowCard can be used as a reusable component of an Ergo dApp to create and initiate the transaction on the Ergo blockchain. We will discuss this in the coming sections.
Now let's look at the individual pieces of the FlowCard diagram one by one.
  1. Name and Parameters
Each flow card is given a name and a list of typed parameters. This is similar to a template with parameters. In the above figure we can see the Send flow card which has five parameters. The parameters are used in the specification.
  1. Contract Wallet
This is a key element of the flow card. Every box has a guarding script. Often it is the script that checks a signature against a public key. This script is trivial in ErgoScript and is defined like the def pk(pubkey: Address) = { pubkey } template where pubkey is a parameter of the type Address . In the figure, the script template is applied to the parameter pk(sender) and thus a concrete wallet contract is obtained. Therefore pk(sender) and pk(receiver) yield different scripts and represent different wallets on the diagram, even though they use the same template.
Contract Wallet contains a set of all UTXO boxes which have a given script derived from the given script template using flow card parameters. For example, in the figure, the template is pk and parameter pubkey is substituted with the `sender’ flow card parameter.
  1. Contract
Even though a contract is a property of a box, on the diagram we group the boxes by their contracts, therefore it looks like the boxes belong to the contracts, rather than the contracts belong to the boxes. In the example, we have three instantiated contracts pk(sender) , pk(receiver) and minerFee . Note, that pk(sender) is the instantiation of the pk template with the concrete parameter sender and minerFee is the instantiation of the pre-defined contract which protects the miner reward boxes.
  1. Box name
In the diagram we can give each box a name. Besides readability of the diagram, we also use the name as a synonym of a more complex indexed access to the box in the contract. For example, change is the name of the box, which can also be used in the ErgoScript conditions instead of OUTPUTS(2) . We also use box names to associate spending conditions with the boxes.
  1. Boxes in the wallet
In the diagram, we show boxes (darker rectangles) as belonging to the contract wallets (lighter rectangles). Each such box rectangle is connected with a grey transaction rectangle by either orange or green arrows or both. An output box (with an incoming green arrow) may include many lines of text where each line specifies a condition which should be checked as part of the transaction. The first line specifies the condition on the amount of ERG which should be placed in the box. Other lines may take one of the following forms:
  1. amount: TOKEN - the box should contain the given amount of the given TOKEN
  2. R == value - the box should contain the given value of the given register R
  3. boxName ? condition - the box named boxName should check condition in its script.
We discuss these conditions in the sections below.
  1. Amount of ERGs in the box
Each box should store a minimum amount of ERGs. This is checked when the creating transaction is validated. In the diagram the amount of ERGs is always shown as the first line (e.g. B: ERG or B - minErg - txFee ). The value type ascription B: ERG is optional and may be used for readability. When the value is given as a formula, then this formula should be respected by the transaction which creates the box.
It is important to understand that variables like amount and txFee are not named properties of the boxes. They are parameters of the whole diagram and representing some amounts. Or put it another way, they are shared parameters between transactions (e.g. Sell Order and Swap transactions from DEX example below share the tAmt parameter). So the same name is tied to the same value throughout the diagram (this is where the tooling would help a lot). However, when it comes to on-chain validation of those values, only explicit conditions which are marked with ? are transformed to ErgoScript. At the same time, all other conditions are ensured off-chain during transaction building (for example in an application using Appkit API) and transaction validation when it is added to the blockchain.
  1. Amount of T token
A box can store values of many tokens. The tokens on the diagram are named and a value variable may be associated with the token T using value: T expression. The value may be given by formula. If the formula is prefixed with a box name like boxName ? formula , then it is should also be checked in the guarding script of the boxName box. This additional specification is very convenient because 1) it allows to validate the visual design automatically, and 2) the conditions specified in the boxes of a diagram are enough to synthesize the necessary guarding scripts. (more about this below at “From Diagrams To ErgoScript Contracts”)
  1. Tx Inputs
Inputs are connected to the corresponding transaction by orange arrows. An input arrow may have a label of the following forms:
  1. [email protected] - optional name with an index i.e. [email protected] or u/2 . This is a property of the target endpoint of the arrow. The name is used in conditions of related boxes and the index is the position of the corresponding box in the INPUTS collection of the transaction.
  2. !action - is a property of the source of the arrow and gives a name for an alternative spending path of the box (we will see this in DEX example)
Because of alternative spending paths, a box may have many outgoing orange arrows, in which case they should be labeled with different actions.
  1. Transaction
A transaction spends input boxes and creates output boxes. The input boxes are given by the orange arrows and the labels are expected to put inputs at the right indexes in INPUTS collection. The output boxes are given by the green arrows. Each transaction should preserve a strict balance of ERG values (sum of inputs == sum of outputs) and for each token the sum of inputs >= the sum of outputs. The design diagram requires an explicit specification of the ERG and token values for all of the output boxes to avoid implicit errors and ensure better readability.
  1. Tx Outputs
Outputs are connected to the corresponding transaction by green arrows. An output arrow may have a label of the following [email protected] , where an optional name is accompanied with an index i.e. [email protected] or u/2 . This is a property of the source endpoint of the arrow. The name is used in conditions of the related boxes and the index is the position of the corresponding box in the OUTPUTS collection of the transaction.
Example: Decentralized Exchange (DEX)
Now let's use the above described notation to design a FlowCard for a DEX dApp. It is simple enough yet also illustrates all of the key features of FlowCard diagrams which we've introduced in the previous section.
The dApp scenario is shown in the figure below: There are three participants (buyer, seller and DEX) of the DEX dApp and five different transaction types, which are created by participants. The buyer wants to swap ergAmt of ERGs for tAmt of TID tokens (or vice versa, the seller wants to sell TID tokens for ERGs, who sends the order first doesn't matter). Both the buyer and the seller can cancel their orders any time. The DEX off-chain matching service can find matching orders and create the Swap transaction to complete the exchange.
The following diagram fully (and formally) specifies all of the five transactions that must be created off-chain by the DEX dApp. It also specifies all of the spending conditions that should be verified on-chain.

https://preview.redd.it/fnt5f4qp9tv41.png?width=1614&format=png&auto=webp&s=34f145f9a6d622454906857e645def2faba057bd
Let's discuss the FlowCard diagram and the logic of each transaction in details:
Buy Order Transaction
A buyer creates a Buy Order transaction. The transaction spends E amount of ERGs (which we will write E: ERG ) from one or more boxes in the pk(buyer) wallet. The transaction creates a bid box with ergAmt: ERG protected by the buyOrder script. The buyOrder script is synthesized from the specification (see below at “From Diagrams To ErgoScript Contracts”) either manually or automatically by a tool. Even though we don't need to define the buyOrder script explicitly during designing, at run time the bid box should contain the buyOrder script as the guarding proposition (which checks the box spending conditions), otherwise the conditions specified in the diagram will not be checked.
The change box is created to make the input and output sums of the transaction balanced. The transaction fee box is omitted because it can be added automatically by the tools. In practice, however, the designer can add the fee box explicitly to the a diagram. It covers the cases of more complex transactions (like Swap) where there are many ways to pay the transaction fee.
Cancel Buy, Cancel Sell Transactions
At any time, the buyer can cancel the order by sending CancelBuy transaction. The transaction should satisfy the guarding buyOrder contract which protects the bid box. As you can see on the diagram, both the Cancel and the Swap transactions can spend the bid box. When a box has spending alternatives (or spending paths) then each alternative is identified by a unique name prefixed with ! (!cancel and !swap for the bid box). Each alternative path has specific spending conditions. In our example, when the Cancel Buy transaction spends the bid box the ?buyer condition should be satisfied, which we read as “the signature for the buyer address should be presented in the transaction”. Therefore, only buyer can cancel the buy order. This “signature” condition is only required for the !cancel alternative spending path and not required for !swap .
Sell Order Transaction
The Sell Order transaction is similar to the BuyOrder in that it deals with tokens in addition to ERGs. The transaction spends E: ERG and T: TID tokens from seller's wallet (specified as pk(seller) contract). The two outputs are ask and change . The change is a standard box to balance transaction. The ask box keeps tAmt: TID tokens for the exchange and minErg: ERG - the minimum amount of ERGs required in every box.
Swap Transaction
This is a key transaction in the DEX dApp scenario. The transaction has several spending conditions on the input boxes and those conditions are included in the buyOrder and sellOrder scripts (which are verified when the transaction is added to the blockchain). However, on the diagram those conditions are not specified in the bid and ask boxes, they are instead defined in the output boxes of the transaction.
This is a convention for improved usability because most of the conditions relate to the properties of the output boxes. We could specify those properties in the bid box, but then we would have to use more complex expressions.
Let's consider the output created by the arrow labeled with [email protected] . This label tells us that the output is at the index 0 in the OUTPUTS collection of the transaction and that in the diagram we can refer to this box by the buyerOut name. Thus we can label both the box itself and the arrow to give the box a name.
The conditions shown in the buyerOut box have the form bid ? condition , which means they should be verified on-chain in order to spend the bid box. The conditions have the following meaning:
  • tAmt: TID requires the box to have tAmt amount of TID token
  • R4 == bid.id requires R4 register in the box to be equal to id of the bid box.
  • script == buyer requires the buyerOut box to have the script of the wallet where it is located on the diagram, i.e. pk(buyer)
Similar properties are added to the sellerOut box, which is specified to be at index 1 and the name is given to it using the label on the box itself, rather than on the arrow.
The Swap transaction spends two boxes bid and ask using the !swap spending path on both, however unlike !cancel the conditions on the path are not specified. This is where the bid ? and ask ? prefixes come into play. They are used so that the conditions listed in the buyerOut and sellerOut boxes are moved to the !swap spending path of the bid and ask boxes correspondingly.
If you look at the conditions of the output boxes, you will see that they exactly specify the swap of values between seller's and buyer's wallets. The buyer gets the necessary amount of TID token and seller gets the corresponding amount of ERGs. The Swap transaction is created when there are two matching boxes with buyOrder and sellOrder contracts.
From Diagrams To ErgoScript Contracts
What is interesting about FlowCard specifications is that we can use them to automatically generate the necessary ErgoTree scripts. With the appropriate tooling support this can be done automatically, but with the lack of thereof, it can be done manually. Thus, the FlowCard allows us to capture and visually represent all of the design choices and semantic details of an Ergo dApp.
What we are going to do next is to mechanically create the buyOrder contract from the information given in the DEX flow card.
Recall that each script is a proposition (boolean valued expression) which should evaluate to true to allow spending of the box. When we have many conditions to be met at the same time we can combine them in a logical formula using the AND binary operation, and if we have alternatives (not necessarily exclusive) we can put them into the OR operation.
The buyOrder box has the alternative spending paths !cancel and !swap . Thus the ErgoScript code should have OR operation with two arguments - one for each spending path.
/** buyOrder contract */ { val cancelCondition = {} val swapCondition = {} cancelCondition || swapCondition } 
The formula for the cancelCondition expression is given in the !cancel spending path of the buyOrder box. We can directly include it in the script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = {} cancelCondition || swapCondition } 
For the !swap spending path of the buyOrder box the conditions are specified in the buyerOut output box of the Swap transaction. If we simply include them in the swapCondition then we get a syntactically incorrect script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = { tAmt: TID && R4 == bid.id && @contract } cancelCondition || swapCondition } 
We can however translate the conditions from the diagram syntax to ErgoScript expressions using the following simple rules
  1. [email protected] ==> val buyerOut = OUTPUTS(0)
  2. tAmt: TID ==> tid._2 == tAmt where tid = buyerOut.tokens(TID)
  3. R4 == bid.id ==> R4 == SELF.id where R4 = buyerOut.R4[Coll[Byte]].get
  4. script == buyer ==> buyerOut.propositionBytes == buyer.propBytes
Note, in the diagram TID represents a token id, but ErgoScript doesn't have access to the tokens by the ids so we cannot write tokens.getByKey(TID) . For this reason, when the diagram is translated into ErgoScript, TID becomes a named constant of the index in tokens collection of the box. The concrete value of the constant is assigned when the BuyOrder transaction with the buyOrder box is created. The correspondence and consistency between the actual tokenId, the TID constant and the actual tokens of the buyerOut box is ensured by the off-chain application code, which is completely possible since all of the transactions are created by the application using FlowCard as a guiding specification. This may sound too complicated, but this is part of the translation from diagram specification to actual executable application code, most of which can be automated.
After the transformation we can obtain a correct script which checks all the required preconditions for spending the buyOrder box.
/** buyOrder contract */ def DEX(buyer: Addrss, seller: Address, TID: Int, ergAmt: Long, tAmt: Long) { val cancelCondition: SigmaProp = { buyer } // verify buyer's sig (ProveDlog) val swapCondition = OUTPUTS.size > 0 && { // securing OUTPUTS access val buyerOut = OUTPUTS(0) // from [email protected] buyerOut.tokens.size > TID && { // securing tokens access val tid = buyerOut.tokens(TID) val regR4 = buyerOut.R4[Coll[Byte]] regR4.isDefined && { // securing R4 access val R4 = regR4.get tid._2 == tAmt && // from tAmt: TID R4 == SELF.id && // from R4 == bid.id buyerOut.propositionBytes == buyer.propBytes // from script == buyer } } } cancelCondition || swapCondition } 
A similar script for the sellOrder box can be obtained using the same translation rules. With the help of the tooling the code of contracts can be mechanically generated from the diagram specification.
Conclusions
Declarative programming models have already won the battle against imperative programming in many application domains like Big Data, Stream Processing, Deep Learning, Databases, etc. Ergo is pioneering the declarative model of dApp development as a better and safer alternative to the now popular imperative model of smart contracts.
The concept of FlowCard shifts the focus from writing ErgoScript contracts to the overall flow of values (hence the name), in such a way, that ErgoScript can always be generated from them. You will never need to look at the ErgoScript code once the tooling is in place.
Here are the possible next steps for future work:
  1. Storage format for FlowCard Spec and the corresponding EIP standardized file format (Json/XML/Protobuf). This will allow various tools (Diagram Editor, Runtime, dApps etc) to create and use *.flowcard files.
  2. FlowCard Viewer, which can generate the diagrams from *.flowcard files.
  3. FlowCard Runtime, which can run *.flowcard files, create and send transactions to Ergo network.
  4. FlowCard Designer Tool, which can simplify development of complex diagrams . This will make designing and validation of Ergo contracts a pleasant experience, more like drawing rather than coding. In addition, the correctness of the whole dApp scenario can be verified and controlled by the tooling.
submitted by Guilty_Pea to CryptoCurrencies [link] [comments]

Bull Bitcoin’s Dollar-Cost Averaging tool for Canadians: a detailed overview

Hello fellow Canadian Bitcoiners!
I'm Francis Pouliot, CEO and founder of Bull Bitcoin (previously known as Bitcoin Outlet) and Bylls.
I haven't been active on Reddit for a while but I thought I'd pop back here to let the community know about our new dollar-cost averaging feature, "Recurring Buy"
This post is a copy of my most recent medium article which you can read here if you want to see the screenshots. https://medium.com/bull-bitcoin/bull-bitcoins-dollar-cost-averaging-tool-for-canadians-the-right-time-to-buy-bitcoin-is-every-day-82a992ca22c1
Thanks in advance for any feedback and suggestions!
[Post starts here]
The Bull Bitcoin team is constantly trying to reduce the frictions ordinary people face when investing in Bitcoin and propose innovative features which ensure our users follow Bitcoin best practices and minimize their risks.
We are particularly excited and proud about our latest feature: an automated Bitcoin dollar-cost averaging tool which we dubbed “Recurring Buy”.
The Recurring Buy feature lets Bull Bitcoin users create an automated schedule that will buy Bitcoin every day using the funds in their account balance and send the Bitcoin directly to their Bitcoin wallet straight away.
We put a lot of thought in the implementation details and striking the right trade-offs for a simple and elegant solution. Our hope is that it will become a standard other Bitcoin exchanges will emulate for the benefit of their users. This standard will certainly evolve over time as we accumulate feedback and operational experience.
In this article, I cover:
The problem that we are trying to solve
Recurring Buy feature details, processes and instructions
The rationale (and tradeoffs) behind the main feature design choices
Bull Bitcoin is only available to Canadians, but non-Canadians that wish to have a look at how it works are welcome to make a Bull Bitcoin account and check out how it works here. You will be able to go through the process of create the schedule for testing purposes, but you wont be able to fund your account and actually purchase Bitcoin.
What problems does Dollar-Cost Averaging solve?
The most common concern of Bitcoin investors is, not surprisingly, “when is the right time to buy Bitcoin?”. Bitcoin is indeed a very volatile asset. A quick glance at a Bitcoin price chart shows there are without a doubt “worse times” and “better times” to invest in Bitcoin. But is that the same as the “right” time?
Gurus, analysts and journalists continuously offer their theories explaining what affects the Bitcoin price, supported by fancy trading charts and geopolitical analysis, further reinforcing the false notion that it is possible to predict the price of Bitcoin.
Newbies are constantly bombarded with mainstream media headlines of spectacular gains and devastating losses. For some, this grows into an irresistible temptation to get rich quick. Others become crippled with the fear of becoming “the sucker” on which early adopters dump their bags.
Veterans are haunted by past Bitcoin purchases which were quickly followed by a crash in the price. “I should have waited to buy the dip…”
Many Bitcoin veterans and long-term investors often shrug off the question of when is the right time to buy with the philosophy: “just hodl”. But even those holding until their death will recognize that buying more Bitcoin for the same price is a better outcome.
Given the very high daily volatility of Bitcoin, a hodler can find himself in many years having significantly less wealth just because he once bought Bitcoin on a Monday instead of a Wednesday. His options are either to leave it up to chance or make an attempt to “time the market” and “buy the dip”, which can turn into a stressful trading obsession, irrational decisions (which have a negative impact on budget, income and expenses) and severe psychological trauma. In addition, trying to “buy the dip” is often synonymous to keeping large amounts of fiat on an exchange to be ready for “when the time comes”.
There must be a better way.
Bitcoin investors should be rewarded for having understood Bitcoin’s long-term value proposition early on, for having taken the risk to invest accordingly and for having followed best practices. Not for being lucky.
Overview of features and rules
In this section I go into every detail of the Recurring Buy feature. In the following section, I focus on explaining why we chose this particular user experience.
The user first decides his target investment amount. Ideally, this is a monthly budget or yearly budget he allocates to investing in Bitcoin based on his projected income and expenses.
The user then chooses either the duration of the Recurring Buy schedule or the daily purchase amount. The longer the better.
The frequency is each day and cannot be modified.
The user must submit a Bitcoin address before activating a Recurring Buy schedule. By default, every transaction will be sent to that Bitcoin address. It’s the fallback address in case they don’t provide multiple addresses later.
Once the user has filled the form with target amount, the duration and the Bitcoin address, he can activate the Recurring Buy Schedule.
The user is not required to already have funds in his account balance to activate the schedule.
We will randomly select a time of day at which his transaction will be processed (every hour, so 24 possible times). If the user insists on another time of day, he can cancel his Recurring Buy schedule and try again.


The Recurring Buy feature as displayed on bullbitcoin.com/recurring-buys
The schedule is then displayed to the user, showing the time and date at which transactions that will take place in the future. The user will be able to see how long his current balance will last.
He can follow the progress of the dollar-cost averaging schedule, monitor in real time his average acquisition cost, and audit each transaction individually.
At this point, the user can and should change the Bitcoin address of his next transactions to avoid address re-use. Address re-use is not forbidden, but it is highly discouraged.
After having modified the Bitcoin addresses, there is nothing left for the user to do except watch the bitcoins appear in his Bitcoin wallet every day!
The Bitcoins are sent right away at the time of purchase.
Bitcoin transactions using the Recurring Buy feature will have the lowest possible Bitcoin network transaction fee to avoid creating upwards pressure on the fee market impact other network users.


What users see after first activating a schedule
The Recurring Buy schedule will be cancelled automatically at the time of the next purchase if the balance is insufficient. He can add more funds to his balance whenever he wants.
The Recurring Buy schedule will continue until the target amount is reached or until the account balance runs out.
The user can cancel his Recurring Buy schedule whenever he wants.
If the user wants to change the amount or duration of the schedule, he can simply cancel his current schedule and create a new one.
Each schedule has a unique identifier so that users can keep track of various schedules they perform over time.
Once a schedule is completed, either fully or partially, a summary will be provided which shows the number of transactions completed, the average acquisition cost, the total amount of Bitcoin purchase and the total amount of fiat spent. Useful for accounting!


A partially completed Recurring Buy schedule cancelled after 9 days due to insufficient funds
Though process in making our design choices
Recurring Bitcoin Purchases vs. Recurring Payment/Funding
The first and most important design choice was to separate the processes of funding the account balance with fiat (the payment) from the process of buying Bitcoin (the purchase). Users do not need to make a bank transaction every time they do a Bitcoin purchase. They first fund their account manually on their own terms, and the recurring purchases are debited from their pre-funded account balance.
Another approach would have been to automatically withdraw fiat from the user’s bank account (e.g. a direct debit or subscription billing) for each transaction (like our friends at Amber) or to instruct the user to set-up recurring payments to Bull Bitcoin from their bank account (like our friends at Bittr). The downside of these strategies is that they require numerous bank transactions which increases transaction fees and the likelihood of triggering fraud and compliance flags at the user’s bank. However, this does remove the user’s need to keep larger amounts of fiat on the exchange and reduces the friction of having to make manual bank payments.
Bull Bitcoin is currently working on a separate “Recurring Funding” feature that will automatically debit fiat from the user’s bank accounts using a separate recurring schedule with a minimum frequency of once a week, with a target of once every two weeks or once a month to match the user’s income frequency. This can, and will, be used in combination from the “Recurring Buy” feature, but both can be used separately.
The ultimate experience that we wish to achieve is that users will automatically set aside, each paycheck (two weeks), a small budget to invest in Bitcoin using the “Recurring Funding” feature which is sufficient to refill their account balance for the next two weeks of daily recurring purchases.
Frequency of transactions
The second important decision was about customizing the frequency of the schedule. We decided to make it “each day” only. This is specifically to ensure users have a large enough sample size and remain consistent which are the two key components to a successful dollar-cost averaging strategy.
A higher amount of recurring transactions (larger sample size) will result in the user’s average acquisition being closer to the actual average Bitcoin price over that period of time. Weekly or monthly recurring purchases can provide the same effectiveness if they are performed over a duration of time which is 7x longer (weekly) or 30x longer (monthly).
It is our belief that the longer the duration of the schedule, the more likely the user is to cancel the recurring buy schedule in order to “buy the dip”. Dollar-cost averaging is boring, and watching sats appear in the wallet every day is a good way to reduce the temptation of breaking the consistency.
We do not force this on users: they can still cancel the schedule if they want and go all-in. We consider it more of a gentle nudge in the right direction.
Frequency of withdrawals (one purchase = one bitcoin transaction)
This is one of the most interesting design choices because it is a trade-off between scalability (costs), privacy and custody. Ultimately, we decided that trust-minimization (no custody) and privacy were the most important at the expense of long-term scalability and costs.
Realistically, Bitcoin network fees are currently low and we expect them to remain low for the near future, although they will certainly increase massively over the long-term. One of the ways we mitigated this problem was to select the smallest possible transaction fee for transactions done in the context of Recurring Buy, separate from regular transaction fees on regular Bitcoin purchases (which, at Bull Bitcoin, are very generous).
Note: users must merge their UTXOs periodically to avoid being stuck with a large amount of small UTXOs in the future when fees become more expensive. This is what makes me most uncomfortable about our solution. I hope to also solve this problem, but it is ultimately something Bitcoin wallets need to address as well. Perhaps an automated tool in Bitcoin wallets which merges UTXOs periodically when the fees are low? Food for thought.
When transaction fees and scalability becomes a problem for us, it will have become a problem for all other small payments on the Bitcoin network, and we will use whatever solution is most appropriate at that time.
It is possible that Lightning Network ends up being the scalability solution, although currently it is logistically very difficult to perform automated payouts to users using Lightning, particularly recurring payouts, which require users to create Bolt11 invoices and to convince other peers in the network to open channels and fund channels with them for inbound capacity.
These are the general trade-offs:
Send a Bitcoin transaction for every purchase (what we do) - Most expensive for the exchange - Most expensive for the user (many UTXOs) - Increases Bitcoin Network UTXOs set - Inefficient usage of block space - Most private - Zero custody risk
Keep custody of the Bitcoin until the schedule is over or when the user requests a withdrawal (what Coinbase does) - No additional costs -No blockchain bloating - Same level of privacy - High custody risk
Batch user transactions together at fixed intervals (e.g. every day) - Slightly lower transaction costs for the exchange - Same costs for the user - Slightly more efficient use of block space - Same level of UTXO set bloating - Much lower level of privacy - Slightly higher custody risk
Single address vs multiple addresses vs HD keys (xpubs)
The final decision we had to make was preventing address re-use and allowing users to provide an HD key (xpub) rather than a Bitcoin address.
Address re-use generally decreases privacy because it becomes possible for third-party blockchain snoops to figure out that multiple Bitcoin transactions are going to the same user. But we must also consider that even transactions are sent to multiple addresses, particularly if they are small amounts, it is highly likely that the user will “merge” the coins into a single transaction when spending from his wallet. It is always possible for users to prevent this using Coinjoin, in which there is a large privacy gain in not re-using addresses compared to using a single address.
It is important to note that this does not decrease privacy compared to regular Bitcoin purchases on Bull Bitcoin outside of “Recurring Buy”. Whether a user has one transaction of $1000 going to a Bitcoin address or 10x$100 going that same Bitcoin address doesn’t reveal any new information about the user other than the fact he is likely using a dollar-cost averaging mechanism. It is rather a missed opportunity to gain more privacy.
Another smaller decision was whether or not we should ask the user to provide all his addresses upfront before being able to activate the schedule, which would completely remove the possibility of address re-use. We ultimately decided that because this process can take a very long time (imagine doing Recurring Buy every day for 365 days) it is better to let the user do this at his own pace, particularly because he may eventually change his Bitcoin wallet and forget to change the addresses in the schedule.
There are also various legitimate use-cases where users have no choice but to re-use the same address . A discussion for another day!
Asking the user to provide an XPUB is a great solution to address re-use. The exchange must dynamically derive a new Bitcoin address for the user at each transaction, which is not really a technical challenge. As far as I can tell, Bittr is the only Bitcoin exchange exchange which has implemented this technique. Kudos!
It is however important that the user doesn’t reuse this XPUB for anything else, otherwise the exchange can track his entire wallet balance and transaction history.
It is worth noting that not all wallets support HD keys or have HD keys by default (e.g. Bitcoin Core). So it is imperative that we offer the option to give Bitcoin addresses. We believe there is a lot of potential to create wallet coordination mechanisms between senders and recipients which would make this process a lot more streamlined.
In the future, we will certainly allow users to submit an XPUB instead of having to manually input a different address. But for now, we wanted to reduce the complexity to a minimum.
Conclusion: personal thoughts
I have a somewhat unique perspective on Bitcoin users due to the fact that I worked at the Bitcoin Embassy for almost 4 years. During this time, I had the opportunity to discuss face-to-face with thousands of Bitcoin investors. One of my favourite anecdotes is a nocoiner showing up at our office in December 2013 with a bag full of cash attempting to buy Bitcoin, “I know how to read a chart”, furious after being turned away. Many people who went “all-in” for short-term gains (usually altcoins) would show up to the Bitcoin Embassy office months later with heart-breaking stories.
This isn’t what I signed up for. My goal is to help people opt-out of fiat and, ultimately, to destroy the fiat currency system entirely.
This instilled in me a deep-rooted concern for gambling addiction and strong aversion to “trading”. I do not believe that Bitcoin exchanges should blindly follow “what the market dictates”. More often than not, what dictates the market is bad habits users formed because of the other Bitcoin services they used in the past, what other people are used to, and what feels familiar. Running a Bitcoin company should be inseparable from educating users on the best practices, and embedding these best practices into the user experience is the best way for them to learn.
Another important anecdote which motivated me to build a dollar-cost averaging tool is a person very close to me that had made the decision to buy Bitcoin, but was so stressed out about when was the right time to buy that they ended up not buying Bitcoin for a whole 6 months after funding their Bull Bitcoin account. That person eventually gave up and ultimately invested a large amount all at once. In hindsight, it turned out to be one of the worst possible times to invest in Bitcoin during that year.
Investing in Bitcoin can, and should be, a positive and rewarding experience.
Buying Bitcoin every day is the right strategy, but it is not necessarily lead to the best outcome.
The reality is that the best time to buy Bitcoin is at when market hits rock bottom (obviously). Sometimes, the upside from buying the dip can be much bigger than the risk (e.g. when the price dropped below $200 in 2015). But these are exceptions rather than the rule. And the cost of chasing dips is very high: stress, investing time and mental energy, and the very real psychological trauma which results from making bad trading decisions. Ultimately, it’s better to do the right thing than being lucky, but it’s not always a bad idea to cheat on your dollar-cost averaging from time to time if you can live with the costs and consequences.
Yours truly,
Francis
submitted by FrancisPouliot to BitcoinCA [link] [comments]

Top 6 gold-backed stablecoins to watch in 2020

Top 6 gold-backed stablecoins to watch in 2020
The potential overlaps between cryptocurrency and gold continue to stir debate about their respective roles in the financial sector. Gold has a reputation that precedes itself. The most pre-eminent of precious metals has been a valuable standard since the earliest human civilizations.
In the current investment scene, gold plays the useful role of a safe-haven asset. Investors can hedge a certain amount of gold as a means of portfolio diversification. It might, therefore, seem like an affront to compare gold to crypto. Cryptocurrencies like Bitcoin are synonymous with volatility, which makes traditional investors like Warren Buffet steer clear.
Still, gold can work with crypto in remarkable ways. The similarities, whether in the form of decentralization, inelastic supply, and independence from mainstream stocks, make for exciting use-cases. Add gold-backed stablecoins to the scene, and the conversation is even more engaging.
What Are Gold-Backed Stablecoins?
A stablecoin is a cryptocurrency whose value corresponds to a valuable asset. The valuable asset could be anything from fiat currencies to precious metals, or even oil. USDT, the current leading stablecoin, came into prominence because its value was tethered to the US dollar.
Therefore, gold-backed stablecoins use gold as their base physical asset. Stablecoins offer more stability than a typical cryptocurrency would enjoy and, as a result, they have earned credibility with investors keen on that trait.For gold-backed stablecoins, the typical structuring is that one token of stablecoin equals one gram of gold. The stablecoin’s price cannot fall below the prevailing rates for gold at any time. The physical gold is in the hands of a trustworthy third party.
Top 6 Gold-Backed Stablecoins
Gold-backed stablecoins have off-chain physical gold to back up their native blockchain tokens. This detail is the common thread for gold-backed coins and is the reason behind their stability. Here are some notable entities in this field:
1. Digix Gold Tokens (DGX)
Digix is a notable gold-backed stablecoin from Singapore. The company uses blockchain technology to offer DGX tokens with gold backing. Digix has two types of tokens of offer: Digix Gold (DGX) and Digix DAO (DGD). Each DGX token equals one gram of gold.
The platform uses a unique protocol called PoA (Proof of Asset) or PoP (Proof of Provenance) to ensure smooth transactions. Digix places LBMA-approved gold bullion in its Safe House vaults to guarantee the exchange rate.
Therefore, Digix uses a real asset (gold), transfers its value to the blockchain, and evenly distributes shares among participants. Token owners participate in the platform’s development and can also exchange tokens for gold or any other coin.
Since the tokens are in the Ethereum EIP20 format, investors can also use them for Ethereum contracts. Digix outsources auditing to French certification company Bureau Veritas every three months. With a proven track record since it began operation in 2016, Digix has a prominent position among those who provide asset stablecoins.
2. GoldMint
GoldMint is a Russian blockchain platform that issues stablecoins backed by 100% physical gold or exchange-traded funds (ETFs). The founders have a wealth of experience in the gold processing industry.
GoldMint founders have connections to an extensive pawnshop business in Russia. A core component of gold ownership is smallholders in items like jewelry. Pawnshops are, therefore, a key conduit for gold movement because of gold’s universal acceptance.
The platform issues two native tokens: Gold and the MINT tokens. Gold is an investment token with full physical gold backing. A Gold token has the value of an ounce of gold by international standards. The GoldMint platform uses a private blockchain and graphene technology.
GoldMint relies on an automatic diagnostic system in its Custody Bot to process information. The information ensures the MINT blockchain issues the correct amount of Gold tokens. Masternode operators earn commissions for every transaction of the MINT blockchain. Owing to the widespread pawnshop access, GoldMint exceeded 5,000 kg of scrap gold trading annual turnover in less than two years of trading gold tokens.
3. Ekon Gold
Swiss startup Eidoo launched its gold-backed stablecoin in late 2017. The Ekon Gold stablecoin came soon after that. This token is ERC-20 compliant, and is tradable on the decentralized hybrid exchange of the project.
Ekon founders made it so that traders could only exchange Ekon for one gram of 999 gold in a special store in Switzerland in insured safe deposit boxes. An independent auditing company, PluriAudit SA, audits the platform every quarter.
Compared to some others, this company is more limited and more precise in its operations. Despite this, Eidoo raised $27.9 million during its token sale in October 2017 and gained a license from Swiss regulators. The company is keen to comply with AML regulations and complete the KYC procedure up to Tier 2.
4. Tiberius
Tiberius is yet another Swiss stablecoin. Its mother company, Tiberius Group AG, announced the issue of Tiberius tokens in September 2018. Tiberius tokens offer high stability as they boast the backing of a basket of seven precious metals, including gold. This platform is still in its formative stages of operation but is already attracting investor interest.
Just like Ekon Gold, Tiberius ensures its operations are on the right side of the relevant Swiss laws. The platform has delayed the sale of Tiberius Coin.
CEO Giuseppe Rapallo attributes this delay to the desire for more diversification, in order to make the coin even more stable. This coin is looking to anchor its value to a wide range of stable assets.
5. OneGram (OGC) — UAE
The OneGram project aims at ensuring that each token has the backing of at least one gram of physical gold. The choice of gold is deliberate because gold is one of six Ribawi assets that can be freely traded across the Muslim world.
The context is important because the UAE is an Islamic country. Making the coin Sharia compliant will endear it more widely to the native population. OneGram relies on a Proof of Stake (PoS) blockchain to facilitate fast transactions.
Notably, it features a democratic community of OneGram stakeholders who elect delegates and validators. In summary, the coin combines the stability and reputation of gold, the convenience of cryptocurrency, and Sharia compliance. OneGram can be the key that opens up the Arab and South Asian markets to cryptocurrency.
6. Novem Gold (Liechtenstein)
Novem Gold is the final installment in this illustrious list of gold-backed stablecoins. This unique platform stores gold securely in Liechtenstein, which has suitable legal and security arrangements to operate seamlessly.
Novem Gold has two types of tokens: the NNN and NVM tokens. Each 100 NNN tokens correspond to a gram of gold in the company’s storage facilities. Token holders have a convenient platform to trade gold digitally. Traders have the assurance of a stable gold-backed token, which complies with a specific value ratio.
Novem Gold founders have tremendous experience in the precious metals trade. Investors can have digital ownership of LBMA-certified physical gold. Anyone can tokenize their gold at the brick-and-mortar stores Novem Gold intends to open in a number of major European cities.
To ensure that the ratio of NNN tokens to gold remains correct, Novem Gold has partnered with respected auditor Grant Thornton to carry out quarterly audits. Novem Gold conducts regular token burns to ensure the scarcity ratio is intact.
To Sum it Up
Given the fact that cryptocurrency is a very volatile asset, a stable crypto monetary system seems like a lofty ambition. Gold-backed stablecoins have the potential to change this narrative completely. Anyone with a knowledge of finance knows the reliability of gold as a store of value.
Therefore, backing crypto with a tangible asset like gold offers a viable option to those who are wary of crypto’s volatility. You can enjoy the luxury of not having to store or transport the bulky precious metal.
https://preview.redd.it/ftyv4x0scl541.jpg?width=1920&format=pjpg&auto=webp&s=ee957e07263a195d8b07bb88f96e5440a81ebf85
submitted by y0ujin to NovemGold [link] [comments]

Top 6 gold-backed stablecoins to watch in 2020

Top 6 gold-backed stablecoins to watch in 2020
The potential overlaps between cryptocurrency and gold continue to stir debate about their respective roles in the financial sector. Gold has a reputation that precedes itself. The most pre-eminent of precious metals has been a valuable standard since the earliest human civilizations.
In the current investment scene, gold plays the useful role of a safe-haven asset. Investors can hedge a certain amount of gold as a means of portfolio diversification. It might, therefore, seem like an affront to compare gold to crypto. Cryptocurrencies like Bitcoin are synonymous with volatility, which makes traditional investors like Warren Buffet steer clear.
Still, gold can work with crypto in remarkable ways. The similarities, whether in the form of decentralization, inelastic supply, and independence from mainstream stocks, make for exciting use-cases. Add gold-backed stablecoins to the scene, and the conversation is even more engaging.

What Are Gold-Backed Stablecoins?

A stablecoin is a cryptocurrency whose value corresponds to a valuable asset. The valuable asset could be anything from fiat currencies to precious metals, or even oil. USDT, the current leading stablecoin, came into prominence because its value was tethered to the US dollar.
Therefore, gold-backed stablecoins use gold as their base physical asset. Stablecoins offer more stability than a typical cryptocurrency would enjoy and, as a result, they have earned credibility with investors keen on that trait.
For gold-backed stablecoins, the typical structuring is that one token of stablecoin equals one gram of gold. The stablecoin’s price cannot fall below the prevailing rates for gold at any time. The physical gold is in the hands of a trustworthy third party.
Gold-backed stablecoins leverage gold’s stability to create unique digital currencies. Traders use stablecoins to hedge against inflation, which is a distinct risk when handling cryptocurrencies. In specific ways, they can act as reserve currencies for the cryptocurrency sector.
In a real-life example, developing countries trade with each other but use established currencies like the US dollar to facilitate trade, rather than handling the unstable native currencies of their trading partners. In the same way, high-frequency traders on a crypto exchange can use a stablecoin to reduce their exposure to volatile cryptocurrencies.
Other specific uses of stablecoins include:
  • Stablecoins can be a saving asset because they have a stable value. When handling other cryptocurrencies, an investor can rely on a stablecoin to store value until they have to make trades.
  • A stablecoin can facilitate interbank settlement as it is a reliable standard.

Top 6 Gold-Backed Stablecoins

Gold-backed stablecoins have off-chain physical gold to back up their native blockchain tokens. This detail is the common thread for gold-backed coins and is the reason behind their stability. Here are some notable entities in this field:

1. Digix Gold Tokens (DGX)

Digix is a notable gold-backed stablecoin from Singapore. The company uses blockchain technology to offer DGX tokens with gold backing. Digix has two types of tokens of offer: Digix Gold (DGX) and Digix DAO (DGD). Each DGX token equals one gram of gold.
The platform uses a unique protocol called PoA (Proof of Asset) or PoP (Proof of Provenance) to ensure smooth transactions. Digix places LBMA-approved gold bullion in its Safe House vaults to guarantee the exchange rate.
Therefore, Digix uses a real asset (gold), transfers its value to the blockchain, and evenly distributes shares among participants. Token owners participate in the platform’s development and can also exchange tokens for gold or any other coin.
Since the tokens are in the Ethereum EIP20 format, investors can also use them for Ethereum contracts. Digix outsources auditing to French certification company Bureau Veritas every three months. With a proven track record since it began operation in 2016, Digix has a prominent position among those who provide asset stablecoins.

2. GoldMint

GoldMint is a Russian blockchain platform that issues stablecoins backed by 100% physical gold or exchange-traded funds (ETFs). The founders have a wealth of experience in the gold processing industry.
GoldMint founders have connections to an extensive pawnshop business in Russia. A core component of gold ownership is smallholders in items like jewelry. Pawnshops are, therefore, a key conduit for gold movement because of gold’s universal acceptance.
The platform issues two native tokens: Gold and the MINT tokens. Gold is an investment token with full physical gold backing. A Gold token has the value of an ounce of gold by international standards. The GoldMint platform uses a private blockchain and graphene technology.
GoldMint relies on an automatic diagnostic system in its Custody Bot to process information. The information ensures the MINT blockchain issues the correct amount of Gold tokens. Masternode operators earn commissions for every transaction of the MINT blockchain. Owing to the widespread pawnshop access, GoldMint exceeded 5,000 kg of scrap gold trading annual turnover in less than two years of trading gold tokens.

3. Ekon Gold

Swiss startup Eidoo launched its gold-backed stablecoin in late 2017. The Ekon Gold stablecoin came soon after that. This token is ERC-20 compliant, and is tradable on the decentralized hybrid exchange of the project.
Ekon founders made it so that traders could only exchange Ekon for one gram of 999 gold in a special store in Switzerland in insured safe deposit boxes. An independent auditing company, PluriAudit SA, audits the platform every quarter.
Compared to some others, this company is more limited and more precise in its operations. Despite this, Eidoo raised $27.9 million during its token sale in October 2017 and gained a license from Swiss regulators. The company is keen to comply with AML regulations and complete the KYC procedure up to Tier 2.

4. Tiberius

Tiberius is yet another Swiss stablecoin. Its mother company, Tiberius Group AG, announced the issue of Tiberius tokens in September 2018. Tiberius tokens offer high stability as they boast the backing of a basket of seven precious metals, including gold. This platform is still in its formative stages of operation but is already attracting investor interest.
Just like Ekon Gold, Tiberius ensures its operations are on the right side of the relevant Swiss laws. The platform has delayed the sale of Tiberius Coin.
CEO Giuseppe Rapallo attributes this delay to the desire for more diversification, in order to make the coin even more stable. This coin is looking to anchor its value to a wide range of stable assets.

5. OneGram (OGC) — UAE

The OneGram project aims at ensuring that each token has the backing of at least one gram of physical gold. The choice of gold is deliberate because gold is one of six Ribawi assets that can be freely traded across the Muslim world.
The context is important because the UAE is an Islamic country. Making the coin Sharia compliant will endear it more widely to the native population. OneGram relies on a Proof of Stake (PoS) blockchain to facilitate fast transactions.
Notably, it features a democratic community of OneGram stakeholders who elect delegates and validators. In summary, the coin combines the stability and reputation of gold, the convenience of cryptocurrency, and Sharia compliance. OneGram can be the key that opens up the Arab and South Asian markets to cryptocurrency.

6. Novem Gold (Liechtenstein)

Novem Gold is the final installment in this illustrious list of gold-backed stablecoins. This unique platform stores gold securely in Liechtenstein, which has suitable legal and security arrangements to operate seamlessly.
Novem Gold has two types of tokens: the NNN and NVM tokens. Each 100 NNN tokens correspond to a gram of gold in the company’s storage facilities. Token holders have a convenient platform to trade gold digitally. Traders have the assurance of a stable gold-backed token, which complies with a specific value ratio.
Novem Gold founders have tremendous experience in the precious metals trade. Investors can have digital ownership of LBMA-certified physical gold. Anyone can tokenize their gold at the brick-and-mortar stores Novem Gold intends to open in a number of major European cities.
To ensure that the ratio of NNN tokens to gold remains correct, Novem Gold has partnered with respected auditor Grant Thornton to carry out quarterly audits. Novem Gold conducts regular token burns to ensure the scarcity ratio is intact.

To Sum it Up

Given the fact that cryptocurrency is a very volatile asset, a stable crypto monetary system seems like a lofty ambition. Gold-backed stablecoins have the potential to change this narrative completely. Anyone with a knowledge of finance knows the reliability of gold as a store of value.
Therefore, backing crypto with a tangible asset like gold offers a viable option to those who are wary of crypto’s volatility. You can enjoy the luxury of not having to store or transport the bulky precious metal.
https://preview.redd.it/4r359npz3l541.jpg?width=1920&format=pjpg&auto=webp&s=64c07f6b7804638ca1846486f6bfd744d98a76ac
submitted by y0ujin to NovemGold [link] [comments]

How are Ether and Ethereum related?

Ethereum is a blockchain-based platform and Ether is the cryptocurrency that actually is the fuel of this blockchain based platform. I know some of you might not agree with me and say that Ethereum is listed as Ethereum on the CoinMarketCap.
Yeah! that’s true but that is just a denomination which is sometimes or rather mostly used synonymously with the name ‘Ether’, which creates unnecessary confusion.
Now that you know a bit about their differences let’s move ahead and dive into specifics of both of them.
What is Ethereum?
Vitalik Buterin a Russian programmer and a college dropout from the University of Waterloo invented Ethereum in mid-2013.
Vitalik presented the Ethereum white paper in 2014 at the North American Bitcoin Conference in Miami, USA.
Ethereum is a new platform for writing autonomous smart contracts and decentralized apps which are self-executed when certain coded conditions are met.
What is Ether?
Ether also denoted as ETH is the cryptocurrency fuel for Ethereum’s blockchain.
Just like a vehicle needs fuel to get propelled similarly to do every single operation on Ethereum’s blockchain you require a fuel i.e Ether which powers smart contracts, DApps, and transactions on the Ethereum blockchain.
Ether (ETH) can be programmed for many use-cases like for running DApps, enabling smart contracts, generating tokens during ICOs, and also for making standard P2P payments. That’s why Ethereum (or Ether) is also called programmable money.
In short, Ethereum is a decentralized programmable blockchain-based software platform and its cryptocurrency asset (called Ether – ETH) is the one that runs the Ethereum network.
Know The Difference
So all these above explanations bring us to the following conclusion:
With all the detailed insight, it would be safe to assume that the CoinSutra readers will not get confused when someone asks them to buy Ethereum or Ether.
Read more about cryptocurrency at btcnewzcom
submitted by alifkhalil469 to BtcNewz [link] [comments]

Dapoxetine HCL [email protected]

Dapoxetine HCL gear@quality-steroid.com
Dapoxetine HCL

Quick Details :
hydrochloride
English Synonyms: DAPOXETIN;;(S-(+)-N,N-Dimethyl-a-[2-(naphthalenyloxy)ethyl]benzenemethanamine hydrochloride; hydrochloride
CAS NO.: 119356-77-3
Assay: 99%
Molecular Formula: C21H23NO HCL
Molecular Weight: 341.88
Packing: 1kg/ Foil Bag
Appearance: This product is light yellow powder, odorless, sweet, soluble in water, alcohol. Can be made into tablets, beverages, wine, capsules and other dosage forms
Usage: () as a new fast SSRI, a short half life, a selective 5 - HT reuptake inhibitor (SSRI), for the treatment of premature ejaculation and erectile dysfunction. is a selective 5 - HT reuptake inhibitor (SSRI), such drugs widely used to treat depression and related affective disorders
Web: www.rawsgear.com
Web: www.rawsgearpharma.com
Email: [[email protected]](mailto:[email protected])
Skype: +8615711952876
Whatsapp +8615711952876


Description :
hydrochloride is an oral drug for the treatment of ED, used in the treatment of erectile dysfunction and premature ejaculation, erectile function impairment and premature ejaculation has very significant improvements. There are over 1500 documents to prove the caused by different causes impotence premature ejaculation, knew the success rate is above 80%, and show its reliable curative effect, through the use of more than 20 million people worldwide, proved its long-term stability, the safety of 25 to 60 minutes of work function to coincide with a time needed for foreplay, knew the time adjustment in the highest drug concentration time, help both husband and wife a satisfactory sex life.
Initially, hydrochloride is given as a 30 mg tablet one to three hours before sexual intercourse. The dose may be increased by the prescribing doctor to 60 mg, depending on response and tolerance.
Applications :
  1. Treat male premature ejaculation and erectile dysfunction., marketed as (among and other brands) is the first compound developed specially for the treatment of premature ejaculation (PE) for men at the age of 18-64 years old. works by inhibiting the serotonin transporter, increasingserotonin’s action at the post synaptic cleft, so as to delay ejaculation.. As a member of selective serotonin reuptake inhibitor (SSRI) family, was initially created as an antidepressant. However, unlike other SSRIs, is absorbed and eliminated rapidly in the body. Its fast response makes it suitable for the treatment of PE but not as an antidepressant.
  2. Due to the lack of specific approval treatment for PE in the US and some other countries, other SSRIs such as Fluoxetine, Paroxetine, Sertraline, Fluvoxamine, and Citalopram have been used as clinical drugs to treat PE. Waldinger’s meta analysis shows that the use of these conventional antidepressants increases IELT from two to nine times above base line in comparison of three to eight times when is used. However, these SSRIs must be taken daily in order to achieve meaningful efficacy, and the long half-life increases the risk of the drug accumulation and as a consequence an increased adverse effects such as decreasing sexual libido and causing erectile dysfunction. , on the other hand, is a fast-acting SSRI. It is rapidly absorbed and eliminated from the body within a few hours. This favorable pharmacokinetics minimizes the risk of the drug’s accumulation in the body, and therefore reducing side effects.
Usage :

hydrochloride is a drug that is used to treat premature ejaculation in men. It is available by prescription and is taken orally, prior to sexual intercourse. The drug belongs to the class called serotonin reuptake inhibitors (SSRIs), which have mainly been used to treat depression.

Sexual dysfunction, including premature ejaculation, is an extremely common condition worldwide. The cause of premature ejaculation has not been fully elucidated, but may include both psychological and physiological factors. Premature ejaculation refers to a short ejaculation time, which can affect the satisfaction of both partners during sexual intercourse.
How to use :

The best time to consume is to take the drug 60 to 120 minutes before the planned sex. is capable to delay the ejaculate after penetration hence providing more time to the couple to enjoy and have fun. However, in most men the effect loses after 3 to 5 hours however some have claimed to retain the effect for as long as 8 hours. Research has revealed that , in its oral form has found to give better result in more than 75% of men. However, it may react in different person with different intensity, but has found to provide satisfactory results in most of the cases.
How to proceed an order?
First: Please let me know the itmes you are looking for, quantity, and the destination country
.
Second: You confirm all details, and offer us purchasing order;
Third: We send the detail price of our product and offer suitable shipping method reference.
Forth: You confirm the order and pay money 100% in advance and send us detail address.
Fifth: We arrange the shipment according to your requirements.
Sixth: We offer after-sales service after you receive parcel;

Our Advantages :

  1. Packing
Professional packing with professional materials, and We'll give clients several Packing way to choose after you contact me through my email.

  1. Quality
Our company is a professional leading factory in China in pharmaceutical area, ach batch of steroid powders have to tested by our QC(quality control) department before they are allowed to sell.

  1. Delivery
We can pack your powders within 48 hours after your payment, and corresponding picture of your powders' parcel will be sent to you.

  1. Price
Best prices you're sure to be satisfied, the more you buy, the more competitive prices you get.

  1. Payment
T/T, paypal, Money Gram,Bitcoin, Western Union.
https://preview.redd.it/yld4k0ez2db31.jpg?width=700&format=pjpg&auto=webp&s=d91f9483c2a3e83144e36b05dde9f7c66ae21360
submitted by Flora007 to u/Flora007 [link] [comments]

T3 /Liothyronine sodium/Cytomel [email protected]

T3 /Liothyronine sodium/Cytomel gear@quality-steroid.com
T3 /Liothyronine sodium/Cytomel

Quick Detail
Liothyronine/Cytomel /T3

Synonyms: Liothyronine sodium; Thyroid hormone; Cytomel; T3 sodium salt; L-Tyrosine; Triostat; Tri-Iodo-Tironina; TriIodoTironina

CAS: 55-06-1

EINECS: 200-223-5

Assay: 99% min.

Standard: USP30

MF: C15H11I3NNaO

MW: 672.96

Character: White to beige powder

Policy: Reshipping Policy

Usage: One of the hormones produced by the thyroid gland that is involved in the maintenance of metabolic homeostasis. Also produced in peripheral tissues as the active metabolite of Thyroxine.

Web: www.rawsgear.com
Web: www.rawsgearpharma.com
Email: [[email protected]](mailto:[email protected])
Skype: +8615711952876
Whatsapp +8615711952876

Descriptions
T3 in the body is responsible for regulating the uptake of various nutrients into cells and into the mitochondria of those cells in order to effectively become utilized for the production and consumption of energy.
The mitochondria of every single cell in the body utilizes carbohydrates (primarily), fat, and even protein for the production of an energy source known as ATP (Adenosine Triphosphate). Through the intake of more T3, this production of ATP will increase, leading to an increased rate of energy consumption in the form of fats, carbohydrates, and protein. Hence, this is why the consumption of too much T3 without the use of anabolic steroids can result in muscle loss.

The bodybuilding and athletic world is attracted to the use of T3 as a physique and/or performance enhancing drug because of its capability to distinctly boost the body's metabolism in the effort to metabolize body fat at a greater rate.

T3 is traditionally utilize during cutting, dieting, and/or pre-contest phases of training due to the universal goal of these phases to break down body fat, though in recent years Cytomel has gained some popularity as a useful agent during bulking and mass gaining phases of training (normally in conjunction with anabolic steroids) in order to better efficiently process nutrients and/or to keep body fat levels down during periods of higher caloric intake.
Cytomel (T3) is commonly used with anabolic steroids due to its significant impact on the body's metabolism as a whole. It is very important to understand that T3 is indiscriminate in its metabolism boosting properties - it will increase the metabolism of fats, carbohydrates, and protein all equally.

Therefore, beyond a particular dose of T3, there is an increased risk of muscle loss through increased turnover of protein. Through the use of anabolic steroids and a properly adjusted diet, this muscle loss as a result of T3 can be prevented as a result of the nitrogen-retaining and protein sparing properties of theanabolic steroids.
Cytomel (T3) is also commonly combined with other fat loss agents in order to increase its overall effect, as it does work synergistically with other fat loss agents.
Applications
Cytomel (T3) does speed fat loss. As a guideline, for most 12.5 mcg/day is a conservative "supplement" sort of dosing that seems to have no detectable adverse effect on thyroid function at all. 25 mcg/day is a "supplement" sort of dosing that does have some inhibitory effect. 50 mcg/day is a reasonably conservative bb'ing sort of dose that, of course, is more inhibitory. 75 mcg/day is getting into more of a problem area; 100 mcg/day in many cases leads to loss of muscle size and strength.
These doses are in reference to legit T3 provided in tablets such as Cytomel. Liquid formulations are usually unstable and as a result, the above numbers in many cases won't match up to experiences with liquid products, or for that matter, experience with a liquid product at one time may not match up with experience at a different time, due to the stability problem.
Individuals do vary in this but 100 mcg/day is very often quite weakening and muscle-catabolic. So far as wanting more rapid fat loss than what is achieved with 50 mcg/day, personally I'd look elsewhere than adding more T3.

Dosages of T3
In the first approach, the goal is to achieve an ongoing edge in fat loss or to help maintain a near-personally-ideal body composition. In this approach, T3 dosing is very low, preferably 12.5 mcg/day but in some cases as much as 25 mcg/day. At the lower end of this range, typically thyroid testing will show no detectable suppression even with prolonged use. At the higher end, moderate suppression is sometimes seen, but results are superior to when T3 is not taken, and the suppression reverses rapidly upon discontinuing T3 use.
In the second approach, the goal is to achieve a quite substantial increase in rate of fat loss, at the known cost of inducing thyroid suppression. Most preferably the dosage is about 50 mcg/day, but in some instances can be as high as 75 mcg/day. Such use is preferably not ongoing, but only for a limited period of time such as 8-12 weeks, though there's no exact requirement for timeframe.

Company Brife Introduction
Wuhan Yuancheng Gongchuang Technology Co., Ltd. One of decisions of YUANCHENG GROUP, is a leading Chinese chemical supplier specialized in hormone powder steroids, the company integrate R&D, producing, operating and marketing into an organic whole. We have authority of export and import, and have experience of export for more than 10 years. Yuancheng Group is an integration of manufacturer and exporter of chemical products. Its fixed assets are RMB300 million. Yuancheng headquarter is located in the city of Wuhan, a central city and also a transportation heart in China. The headquarter is near the Wuhan railway station. Yuancheng factory is in Xiaonan District Xiaogan City.

Our advantage
1) Wuhan Yuancheng Gongchuang Technology Co., Ltd is a professional raw powder factory in China for over 10 years, all powders are factory directly supplying.

2) Our products have exported to Germany, Norway, Poland, Finland, Spain, UK, France, Russia, USA, Australia, Japan, Korea and many other countries, over 100kgs each month.

3) Professional team special for package and shipment and staring on tracking code 24hours for customs pass. 100% pass to UK, Norway, Poland, Spain, USA, Canada, Brazil; 98% pass to Germany, Russia, Australia, New Zealand.

4) Most of powders are in stock, Chargeable samples are available, Could be shipped out within 24hours.

5) High quality, good price, fast and safety delivery. Shipment by DHL, TNT, FedEx, HKEMS, UPS, etc.

Packaging And Delivery
1) Shipping by express (FedEx, UPS, DHL, EMS), by air; By ship.

2) Shipment will be arranged within 24 hours after receiving the payment;

3) Pictures of the package will be sent to you then along with the tracking number; Super discreet packaging, to ensure safe delivery, 99% successful delivery rate is ensured. Delivery time: All of the orders will be packed within 24 hours after we get the payment usually it takes about3~5work days for you to get the parcel. Payment method: Bank wire, Western union, Moneygram, Bitcoin.
https://preview.redd.it/7qsyngdgadb31.jpg?width=700&format=pjpg&auto=webp&s=8626fd89ccf1576b94286c17d027006b0b8b1d61
submitted by Flora007 to u/Flora007 [link] [comments]

Aniracetam [email protected]

Aniracetam

What is Aniracetam

This nootropic falls into the racetam class, as it has the common pyrrolidone structure. Aniracetam tends to be more potent than piracetam, which is another nootropic within the group of racetams. In fact, it is considered to be anywhere from three to ten times more potent.

It is known to improve multiple cognitive functions. It has numerous benefits such as; enhancing mental function, decreasing levels of anxiety, improving memory, and even mood. Since Aniracetam is fat-soluble is crosses the blood-brain barrier with ease, having longer lasting effects.
Quick Details
Name Aniracetam
Synonyms 1-(4-methoxybenzoyl)-2-pyrrolidinon
CAS NO. 72432-10-1
Molecular formula C12H13NO3
Molecularweight 219.24
Purity 99%min
Appearance White crystalline powder
Use Aniracetam is a member of the nootropic family that compares favorably to the standard set by Piracetam in many aspects
Description

Aniracetam seems to enhance the results of corticol GABAergic hang-up separate from NMDA. Aniracetam definitely seems to be in a position to potentiate signalling through nicotinic α4β2 receptors with 3.1nM through friendships with GS healthy proteins, separate from necessary protein kinases.
Aniracetam has been shown with 50mg/kg oral consumption (subjects) to lower the particular turn over prices for dopamine within the striatum and minimizing dopamine levels in the hypothalamus gland as well as striatum; serotonin levels lowered in the hypothalamus gland however improved inside the cortex along with striatum, exactly where it reduced return (hypothalamus gland) and also boost return (cortex, striatum, brain base).[ Aniracetam seems to be able to reduce destruction implemented to memory and also studying incapacity brought on by various real estate agents along with shock to the system including cholinergic antagonists, cerebral ischaemia along with electroconvulsive shock.
Aniracetam Application
1) Improving Memory
2) Improving the brain function
3) Preventing and treating senile demential
4) Enhancing the learning ability
5) Increasing the attention
6) Relieving the anxiety
Aniracetam Dosage
Unlike piracetam, which requires a high dosage of many grams per day, aniracetam is highly potent and requires much less. A typical aniracetam dosage might look something like this:
750 mg x twice per day
Keep in mind that aniracetam peaks in your bloodstream around 40 minutes after taking the drug [12], you might want to vary your doses during the hardest work sessions that you have (perhaps 3 - 4 hours apart). That way you can re-up your dosage rather than taking it all at once.
Many beginners use a small aniracetam dosage so as to avoid the risk of adverse effects. Even a normal aniracetam dosage will probably cause few side effects, but it is worthwhile for beginners to protect themselves in any way possible.
How Does Aniracetam Work?
Each nootropic compound that you ingest has what is referred to as a "mechanism of action". The aniracetam mechanism of action is essentially how it works to make a change in your brain and body.

Aniracetam is unique because the mechanism of action is more well-known than many others in the family. It is a nootropic that excites the AMPA receptors (ampakines) in the brain. This is the main mechanism that is responsible for the downstream effects, such as improved mood, less anxiety, and reduced depression.

This AMPA modulation of aniracetam also allows for increased BDNF (as described in the benefits section). It is through AMPA (and secondary mechanisms) that aniracetam sees most of its benefits.
Aniracetam Benefits
Aniracetam can have many off-label uses. It is considered a fairly safe and low toxicity substance to improve cognition and memory or reduce anxiety symptoms. Like other racetams, it can have an added benefit of reducing free radicals and oxidative stress in the brain which can lead to degenerative diseases and neurological complications. It should not be used as a main line of defence or treatment for degenerative diseases like Alzheimer's and Dementia but may have merit in reducing some of the symptoms associated. Below, are some of the common observed benefits of Aniracetam. Results may vary.

Competitive Advantage
  1. Our company is a professional production leading factory in China in pharmaceutical area of many years.
Delivery areas of our products: US, UK, Canada, Australia, Brazil, Russia, Portugal, Latvia, Switzerland, Iceland, Ukraine, Germany, France, Netherlands, Belgium, Peru, Sweden, New Zealand, the Czech Republic, Lithuania, Ireland, Tunisia, Mexico, Greece, Puerto Rico, Thailand, Israel and so on.
Payment method: T/T, Western union, Moneygram, bitcoin etc.
  1. Discreet package. The packing suits you best would be choosen to cross customs safely. Or if you have your own ideal way, it could be also take into consideration.
  2. Top quality. High quality guarenteed, once any problem is found, the package would be reshipped for you.
  3. Security Shipping: Shipping by express (FedEx, UPS, DHL, EMS), by air. The most professional forwarder would be recommanded for you.
  4. We have stock, so we can delivery quickly at the very day when receive the payment.
  5. Warm after-sale service for you 24/7. Any of your question would be solved for the first as soon as possible.
  6. A discount would be given when you make a large order.
Web: www.rawsgear.com
Web: www.rawsgearpharma.com
Email: [[email protected]](mailto:[email protected])
Skype: +8615711952876
Whatsapp +8615711952876
submitted by Flora007 to u/Flora007 [link] [comments]

Trenbolone Hexahydrobenzyl Carbonate (parabolan) [email protected]

Trenbolone Hexahydrobenzyl Carbonate (parabolan) gear@quality-steroid.com
Trenbolone Hexahydrobenzyl Carbonate (parabolan)

Quick Details:
Product Name:Trenbolone Hexahydrobenzyl Carbonate
Synonyms:Trenbolone Cyclohexylmethylcarbonate; Trenbolone hexahydrobenzylcarbonate,Parabolan
CAS:23454-33-3
MF”C26H34O4
MW:410.55
Einecs:245-669-1
Specification:1kg/ foil bag or As your requirement
Purity (HPLC):99.00%min
Appearance:White to light yellow crystalline powder
Grade:Pharmaceutical Grade
Lead Time:Within 12hours after you payment
Delivery Time:4-7 working days
Packing:Very discreet or as your requirement
Shipping:DHL / TNT / UPS / HKEMS / FEDEX / ETC.
After-sales service:24/7 online for you to solve problems.
Payment:Western Union, Moneygram, T/T,Bitcion
Export Markets:Pharmlab

Web: www.rawsgear.com
Web: www.rawsgearpharma.com
Email: [[email protected]](mailto:[email protected])
Skype: +8615711952876
Whatsapp +8615711952876

Product Description:

1.Product features One of the most powerful (and hard and expensive to obtain) substances in the trenbolone family, Parabolan is considered to be a superior product in many ways. Much like Finaplix, Parabolan can deliver very intense, lean gains without aromatizing in the body. Its half-life is very long, so injections can be spread out over the course of a week every two to three days should be sufficient.
2.The biggest concern with Parabolan is that it may be liver and kidney toxic at high doses, although most users report mild to no side effects associated with its use. On its own, Parabolan won't aromatize, but when stacked with aromatizing compounds it may exaggerate gynocomastia. Adding Nolvadex or Winstrol will help counter this. Also, Parabolan is a strong androgen receptor agonist, so using HCG at the end of a cycle is recommended.
Product Applications
Trenbolone is a steroid used by veterinarians on livestock to increase muscle growth and appetite, to increase the half-time, trenbolone is not used in an unrefined form, but is rather administered as ester derivatives such as trenbolone acetate, trenbolone enanthate ortrenbolone cyclohexylmethylcarbonate, a normal bodybuilding dosage can range from 200mg/week to 1400mg/ week. Trenbolone acetate can be injected once a week, also trenbolone acetate is often refined to as "Fina" by user, trenbolone compounds have a binding affinity for the androgen receptor five times as high as that of testosterone.
Reference Dosage of Trenbolone Hexahydrobenzyl Carbonate Parabolan
Reference Cycle :
As part of a mass take this product combines very well with Testosterone, Boldenone, Nandrolone ou Masteron or tablets with theAndrolic, Anabol ou Dianabol and for an increase in strength also combine it with theAnavar.
Under a dry weight gain product combines with Winstrol, Primobolan ou Primabolan, Clenbutéroor the Cytomel.
This product takes weeks minimum and maximum 8 12 weeks.
Dosage: 100-600 mg weekly
Necessary protection during the cycle
Do not forget to take the necessary protections are essential to protect your body from harmful effects.
Nolvadex : Take 1 stamp per day throughout the treatment.
Proviron : Take 1 stamp per day throughout the treatment.
Samarin 140 ou Legalon 70 : Take between 2 and 4 tablets per day for the cure to protect your liver.
Recovery after cycle
Make your testosterone recovery after your cycle.
Clomid : Take 1 20 stamp a day for days.

Competitive Advantage
  1. Our company is a professional production leading factory in China in pharmaceutical area of many years. Delivery areas of our products: US, UK, Canada, Australia, Brazil, Russia, Portugal, Latvia, Switzerland, Iceland, Ukraine, Germany, France, Netherlands, Belgium, Peru, Sweden, New Zealand, the Czech Republic, Lithuania, Ireland, Tunisia, Mexico, Greece, Puerto Rico, Thailand, Israel and so on.
Payment method: T/T, Western union, Moneygram, bitcoin etc.
  1. Discreet package. The packing suits you best would be choosen to cross customs safely. Or if you have your own ideal way, it could be also take into consideration.
  2. Top quality. High quality guarenteed, once any problem is found, the package would be reshipped for you.
  3. Security Shipping: Shipping by express (FedEx, UPS, DHL, EMS), by air. The most professional forwarder would be recommanded for you.
  4. We have stock, so we can delivery quickly at the very day when receive the payment.
  5. Warm after-sale service for you 24/7. Any of your question would be solved for the first as soon as possible.
  6. A discount would be given when you make a large order.
Packaging & Delivery

  1. Shipping by express (FedEx, UPS, DHL, EMS), by air; By ship.

  1. Shipment will be arranged within 24 hours after receiving the payment;

  1. Pictures of the package will be sent to you then along with the tracking number; Super discreet packaging, to ensure safe delivery, 99% successful delivery rate is ensured.
Deliverytime: Alloftheorderswillbepackedwithin24hours after we get the payment usually it takes about3~5work days for you to get the parcel.
Payment method: Bank wire, Western union, Moneygram

  1. How to proceed order:
First: Please let me know the itmes you are looking for, quantity, and the destination country.
Second: You confirm all details, and offer us purchasing order;
Third: We send the detail price of our product and offer the suitable shipping method for reference.
Forth: You confirm the order and pay money 100% in advance and send us the detail address.
Fifth: We arrange the shipment according to your requirements. Sixth: We offer after-sales service after you receive parcel

https://preview.redd.it/de3jh1ezzcb31.jpg?width=700&format=pjpg&auto=webp&s=9abcca64528bee17118b14de075d7d3a7e091e26
submitted by Flora007 to u/Flora007 [link] [comments]

Tamoxifen Citrate (Nolvadex) [email protected]

Tamoxifen Citrate (Nolvadex) gear@quality-steroid.com
Tamoxifen Citrate (Nolvadex)

Quick Details
Product Name: Tamoxifen citrate
Synonyms: 1-p-beta-dimethylaminoethoxyphenyl-trans-1,2-diphenylbut-1-ene citrate; kessar; noltam; tamofen
CAS: 54965-24-1
MF: C32H37NO8
MW: 563.64
EINECS: 259-415-2
Product Categories: Active Pharmaceutical Ingredients; Antitumors for Research and Experimental Use; Biochemistry; API's; Intracellular receptor; Steroid and Hormone; API; SOLTAMOX
Mol File: 54965-24-1.mol
Web: www.rawsgear.com
Web: www.rawsgearpharma.com
Email: [[email protected]](mailto:[email protected])
Skype: +8615711952876
Whatsapp +8615711952876

Know more about Tamoxifen Citrate
(1)Similar with Clomid
Nolvadex (tamoxifen citrate) is very comparable to Clomid, behaves in the same manner in all tissues, and is a mixed estrogen agonist/antagonist of the same type as Clomid. The two molecules are also very similar in structure. It is not correct that Nolvadex reduces levels of estrogen: Rather, it blocks estrogen from estrogen receptors and, in those tissues where it is an antagonist, causes the receptor to do nothing.
(2) Bodybuilders have made excellent gains while using Nolvadex
The claim that Nolvadex reduces gains should not be taken too seriously. The fact is that any number of bodybuilders have made excellent gains while using Nolvadex.
The belief that it reduces gains seems to stem from the fact that the scientific literature reports a slight reduction from use of Nolvadex.
Tamoxifen Citrate Clinical application
  1. Treatment of breast cancer.
  2. Prevention of breast cancer.
  3. Anti-tumor and anti-multidrug resistance.
By reducing membrane negotiability and enhancing rigidity of inter-cell binding site, Tamoxifen citrate can reduce concentration and activity of cancer metastasis promoter and various activating enzymes, so as to inhibit or hinder growth and metastasis of cancer cell. In addition, it can promote cells surrounding tumor focus to secrete a negative growth factor-transforming growth factor TGF-G, inhibiting multiply indefinitely of cancer cells; inhibiting oxidative damage of DNA bases which is caused by hydrogen peroxide generated from human neutrophils. So except for breast cancer, it is good for treatment and prevention of other malignant neoplasms, and is used for treatment of brain tumors, liver cancer, prostate cancer, etc. In addition, Tamoxifen citrate can reduce release effect of membrane P170 glycoprotein through reducing membrane negotiability, improving intracellular effective concentration of cytotoxic drug and reducing drug resistance.
  1. Heart protection.

Use/Dosing

In terms of dosing for combating gynocomastia that has begun to form, there is very little research. The limited research that does exist does point to the fact that doses of 20-40mgs per day are effective in treating the existing condition . However, anecdotally users have reported sometimes using doses of 60-80mgs per day. These doses may have more to do with users' impatience rather than the need for higher doses, as no research indicates that such doses are needed. It should be noted as well however that tamoxifen citrate may have no effect on existing gynocomastia in some individuals. Many users have indicated that the compound will only help alleviate symptoms if the gynocomstia has not been apparent for a long period of time. Of course, this is all subjective and the effectiveness of the drug can only be determined on a trial and error basis.

For use during post-cycle therapy users have anecdotally indicated that doses ranging between 20 and 40mgs per day are average. These doses have been shown to significantly raise levels of testosterone, luteinizing hormone and follicle stimulating hormone. Most users have reported when using tamoxifen citrate for their post-cycle therapy they will administer the drug for a minimum of three weeks. A maximum length has not necessarily been established due to the few side effects associated with the compound. In this case, this compound can be run for as long as wanted with little to no concern being needed to be paid to potential side effects.

About the dosing, you need to make a choice in combination with your body condition, or consult your trainer / doctor. This article is for reference only.
Competitive Advantage
  1. Our company is a professional production leading factory in China in pharmaceutical area of many years.
Delivery areas of our products: US, UK, Canada, Australia, Brazil, Russia, Portugal, Latvia, Switzerland, Iceland, Ukraine, Germany, France, Netherlands, Belgium, Peru, Sweden, New Zealand, the Czech Republic, Lithuania, Ireland, Tunisia, Mexico, Greece, Puerto Rico, Thailand, Israel and so on.
Payment method: T/T, Western union, Moneygram, bitcoin etc.
  1. Discreet package. The packing suits you best would be choosen to cross customs safely. Or if you have your own ideal way, it could be also take into consideration.
  2. Top quality. High quality guarenteed, once any problem is found, the package would be reshipped for you.
  3. Security Shipping: Shipping by express (FedEx, UPS, DHL, EMS), by air. The most professional forwarder would be recommanded for you.
  4. We have stock, so we can delivery quickly at the very day when receive the payment.
  5. Warm after-sale service for you 24/7. Any of your question would be solved for the first as soon as possible.
  6. A discount would be given when you make a large order.

https://preview.redd.it/mdwox0vx1db31.jpg?width=700&format=pjpg&auto=webp&s=2f71b039770f39e41002e3b16e9e2135ace81ae5
submitted by Flora007 to u/Flora007 [link] [comments]

Alle technischen Details und Funktionsweisen von Bitcoin wurden von Satoshi Nakamoto im Bitcoin Whitepaper, das am 31. Oktober 2008 veröffentlicht wurde, festgehalten. Lies dir dazu den Artikel “Was ist Bitcoin” durch. Bitmain . Bitmain ist einer der größten Hersteller von Bitcoin Mining Hardware. Es gibt immer wieder Diskussionen über die Zentralität dieser speziellen Industrie ... 14) Der Bitcoin Block Explorer zeigt oben links den jeweils zuletzt generierten Block und die Anzahl der darin enthaltenen Transaktionen an. Ein Klick auf die Blocknummer zeigt weitere Details, wie den Zeitstempel, die Transaktionsgebühren und die Bitcoin-Adresse, wo Gebühren und die 25 neu generierten BTC hin überwiesen werden. Diese Transaktion ist zugleich die erste und manchmal auch ... „Die Kryptowährung Bitcoin hat über das Wochenende deutlich zugelegt.“ cash.ch, 16. Juni 2019 „Im Einjahresvergleich schneiden die Plastikschuhe im Vergleich zur Kryptowährung besser ab.“ DiePresse.com, 20. August 2018 „Forscher warnen, die Kryptowährung könnte den Kampf gegen den Klimawandel sabotieren.“ Bernerzeitung.ch, 12. November 2018 „Der Bitcoin ist wachgeküsst ... Digital money that’s instant, private, and free from bank fees. Download our official wallet app and start using Bitcoin today. Read news, start mining, and buy BTC or BCH. Neben Bitcoin werden weltweit rund 4.500 Kryptowährungen gehandelt und rund 1.000 von diesen, erzielen täglich einen Handelsumsatz von mehr als 10.000 US-Dollar. Zu finden sind diese auf einschlägigen Handelsplattformen. Sie müssen auch nicht gleich 10.000$ investieren, um vom Bitcoin Anstieg zu profitieren. Sie können auch 0.1 Bitcoin für 1.000$ beispielsweise kaufen. Neben den privaten ...

[index] [50842] [42150] [31712] [17834] [42842] [31390] [30650] [18864] [32271] [41915]

#