Bitcoin Definition - investopedia.com

Why i’m bullish on Zilliqa (long read)

Edit: TL;DR added in the comments
 
Hey all, I've been researching coins since 2017 and have gone through 100s of them in the last 3 years. I got introduced to blockchain via Bitcoin of course, analyzed Ethereum thereafter and from that moment I have a keen interest in smart contact platforms. I’m passionate about Ethereum but I find Zilliqa to have a better risk-reward ratio. Especially because Zilliqa has found an elegant balance between being secure, decentralized and scalable in my opinion.
 
Below I post my analysis of why from all the coins I went through I’m most bullish on Zilliqa (yes I went through Tezos, EOS, NEO, VeChain, Harmony, Algorand, Cardano etc.). Note that this is not investment advice and although it's a thorough analysis there is obviously some bias involved. Looking forward to what you all think!
 
Fun fact: the name Zilliqa is a play on ‘silica’ silicon dioxide which means “Silicon for the high-throughput consensus computer.”
 
This post is divided into (i) Technology, (ii) Business & Partnerships, and (iii) Marketing & Community. I’ve tried to make the technology part readable for a broad audience. If you’ve ever tried understanding the inner workings of Bitcoin and Ethereum you should be able to grasp most parts. Otherwise, just skim through and once you are zoning out head to the next part.
 
Technology and some more:
 
Introduction
 
The technology is one of the main reasons why I’m so bullish on Zilliqa. First thing you see on their website is: “Zilliqa is a high-performance, high-security blockchain platform for enterprises and next-generation applications.” These are some bold statements.
 
Before we deep dive into the technology let’s take a step back in time first as they have quite the history. The initial research paper from which Zilliqa originated dates back to August 2016: Elastico: A Secure Sharding Protocol For Open Blockchains where Loi Luu (Kyber Network) is one of the co-authors. Other ideas that led to the development of what Zilliqa has become today are: Bitcoin-NG, collective signing CoSi, ByzCoin and Omniledger.
 
The technical white paper was made public in August 2017 and since then they have achieved everything stated in the white paper and also created their own open source intermediate level smart contract language called Scilla (functional programming language similar to OCaml) too.
 
Mainnet is live since the end of January 2019 with daily transaction rates growing continuously. About a week ago mainnet reached 5 million transactions, 500.000+ addresses in total along with 2400 nodes keeping the network decentralized and secure. Circulating supply is nearing 11 billion and currently only mining rewards are left. The maximum supply is 21 billion with annual inflation being 7.13% currently and will only decrease with time.
 
Zilliqa realized early on that the usage of public cryptocurrencies and smart contracts were increasing but decentralized, secure, and scalable alternatives were lacking in the crypto space. They proposed to apply sharding onto a public smart contract blockchain where the transaction rate increases almost linear with the increase in the amount of nodes. More nodes = higher transaction throughput and increased decentralization. Sharding comes in many forms and Zilliqa uses network-, transaction- and computational sharding. Network sharding opens up the possibility of using transaction- and computational sharding on top. Zilliqa does not use state sharding for now. We’ll come back to this later.
 
Before we continue dissecting how Zilliqa achieves such from a technological standpoint it’s good to keep in mind that a blockchain being decentralised and secure and scalable is still one of the main hurdles in allowing widespread usage of decentralised networks. In my opinion this needs to be solved first before blockchains can get to the point where they can create and add large scale value. So I invite you to read the next section to grasp the underlying fundamentals. Because after all these premises need to be true otherwise there isn’t a fundamental case to be bullish on Zilliqa, right?
 
Down the rabbit hole
 
How have they achieved this? Let’s define the basics first: key players on Zilliqa are the users and the miners. A user is anybody who uses the blockchain to transfer funds or run smart contracts. Miners are the (shard) nodes in the network who run the consensus protocol and get rewarded for their service in Zillings (ZIL). The mining network is divided into several smaller networks called shards, which is also referred to as ‘network sharding’. Miners subsequently are randomly assigned to a shard by another set of miners called DS (Directory Service) nodes. The regular shards process transactions and the outputs of these shards are eventually combined by the DS shard as they reach consensus on the final state. More on how these DS shards reach consensus (via pBFT) will be explained later on.
 
The Zilliqa network produces two types of blocks: DS blocks and Tx blocks. One DS Block consists of 100 Tx Blocks. And as previously mentioned there are two types of nodes concerned with reaching consensus: shard nodes and DS nodes. Becoming a shard node or DS node is being defined by the result of a PoW cycle (Ethash) at the beginning of the DS Block. All candidate mining nodes compete with each other and run the PoW (Proof-of-Work) cycle for 60 seconds and the submissions achieving the highest difficulty will be allowed on the network. And to put it in perspective: the average difficulty for one DS node is ~ 2 Th/s equaling 2.000.000 Mh/s or 55 thousand+ GeForce GTX 1070 / 8 GB GPUs at 35.4 Mh/s. Each DS Block 10 new DS nodes are allowed. And a shard node needs to provide around 8.53 GH/s currently (around 240 GTX 1070s). Dual mining ETH/ETC and ZIL is possible and can be done via mining software such as Phoenix and Claymore. There are pools and if you have large amounts of hashing power (Ethash) available you could mine solo.
 
The PoW cycle of 60 seconds is a peak performance and acts as an entry ticket to the network. The entry ticket is called a sybil resistance mechanism and makes it incredibly hard for adversaries to spawn lots of identities and manipulate the network with these identities. And after every 100 Tx Blocks which corresponds to roughly 1,5 hour this PoW process repeats. In between these 1,5 hour, no PoW needs to be done meaning Zilliqa’s energy consumption to keep the network secure is low. For more detailed information on how mining works click here.
Okay, hats off to you. You have made it this far. Before we go any deeper down the rabbit hole we first must understand why Zilliqa goes through all of the above technicalities and understand a bit more what a blockchain on a more fundamental level is. Because the core of Zilliqa’s consensus protocol relies on the usage of pBFT (practical Byzantine Fault Tolerance) we need to know more about state machines and their function. Navigate to Viewblock, a Zilliqa block explorer, and just come back to this article. We will use this site to navigate through a few concepts.
 
We have established that Zilliqa is a public and distributed blockchain. Meaning that everyone with an internet connection can send ZILs, trigger smart contracts, etc. and there is no central authority who fully controls the network. Zilliqa and other public and distributed blockchains (like Bitcoin and Ethereum) can also be defined as state machines.
 
Taking the liberty of paraphrasing examples and definitions given by Samuel Brooks’ medium article, he describes the definition of a blockchain (like Zilliqa) as: “A peer-to-peer, append-only datastore that uses consensus to synchronize cryptographically-secure data”.
 
Next, he states that: "blockchains are fundamentally systems for managing valid state transitions”. For some more context, I recommend reading the whole medium article to get a better grasp of the definitions and understanding of state machines. Nevertheless, let’s try to simplify and compile it into a single paragraph. Take traffic lights as an example: all its states (red, amber, and green) are predefined, all possible outcomes are known and it doesn’t matter if you encounter the traffic light today or tomorrow. It will still behave the same. Managing the states of a traffic light can be done by triggering a sensor on the road or pushing a button resulting in one traffic lights’ state going from green to red (via amber) and another light from red to green.
 
With public blockchains like Zilliqa, this isn’t so straightforward and simple. It started with block #1 almost 1,5 years ago and every 45 seconds or so a new block linked to the previous block is being added. Resulting in a chain of blocks with transactions in it that everyone can verify from block #1 to the current #647.000+ block. The state is ever changing and the states it can find itself in are infinite. And while the traffic light might work together in tandem with various other traffic lights, it’s rather insignificant comparing it to a public blockchain. Because Zilliqa consists of 2400 nodes who need to work together to achieve consensus on what the latest valid state is while some of these nodes may have latency or broadcast issues, drop offline or are deliberately trying to attack the network, etc.
 
Now go back to the Viewblock page take a look at the amount of transaction, addresses, block and DS height and then hit refresh. Obviously as expected you see new incremented values on one or all parameters. And how did the Zilliqa blockchain manage to transition from a previous valid state to the latest valid state? By using pBFT to reach consensus on the latest valid state.
 
After having obtained the entry ticket, miners execute pBFT to reach consensus on the ever-changing state of the blockchain. pBFT requires a series of network communication between nodes, and as such there is no GPU involved (but CPU). Resulting in the total energy consumed to keep the blockchain secure, decentralized and scalable being low.
 
pBFT stands for practical Byzantine Fault Tolerance and is an optimization on the Byzantine Fault Tolerant algorithm. To quote Blockonomi: “In the context of distributed systems, Byzantine Fault Tolerance is the ability of a distributed computer network to function as desired and correctly reach a sufficient consensus despite malicious components (nodes) of the system failing or propagating incorrect information to other peers.” Zilliqa is such a distributed computer network and depends on the honesty of the nodes (shard and DS) to reach consensus and to continuously update the state with the latest block. If pBFT is a new term for you I can highly recommend the Blockonomi article.
 
The idea of pBFT was introduced in 1999 - one of the authors even won a Turing award for it - and it is well researched and applied in various blockchains and distributed systems nowadays. If you want more advanced information than the Blockonomi link provides click here. And if you’re in between Blockonomi and the University of Singapore read the Zilliqa Design Story Part 2 dating from October 2017.
Quoting from the Zilliqa tech whitepaper: “pBFT relies upon a correct leader (which is randomly selected) to begin each phase and proceed when the sufficient majority exists. In case the leader is byzantine it can stall the entire consensus protocol. To address this challenge, pBFT offers a view change protocol to replace the byzantine leader with another one.”
 
pBFT can tolerate ⅓ of the nodes being dishonest (offline counts as Byzantine = dishonest) and the consensus protocol will function without stalling or hiccups. Once there are more than ⅓ of dishonest nodes but no more than ⅔ the network will be stalled and a view change will be triggered to elect a new DS leader. Only when more than ⅔ of the nodes are dishonest (66%) double-spend attacks become possible.
 
If the network stalls no transactions can be processed and one has to wait until a new honest leader has been elected. When the mainnet was just launched and in its early phases, view changes happened regularly. As of today the last stalling of the network - and view change being triggered - was at the end of October 2019.
 
Another benefit of using pBFT for consensus besides low energy is the immediate finality it provides. Once your transaction is included in a block and the block is added to the chain it’s done. Lastly, take a look at this article where three types of finality are being defined: probabilistic, absolute and economic finality. Zilliqa falls under the absolute finality (just like Tendermint for example). Although lengthy already we skipped through some of the inner workings from Zilliqa’s consensus: read the Zilliqa Design Story Part 3 and you will be close to having a complete picture on it. Enough about PoW, sybil resistance mechanism, pBFT, etc. Another thing we haven’t looked at yet is the amount of decentralization.
 
Decentralisation
 
Currently, there are four shards, each one of them consisting of 600 nodes. 1 shard with 600 so-called DS nodes (Directory Service - they need to achieve a higher difficulty than shard nodes) and 1800 shard nodes of which 250 are shard guards (centralized nodes controlled by the team). The amount of shard guards has been steadily declining from 1200 in January 2019 to 250 as of May 2020. On the Viewblock statistics, you can see that many of the nodes are being located in the US but those are only the (CPU parts of the) shard nodes who perform pBFT. There is no data from where the PoW sources are coming. And when the Zilliqa blockchain starts reaching its transaction capacity limit, a network upgrade needs to be executed to lift the current cap of maximum 2400 nodes to allow more nodes and formation of more shards which will allow to network to keep on scaling according to demand.
Besides shard nodes there are also seed nodes. The main role of seed nodes is to serve as direct access points (for end-users and clients) to the core Zilliqa network that validates transactions. Seed nodes consolidate transaction requests and forward these to the lookup nodes (another type of nodes) for distribution to the shards in the network. Seed nodes also maintain the entire transaction history and the global state of the blockchain which is needed to provide services such as block explorers. Seed nodes in the Zilliqa network are comparable to Infura on Ethereum.
 
The seed nodes were first only operated by Zilliqa themselves, exchanges and Viewblock. Operators of seed nodes like exchanges had no incentive to open them for the greater public. They were centralised at first. Decentralisation at the seed nodes level has been steadily rolled out since March 2020 ( Zilliqa Improvement Proposal 3 ). Currently the amount of seed nodes is being increased, they are public-facing and at the same time PoS is applied to incentivize seed node operators and make it possible for ZIL holders to stake and earn passive yields. Important distinction: seed nodes are not involved with consensus! That is still PoW as entry ticket and pBFT for the actual consensus.
 
5% of the block rewards are being assigned to seed nodes (from the beginning in 2019) and those are being used to pay out ZIL stakers. The 5% block rewards with an annual yield of 10.03% translate to roughly 610 MM ZILs in total that can be staked. Exchanges use the custodial variant of staking and wallets like Moonlet will use the non-custodial version (starting in Q3 2020). Staking is being done by sending ZILs to a smart contract created by Zilliqa and audited by Quantstamp.
 
With a high amount of DS; shard nodes and seed nodes becoming more decentralized too, Zilliqa qualifies for the label of decentralized in my opinion.
 
Smart contracts
 
Let me start by saying I’m not a developer and my programming skills are quite limited. So I‘m taking the ELI5 route (maybe 12) but if you are familiar with Javascript, Solidity or specifically OCaml please head straight to Scilla - read the docs to get a good initial grasp of how Zilliqa’s smart contract language Scilla works and if you ask yourself “why another programming language?” check this article. And if you want to play around with some sample contracts in an IDE click here. The faucet can be found here. And more information on architecture, dapp development and API can be found on the Developer Portal.
If you are more into listening and watching: check this recent webinar explaining Zilliqa and Scilla. Link is time-stamped so you’ll start right away with a platform introduction, roadmap 2020 and afterwards a proper Scilla introduction.
 
Generalized: programming languages can be divided into being ‘object-oriented’ or ‘functional’. Here is an ELI5 given by software development academy: * “all programs have two basic components, data – what the program knows – and behavior – what the program can do with that data. So object-oriented programming states that combining data and related behaviors in one place, is called “object”, which makes it easier to understand how a particular program works. On the other hand, functional programming argues that data and behavior are different things and should be separated to ensure their clarity.” *
 
Scilla is on the functional side and shares similarities with OCaml: OCaml is a general-purpose programming language with an emphasis on expressiveness and safety. It has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. For all its power, OCaml is also pretty simple, which is one reason it's often used as a teaching language.
 
Scilla is blockchain agnostic, can be implemented onto other blockchains as well, is recognized by academics and won a so-called Distinguished Artifact Award award at the end of last year.
 
One of the reasons why the Zilliqa team decided to create their own programming language focused on preventing smart contract vulnerabilities is that adding logic on a blockchain, programming, means that you cannot afford to make mistakes. Otherwise, it could cost you. It’s all great and fun blockchains being immutable but updating your code because you found a bug isn’t the same as with a regular web application for example. And with smart contracts, it inherently involves cryptocurrencies in some form thus value.
 
Another difference with programming languages on a blockchain is gas. Every transaction you do on a smart contract platform like Zilliqa or Ethereum costs gas. With gas you basically pay for computational costs. Sending a ZIL from address A to address B costs 0.001 ZIL currently. Smart contracts are more complex, often involve various functions and require more gas (if gas is a new concept click here ).
 
So with Scilla, similar to Solidity, you need to make sure that “every function in your smart contract will run as expected without hitting gas limits. An improper resource analysis may lead to situations where funds may get stuck simply because a part of the smart contract code cannot be executed due to gas limits. Such constraints are not present in traditional software systems”. Scilla design story part 1
 
Some examples of smart contract issues you’d want to avoid are: leaking funds, ‘unexpected changes to critical state variables’ (example: someone other than you setting his or her address as the owner of the smart contract after creation) or simply killing a contract.
 
Scilla also allows for formal verification. Wikipedia to the rescue: In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
 
Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
 
Scilla is being developed hand-in-hand with formalization of its semantics and its embedding into the Coq proof assistant — a state-of-the art tool for mechanized proofs about properties of programs.”
 
Simply put, with Scilla and accompanying tooling developers can be mathematically sure and proof that the smart contract they’ve written does what he or she intends it to do.
 
Smart contract on a sharded environment and state sharding
 
There is one more topic I’d like to touch on: smart contract execution in a sharded environment (and what is the effect of state sharding). This is a complex topic. I’m not able to explain it any easier than what is posted here. But I will try to compress the post into something easy to digest.
 
Earlier on we have established that Zilliqa can process transactions in parallel due to network sharding. This is where the linear scalability comes from. We can define simple transactions: a transaction from address A to B (Category 1), a transaction where a user interacts with one smart contract (Category 2) and the most complex ones where triggering a transaction results in multiple smart contracts being involved (Category 3). The shards are able to process transactions on their own without interference of the other shards. With Category 1 transactions that is doable, with Category 2 transactions sometimes if that address is in the same shard as the smart contract but with Category 3 you definitely need communication between the shards. Solving that requires to make a set of communication rules the protocol needs to follow in order to process all transactions in a generalised fashion.
 
And this is where the downsides of state sharding comes in currently. All shards in Zilliqa have access to the complete state. Yes the state size (0.1 GB at the moment) grows and all of the nodes need to store it but it also means that they don’t need to shop around for information available on other shards. Requiring more communication and adding more complexity. Computer science knowledge and/or developer knowledge required links if you want to dig further: Scilla - language grammar Scilla - Foundations for Verifiable Decentralised Computations on a Blockchain Gas Accounting NUS x Zilliqa: Smart contract language workshop
 
Easier to follow links on programming Scilla https://learnscilla.com/home Ivan on Tech
 
Roadmap / Zilliqa 2.0
 
There is no strict defined roadmap but here are topics being worked on. And via the Zilliqa website there is also more information on the projects they are working on.
 
Business & Partnerships
 
It’s not only technology in which Zilliqa seems to be excelling as their ecosystem has been expanding and starting to grow rapidly. The project is on a mission to provide OpenFinance (OpFi) to the world and Singapore is the right place to be due to its progressive regulations and futuristic thinking. Singapore has taken a proactive approach towards cryptocurrencies by introducing the Payment Services Act 2019 (PS Act). Among other things, the PS Act will regulate intermediaries dealing with certain cryptocurrencies, with a particular focus on consumer protection and anti-money laundering. It will also provide a stable regulatory licensing and operating framework for cryptocurrency entities, effectively covering all crypto businesses and exchanges based in Singapore. According to PWC 82% of the surveyed executives in Singapore reported blockchain initiatives underway and 13% of them have already brought the initiatives live to the market. There is also an increasing list of organizations that are starting to provide digital payment services. Moreover, Singaporean blockchain developers Building Cities Beyond has recently created an innovation $15 million grant to encourage development on its ecosystem. This all suggests that Singapore tries to position itself as (one of) the leading blockchain hubs in the world.
 
Zilliqa seems to already take advantage of this and recently helped launch Hg Exchange on their platform, together with financial institutions PhillipCapital, PrimePartners and Fundnel. Hg Exchange, which is now approved by the Monetary Authority of Singapore (MAS), uses smart contracts to represent digital assets. Through Hg Exchange financial institutions worldwide can use Zilliqa's safe-by-design smart contracts to enable the trading of private equities. For example, think of companies such as Grab, Airbnb, SpaceX that are not available for public trading right now. Hg Exchange will allow investors to buy shares of private companies & unicorns and capture their value before an IPO. Anquan, the main company behind Zilliqa, has also recently announced that they became a partner and shareholder in TEN31 Bank, which is a fully regulated bank allowing for tokenization of assets and is aiming to bridge the gap between conventional banking and the blockchain world. If STOs, the tokenization of assets, and equity trading will continue to increase, then Zilliqa’s public blockchain would be the ideal candidate due to its strategic positioning, partnerships, regulatory compliance and the technology that is being built on top of it.
 
What is also very encouraging is their focus on banking the un(der)banked. They are launching a stablecoin basket starting with XSGD. As many of you know, stablecoins are currently mostly used for trading. However, Zilliqa is actively trying to broaden the use case of stablecoins. I recommend everybody to read this text that Amrit Kumar wrote (one of the co-founders). These stablecoins will be integrated in the traditional markets and bridge the gap between the crypto world and the traditional world. This could potentially revolutionize and legitimise the crypto space if retailers and companies will for example start to use stablecoins for payments or remittances, instead of it solely being used for trading.
 
Zilliqa also released their DeFi strategic roadmap (dating November 2019) which seems to be aligning well with their OpFi strategy. A non-custodial DEX is coming to Zilliqa made by Switcheo which allows cross-chain trading (atomic swaps) between ETH, EOS and ZIL based tokens. They also signed a Memorandum of Understanding for a (soon to be announced) USD stablecoin. And as Zilliqa is all about regulations and being compliant, I’m speculating on it to be a regulated USD stablecoin. Furthermore, XSGD is already created and visible on block explorer and XIDR (Indonesian Stablecoin) is also coming soon via StraitsX. Here also an overview of the Tech Stack for Financial Applications from September 2019. Further quoting Amrit Kumar on this:
 
There are two basic building blocks in DeFi/OpFi though: 1) stablecoins as you need a non-volatile currency to get access to this market and 2) a dex to be able to trade all these financial assets. The rest are built on top of these blocks.
 
So far, together with our partners and community, we have worked on developing these building blocks with XSGD as a stablecoin. We are working on bringing a USD-backed stablecoin as well. We will soon have a decentralised exchange developed by Switcheo. And with HGX going live, we are also venturing into the tokenization space. More to come in the future.”
 
Additionally, they also have this ZILHive initiative that injects capital into projects. There have been already 6 waves of various teams working on infrastructure, innovation and research, and they are not from ASEAN or Singapore only but global: see Grantees breakdown by country. Over 60 project teams from over 20 countries have contributed to Zilliqa's ecosystem. This includes individuals and teams developing wallets, explorers, developer toolkits, smart contract testing frameworks, dapps, etc. As some of you may know, Unstoppable Domains (UD) blew up when they launched on Zilliqa. UD aims to replace cryptocurrency addresses with a human-readable name and allows for uncensorable websites. Zilliqa will probably be the only one able to handle all these transactions onchain due to ability to scale and its resulting low fees which is why the UD team launched this on Zilliqa in the first place. Furthermore, Zilliqa also has a strong emphasis on security, compliance, and privacy, which is why they partnered with companies like Elliptic, ChainSecurity (part of PwC Switzerland), and Incognito. Their sister company Aqilliz (Zilliqa spelled backwards) focuses on revolutionizing the digital advertising space and is doing interesting things like using Zilliqa to track outdoor digital ads with companies like Foodpanda.
 
Zilliqa is listed on nearly all major exchanges, having several different fiat-gateways and recently have been added to Binance’s margin trading and futures trading with really good volume. They also have a very impressive team with good credentials and experience. They don't just have “tech people”. They have a mix of tech people, business people, marketeers, scientists, and more. Naturally, it's good to have a mix of people with different skill sets if you work in the crypto space.
 
Marketing & Community
 
Zilliqa has a very strong community. If you just follow their Twitter their engagement is much higher for a coin that has approximately 80k followers. They also have been ‘coin of the day’ by LunarCrush many times. LunarCrush tracks real-time cryptocurrency value and social data. According to their data, it seems Zilliqa has a more fundamental and deeper understanding of marketing and community engagement than almost all other coins. While almost all coins have been a bit frozen in the last months, Zilliqa seems to be on its own bull run. It was somewhere in the 100s a few months ago and is currently ranked #46 on CoinGecko. Their official Telegram also has over 20k people and is very active, and their community channel which is over 7k now is more active and larger than many other official channels. Their local communities also seem to be growing.
 
Moreover, their community started ‘Zillacracy’ together with the Zilliqa core team ( see www.zillacracy.com ). It’s a community-run initiative where people from all over the world are now helping with marketing and development on Zilliqa. Since its launch in February 2020 they have been doing a lot and will also run their own non-custodial seed node for staking. This seed node will also allow them to start generating revenue for them to become a self sustaining entity that could potentially scale up to become a decentralized company working in parallel with the Zilliqa core team. Comparing it to all the other smart contract platforms (e.g. Cardano, EOS, Tezos etc.) they don't seem to have started a similar initiative (correct me if I’m wrong though). This suggests in my opinion that these other smart contract platforms do not fully understand how to utilize the ‘power of the community’. This is something you cannot ‘buy with money’ and gives many projects in the space a disadvantage.
 
Zilliqa also released two social products called SocialPay and Zeeves. SocialPay allows users to earn ZILs while tweeting with a specific hashtag. They have recently used it in partnership with the Singapore Red Cross for a marketing campaign after their initial pilot program. It seems like a very valuable social product with a good use case. I can see a lot of traditional companies entering the space through this product, which they seem to suggest will happen. Tokenizing hashtags with smart contracts to get network effect is a very smart and innovative idea.
 
Regarding Zeeves, this is a tipping bot for Telegram. They already have 1000s of signups and they plan to keep upgrading it for more and more people to use it (e.g. they recently have added a quiz features). They also use it during AMAs to reward people in real-time. It’s a very smart approach to grow their communities and get familiar with ZIL. I can see this becoming very big on Telegram. This tool suggests, again, that the Zilliqa team has a deeper understanding of what the crypto space and community needs and is good at finding the right innovative tools to grow and scale.
 
To be honest, I haven’t covered everything (i’m also reaching the character limited haha). So many updates happening lately that it's hard to keep up, such as the International Monetary Fund mentioning Zilliqa in their report, custodial and non-custodial Staking, Binance Margin, Futures, Widget, entering the Indian market, and more. The Head of Marketing Colin Miles has also released this as an overview of what is coming next. And last but not least, Vitalik Buterin has been mentioning Zilliqa lately acknowledging Zilliqa and mentioning that both projects have a lot of room to grow. There is much more info of course and a good part of it has been served to you on a silver platter. I invite you to continue researching by yourself :-) And if you have any comments or questions please post here!
submitted by haveyouheardaboutit to CryptoCurrency [link] [comments]

Why i’m bullish on Zilliqa (long read)

Hey all, I've been researching coins since 2017 and have gone through 100s of them in the last 3 years. I got introduced to blockchain via Bitcoin of course, analysed Ethereum thereafter and from that moment I have a keen interest in smart contact platforms. I’m passionate about Ethereum but I find Zilliqa to have a better risk reward ratio. Especially because Zilliqa has found an elegant balance between being secure, decentralised and scalable in my opinion.
 
Below I post my analysis why from all the coins I went through I’m most bullish on Zilliqa (yes I went through Tezos, EOS, NEO, VeChain, Harmony, Algorand, Cardano etc.). Note that this is not investment advice and although it's a thorough analysis there is obviously some bias involved. Looking forward to what you all think!
 
Fun fact: the name Zilliqa is a play on ‘silica’ silicon dioxide which means “Silicon for the high-throughput consensus computer.”
 
This post is divided into (i) Technology, (ii) Business & Partnerships, and (iii) Marketing & Community. I’ve tried to make the technology part readable for a broad audience. If you’ve ever tried understanding the inner workings of Bitcoin and Ethereum you should be able to grasp most parts. Otherwise just skim through and once you are zoning out head to the next part.
 
Technology and some more:
 
Introduction The technology is one of the main reasons why I’m so bullish on Zilliqa. First thing you see on their website is: “Zilliqa is a high-performance, high-security blockchain platform for enterprises and next-generation applications.” These are some bold statements.
 
Before we deep dive into the technology let’s take a step back in time first as they have quite the history. The initial research paper from which Zilliqa originated dates back to August 2016: Elastico: A Secure Sharding Protocol For Open Blockchains where Loi Luu (Kyber Network) is one of the co-authors. Other ideas that led to the development of what Zilliqa has become today are: Bitcoin-NG, collective signing CoSi, ByzCoin and Omniledger.
 
The technical white paper was made public in August 2017 and since then they have achieved everything stated in the white paper and also created their own open source intermediate level smart contract language called Scilla (functional programming language similar to OCaml) too.
 
Mainnet is live since end of January 2019 with daily transaction rate growing continuously. About a week ago mainnet reached 5 million transactions, 500.000+ addresses in total along with 2400 nodes keeping the network decentralised and secure. Circulating supply is nearing 11 billion and currently only mining rewards are left. Maximum supply is 21 billion with annual inflation being 7.13% currently and will only decrease with time.
 
Zilliqa realised early on that the usage of public cryptocurrencies and smart contracts were increasing but decentralised, secure and scalable alternatives were lacking in the crypto space. They proposed to apply sharding onto a public smart contract blockchain where the transaction rate increases almost linear with the increase in amount of nodes. More nodes = higher transaction throughput and increased decentralisation. Sharding comes in many forms and Zilliqa uses network-, transaction- and computational sharding. Network sharding opens up the possibility of using transaction- and computational sharding on top. Zilliqa does not use state sharding for now. We’ll come back to this later.
 
Before we continue disecting how Zilliqa achieves such from a technological standpoint it’s good to keep in mind that a blockchain being decentralised and secure and scalable is still one of the main hurdles in allowing widespread usage of decentralised networks. In my opinion this needs to be solved first before blockchains can get to the point where they can create and add large scale value. So I invite you to read the next section to grasp the underlying fundamentals. Because after all these premises need to be true otherwise there isn’t a fundamental case to be bullish on Zilliqa, right?
 
Down the rabbit hole
 
How have they achieved this? Let’s define the basics first: key players on Zilliqa are the users and the miners. A user is anybody who uses the blockchain to transfer funds or run smart contracts. Miners are the (shard) nodes in the network who run the consensus protocol and get rewarded for their service in Zillings (ZIL). The mining network is divided into several smaller networks called shards, which is also referred to as ‘network sharding’. Miners subsequently are randomly assigned to a shard by another set of miners called DS (Directory Service) nodes. The regular shards process transactions and the outputs of these shards are eventually combined by the DS shard as they reach consensus on the final state. More on how these DS shards reach consensus (via pBFT) will be explained later on.
 
The Zilliqa network produces two types of blocks: DS blocks and Tx blocks. One DS Block consists of 100 Tx Blocks. And as previously mentioned there are two types of nodes concerned with reaching consensus: shard nodes and DS nodes. Becoming a shard node or DS node is being defined by the result of a PoW cycle (Ethash) at the beginning of the DS Block. All candidate mining nodes compete with each other and run the PoW (Proof-of-Work) cycle for 60 seconds and the submissions achieving the highest difficulty will be allowed on the network. And to put it in perspective: the average difficulty for one DS node is ~ 2 Th/s equaling 2.000.000 Mh/s or 55 thousand+ GeForce GTX 1070 / 8 GB GPUs at 35.4 Mh/s. Each DS Block 10 new DS nodes are allowed. And a shard node needs to provide around 8.53 GH/s currently (around 240 GTX 1070s). Dual mining ETH/ETC and ZIL is possible and can be done via mining software such as Phoenix and Claymore. There are pools and if you have large amounts of hashing power (Ethash) available you could mine solo.
 
The PoW cycle of 60 seconds is a peak performance and acts as an entry ticket to the network. The entry ticket is called a sybil resistance mechanism and makes it incredibly hard for adversaries to spawn lots of identities and manipulate the network with these identities. And after every 100 Tx Blocks which corresponds to roughly 1,5 hour this PoW process repeats. In between these 1,5 hour no PoW needs to be done meaning Zilliqa’s energy consumption to keep the network secure is low. For more detailed information on how mining works click here.
Okay, hats off to you. You have made it this far. Before we go any deeper down the rabbit hole we first must understand why Zilliqa goes through all of the above technicalities and understand a bit more what a blockchain on a more fundamental level is. Because the core of Zilliqa’s consensus protocol relies on the usage of pBFT (practical Byzantine Fault Tolerance) we need to know more about state machines and their function. Navigate to Viewblock, a Zilliqa block explorer, and just come back to this article. We will use this site to navigate through a few concepts.
 
We have established that Zilliqa is a public and distributed blockchain. Meaning that everyone with an internet connection can send ZILs, trigger smart contracts etc. and there is no central authority who fully controls the network. Zilliqa and other public and distributed blockchains (like Bitcoin and Ethereum) can also be defined as state machines.
 
Taking the liberty of paraphrasing examples and definitions given by Samuel Brooks’ medium article, he describes the definition of a blockchain (like Zilliqa) as:
“A peer-to-peer, append-only datastore that uses consensus to synchronise cryptographically-secure data”.
 
Next he states that: >“blockchains are fundamentally systems for managing valid state transitions”.* For some more context, I recommend reading the whole medium article to get a better grasp of the definitions and understanding of state machines. Nevertheless, let’s try to simplify and compile it into a single paragraph. Take traffic lights as an example: all its states (red, amber and green) are predefined, all possible outcomes are known and it doesn’t matter if you encounter the traffic light today or tomorrow. It will still behave the same. Managing the states of a traffic light can be done by triggering a sensor on the road or pushing a button resulting in one traffic lights’ state going from green to red (via amber) and another light from red to green.
 
With public blockchains like Zilliqa this isn’t so straightforward and simple. It started with block #1 almost 1,5 years ago and every 45 seconds or so a new block linked to the previous block is being added. Resulting in a chain of blocks with transactions in it that everyone can verify from block #1 to the current #647.000+ block. The state is ever changing and the states it can find itself in are infinite. And while the traffic light might work together in tandem with various other traffic lights, it’s rather insignificant comparing it to a public blockchain. Because Zilliqa consists of 2400 nodes who need to work together to achieve consensus on what the latest valid state is while some of these nodes may have latency or broadcast issues, drop offline or are deliberately trying to attack the network etc.
 
Now go back to the Viewblock page take a look at the amount of transaction, addresses, block and DS height and then hit refresh. Obviously as expected you see new incremented values on one or all parameters. And how did the Zilliqa blockchain manage to transition from a previous valid state to the latest valid state? By using pBFT to reach consensus on the latest valid state.
 
After having obtained the entry ticket, miners execute pBFT to reach consensus on the ever changing state of the blockchain. pBFT requires a series of network communication between nodes, and as such there is no GPU involved (but CPU). Resulting in the total energy consumed to keep the blockchain secure, decentralised and scalable being low.
 
pBFT stands for practical Byzantine Fault Tolerance and is an optimisation on the Byzantine Fault Tolerant algorithm. To quote Blockonomi: “In the context of distributed systems, Byzantine Fault Tolerance is the ability of a distributed computer network to function as desired and correctly reach a sufficient consensus despite malicious components (nodes) of the system failing or propagating incorrect information to other peers.” Zilliqa is such a distributed computer network and depends on the honesty of the nodes (shard and DS) to reach consensus and to continuously update the state with the latest block. If pBFT is a new term for you I can highly recommend the Blockonomi article.
 
The idea of pBFT was introduced in 1999 - one of the authors even won a Turing award for it - and it is well researched and applied in various blockchains and distributed systems nowadays. If you want more advanced information than the Blockonomi link provides click here. And if you’re in between Blockonomi and University of Singapore read the Zilliqa Design Story Part 2 dating from October 2017.
Quoting from the Zilliqa tech whitepaper: “pBFT relies upon a correct leader (which is randomly selected) to begin each phase and proceed when the sufficient majority exists. In case the leader is byzantine it can stall the entire consensus protocol. To address this challenge, pBFT offers a view change protocol to replace the byzantine leader with another one.”
 
pBFT can tolerate ⅓ of the nodes being dishonest (offline counts as Byzantine = dishonest) and the consensus protocol will function without stalling or hiccups. Once there are more than ⅓ of dishonest nodes but no more than ⅔ the network will be stalled and a view change will be triggered to elect a new DS leader. Only when more than ⅔ of the nodes are dishonest (>66%) double spend attacks become possible.
 
If the network stalls no transactions can be processed and one has to wait until a new honest leader has been elected. When the mainnet was just launched and in its early phases, view changes happened regularly. As of today the last stalling of the network - and view change being triggered - was at the end of October 2019.
 
Another benefit of using pBFT for consensus besides low energy is the immediate finality it provides. Once your transaction is included in a block and the block is added to the chain it’s done. Lastly, take a look at this article where three types of finality are being defined: probabilistic, absolute and economic finality. Zilliqa falls under the absolute finality (just like Tendermint for example). Although lengthy already we skipped through some of the inner workings from Zilliqa’s consensus: read the Zilliqa Design Story Part 3 and you will be close to having a complete picture on it. Enough about PoW, sybil resistance mechanism, pBFT etc. Another thing we haven’t looked at yet is the amount of decentralisation.
 
Decentralisation
 
Currently there are four shards, each one of them consisting of 600 nodes. 1 shard with 600 so called DS nodes (Directory Service - they need to achieve a higher difficulty than shard nodes) and 1800 shard nodes of which 250 are shard guards (centralised nodes controlled by the team). The amount of shard guards has been steadily declining from 1200 in January 2019 to 250 as of May 2020. On the Viewblock statistics you can see that many of the nodes are being located in the US but those are only the (CPU parts of the) shard nodes who perform pBFT. There is no data from where the PoW sources are coming. And when the Zilliqa blockchain starts reaching their transaction capacity limit, a network upgrade needs to be executed to lift the current cap of maximum 2400 nodes to allow more nodes and formation of more shards which will allow to network to keep on scaling according to demand.
Besides shard nodes there are also seed nodes. The main role of seed nodes is to serve as direct access points (for end users and clients) to the core Zilliqa network that validates transactions. Seed nodes consolidate transaction requests and forward these to the lookup nodes (another type of nodes) for distribution to the shards in the network. Seed nodes also maintain the entire transaction history and the global state of the blockchain which is needed to provide services such as block explorers. Seed nodes in the Zilliqa network are comparable to Infura on Ethereum.
 
The seed nodes were first only operated by Zilliqa themselves, exchanges and Viewblock. Operators of seed nodes like exchanges had no incentive to open them for the greater public.They were centralised at first. Decentralisation at the seed nodes level has been steadily rolled out since March 2020 ( Zilliqa Improvement Proposal 3 ). Currently the amount of seed nodes is being increased, they are public facing and at the same time PoS is applied to incentivize seed node operators and make it possible for ZIL holders to stake and earn passive yields. Important distinction: seed nodes are not involved with consensus! That is still PoW as entry ticket and pBFT for the actual consensus.
 
5% of the block rewards are being assigned to seed nodes (from the beginning in 2019) and those are being used to pay out ZIL stakers.The 5% block rewards with an annual yield of 10.03% translates to roughly 610 MM ZILs in total that can be staked. Exchanges use the custodial variant of staking and wallets like Moonlet will use the non custodial version (starting in Q3 2020). Staking is being done by sending ZILs to a smart contract created by Zilliqa and audited by Quantstamp.
 
With a high amount of DS & shard nodes and seed nodes becoming more decentralised too, Zilliqa qualifies for the label of decentralised in my opinion.
 
Smart contracts
 
Let me start by saying I’m not a developer and my programming skills are quite limited. So I‘m taking the ELI5 route (maybe 12) but if you are familiar with Javascript, Solidity or specifically OCaml please head straight to Scilla - read the docs to get a good initial grasp of how Zilliqa’s smart contract language Scilla works and if you ask yourself “why another programming language?” check this article. And if you want to play around with some sample contracts in an IDE click here. Faucet can be found here. And more information on architecture, dapp development and API can be found on the Developer Portal.
If you are more into listening and watching: check this recent webinar explaining Zilliqa and Scilla. Link is time stamped so you’ll start right away with a platform introduction, R&D roadmap 2020 and afterwards a proper Scilla introduction.
 
Generalised: programming languages can be divided into being ‘object oriented’ or ‘functional’. Here is an ELI5 given by software development academy: > “all programmes have two basic components, data – what the programme knows – and behaviour – what the programme can do with that data. So object-oriented programming states that combining data and related behaviours in one place, is called “object”, which makes it easier to understand how a particular program works. On the other hand, functional programming argues that data and behaviour are different things and should be separated to ensure their clarity.”
 
Scilla is on the functional side and shares similarities with OCaml: > OCaml is a general purpose programming language with an emphasis on expressiveness and safety. It has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. For all its power, OCaml is also pretty simple, which is one reason it's often used as a teaching language.
 
Scilla is blockchain agnostic, can be implemented onto other blockchains as well, is recognised by academics and won a so called Distinguished Artifact Award award at the end of last year.
 
One of the reasons why the Zilliqa team decided to create their own programming language focused on preventing smart contract vulnerabilities safety is that adding logic on a blockchain, programming, means that you cannot afford to make mistakes. Otherwise it could cost you. It’s all great and fun blockchains being immutable but updating your code because you found a bug isn’t the same as with a regular web application for example. And with smart contracts it inherently involves cryptocurrencies in some form thus value.
 
Another difference with programming languages on a blockchain is gas. Every transaction you do on a smart contract platform like Zilliqa for Ethereum costs gas. With gas you basically pay for computational costs. Sending a ZIL from address A to address B costs 0.001 ZIL currently. Smart contracts are more complex, often involve various functions and require more gas (if gas is a new concept click here ).
 
So with Scilla, similar to Solidity, you need to make sure that “every function in your smart contract will run as expected without hitting gas limits. An improper resource analysis may lead to situations where funds may get stuck simply because a part of the smart contract code cannot be executed due to gas limits. Such constraints are not present in traditional software systems”. Scilla design story part 1
 
Some examples of smart contract issues you’d want to avoid are: leaking funds, ‘unexpected changes to critical state variables’ (example: someone other than you setting his or her address as the owner of the smart contract after creation) or simply killing a contract.
 
Scilla also allows for formal verification. Wikipedia to the rescue:
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
 
Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
 
Scilla is being developed hand-in-hand with formalization of its semantics and its embedding into the Coq proof assistant — a state-of-the art tool for mechanized proofs about properties of programs.”
 
Simply put, with Scilla and accompanying tooling developers can be mathematically sure and proof that the smart contract they’ve written does what he or she intends it to do.
 
Smart contract on a sharded environment and state sharding
 
There is one more topic I’d like to touch on: smart contract execution in a sharded environment (and what is the effect of state sharding). This is a complex topic. I’m not able to explain it any easier than what is posted here. But I will try to compress the post into something easy to digest.
 
Earlier on we have established that Zilliqa can process transactions in parallel due to network sharding. This is where the linear scalability comes from. We can define simple transactions: a transaction from address A to B (Category 1), a transaction where a user interacts with one smart contract (Category 2) and the most complex ones where triggering a transaction results in multiple smart contracts being involved (Category 3). The shards are able to process transactions on their own without interference of the other shards. With Category 1 transactions that is doable, with Category 2 transactions sometimes if that address is in the same shard as the smart contract but with Category 3 you definitely need communication between the shards. Solving that requires to make a set of communication rules the protocol needs to follow in order to process all transactions in a generalised fashion.
 
And this is where the downsides of state sharding comes in currently. All shards in Zilliqa have access to the complete state. Yes the state size (0.1 GB at the moment) grows and all of the nodes need to store it but it also means that they don’t need to shop around for information available on other shards. Requiring more communication and adding more complexity. Computer science knowledge and/or developer knowledge required links if you want to dig further: Scilla - language grammar Scilla - Foundations for Verifiable Decentralised Computations on a Blockchain Gas Accounting NUS x Zilliqa: Smart contract language workshop
 
Easier to follow links on programming Scilla https://learnscilla.com/home Ivan on Tech
 
Roadmap / Zilliqa 2.0
 
There is no strict defined roadmap but here are topics being worked on. And via the Zilliqa website there is also more information on the projects they are working on.
 
Business & Partnerships  
It’s not only technology in which Zilliqa seems to be excelling as their ecosystem has been expanding and starting to grow rapidly. The project is on a mission to provide OpenFinance (OpFi) to the world and Singapore is the right place to be due to its progressive regulations and futuristic thinking. Singapore has taken a proactive approach towards cryptocurrencies by introducing the Payment Services Act 2019 (PS Act). Among other things, the PS Act will regulate intermediaries dealing with certain cryptocurrencies, with a particular focus on consumer protection and anti-money laundering. It will also provide a stable regulatory licensing and operating framework for cryptocurrency entities, effectively covering all crypto businesses and exchanges based in Singapore. According to PWC 82% of the surveyed executives in Singapore reported blockchain initiatives underway and 13% of them have already brought the initiatives live to the market. There is also an increasing list of organisations that are starting to provide digital payment services. Moreover, Singaporean blockchain developers Building Cities Beyond has recently created an innovation $15 million grant to encourage development on its ecosystem. This all suggest that Singapore tries to position itself as (one of) the leading blockchain hubs in the world.
 
Zilliqa seems to already taking advantage of this and recently helped launch Hg Exchange on their platform, together with financial institutions PhillipCapital, PrimePartners and Fundnel. Hg Exchange, which is now approved by the Monetary Authority of Singapore (MAS), uses smart contracts to represent digital assets. Through Hg Exchange financial institutions worldwide can use Zilliqa's safe-by-design smart contracts to enable the trading of private equities. For example, think of companies such as Grab, AirBnB, SpaceX that are not available for public trading right now. Hg Exchange will allow investors to buy shares of private companies & unicorns and capture their value before an IPO. Anquan, the main company behind Zilliqa, has also recently announced that they became a partner and shareholder in TEN31 Bank, which is a fully regulated bank allowing for tokenization of assets and is aiming to bridge the gap between conventional banking and the blockchain world. If STOs, the tokenization of assets, and equity trading will continue to increase, then Zilliqa’s public blockchain would be the ideal candidate due to its strategic positioning, partnerships, regulatory compliance and the technology that is being built on top of it.
 
What is also very encouraging is their focus on banking the un(der)banked. They are launching a stablecoin basket starting with XSGD. As many of you know, stablecoins are currently mostly used for trading. However, Zilliqa is actively trying to broaden the use case of stablecoins. I recommend everybody to read this text that Amrit Kumar wrote (one of the co-founders). These stablecoins will be integrated in the traditional markets and bridge the gap between the crypto world and the traditional world. This could potentially revolutionize and legitimise the crypto space if retailers and companies will for example start to use stablecoins for payments or remittances, instead of it solely being used for trading.
 
Zilliqa also released their DeFi strategic roadmap (dating November 2019) which seems to be aligning well with their OpFi strategy. A non-custodial DEX is coming to Zilliqa made by Switcheo which allows cross-chain trading (atomic swaps) between ETH, EOS and ZIL based tokens. They also signed a Memorandum of Understanding for a (soon to be announced) USD stablecoin. And as Zilliqa is all about regulations and being compliant, I’m speculating on it to be a regulated USD stablecoin. Furthermore, XSGD is already created and visible on block explorer and XIDR (Indonesian Stablecoin) is also coming soon via StraitsX. Here also an overview of the Tech Stack for Financial Applications from September 2019. Further quoting Amrit Kumar on this:
 
There are two basic building blocks in DeFi/OpFi though: 1) stablecoins as you need a non-volatile currency to get access to this market and 2) a dex to be able to trade all these financial assets. The rest are build on top of these blocks.
 
So far, together with our partners and community, we have worked on developing these building blocks with XSGD as a stablecoin. We are working on bringing a USD-backed stablecoin as well. We will soon have a decentralised exchange developed by Switcheo. And with HGX going live, we are also venturing into the tokenization space. More to come in the future.”*
 
Additionally, they also have this ZILHive initiative that injects capital into projects. There have been already 6 waves of various teams working on infrastructure, innovation and research, and they are not from ASEAN or Singapore only but global: see Grantees breakdown by country. Over 60 project teams from over 20 countries have contributed to Zilliqa's ecosystem. This includes individuals and teams developing wallets, explorers, developer toolkits, smart contract testing frameworks, dapps, etc. As some of you may know, Unstoppable Domains (UD) blew up when they launched on Zilliqa. UD aims to replace cryptocurrency addresses with a human readable name and allows for uncensorable websites. Zilliqa will probably be the only one able to handle all these transactions onchain due to ability to scale and its resulting low fees which is why the UD team launched this on Zilliqa in the first place. Furthermore, Zilliqa also has a strong emphasis on security, compliance, and privacy, which is why they partnered with companies like Elliptic, ChainSecurity (part of PwC Switzerland), and Incognito. Their sister company Aqilliz (Zilliqa spelled backwards) focuses on revolutionizing the digital advertising space and is doing interesting things like using Zilliqa to track outdoor digital ads with companies like Foodpanda.
 
Zilliqa is listed on nearly all major exchanges, having several different fiat-gateways and recently have been added to Binance’s margin trading and futures trading with really good volume. They also have a very impressive team with good credentials and experience. They dont just have “tech people”. They have a mix of tech people, business people, marketeers, scientists, and more. Naturally, it's good to have a mix of people with different skill sets if you work in the crypto space.
 
Marketing & Community
 
Zilliqa has a very strong community. If you just follow their Twitter their engagement is much higher for a coin that has approximately 80k followers. They also have been ‘coin of the day’ by LunarCrush many times. LunarCrush tracks real-time cryptocurrency value and social data. According to their data it seems Zilliqa has a more fundamental and deeper understanding of marketing and community engagement than almost all other coins. While almost all coins have been a bit frozen in the last months, Zilliqa seems to be on its own bull run. It was somewhere in the 100s a few months ago and is currently ranked #46 on CoinGecko. Their official Telegram also has over 20k people and is very active, and their community channel which is over 7k now is more active and larger than many other official channels. Their local communities) also seem to be growing.
 
Moreover, their community started ‘Zillacracy’ together with the Zilliqa core team ( see www.zillacracy.com ). It’s a community run initiative where people from all over the world are now helping with marketing and development on Zilliqa. Since its launch in February 2020 they have been doing a lot and will also run their own non custodial seed node for staking. This seed node will also allow them to start generating revenue for them to become a self sustaining entity that could potentially scale up to become a decentralized company working in parallel with the Zilliqa core team. Comparing it to all the other smart contract platforms (e.g. Cardano, EOS, Tezos etc.) they don't seem to have started a similar initiatives (correct me if I’m wrong though). This suggest in my opinion that these other smart contract platforms do not fully understand how to utilize the ‘power of the community’. This is something you cannot ‘buy with money’ and gives many projects in the space a disadvantage.
 
Zilliqa also released two social products called SocialPay and Zeeves. SocialPay allows users to earn ZILs while tweeting with a specific hashtag. They have recently used it in partnership with the Singapore Red Cross for a marketing campaign after their initial pilot program. It seems like a very valuable social product with a good use case. I can see a lot of traditional companies entering the space through this product, which they seem to suggest will happen. Tokenizing hashtags with smart contracts to get network effect is a very smart and innovative idea.
 
Regarding Zeeves, this is a tipping bot for Telegram. They already have 1000s of signups and they plan to keep upgrading it for more and more people to use it (e.g. they recently have added a quiz features). They also use it during AMAs to reward people in real time. It’s a very smart approach to grow their communities and get familiar with ZIL. I can see this becoming very big on Telegram. This tool suggests, again, that the Zilliqa team has a deeper understanding what the crypto space and community needs and is good at finding the right innovative tools to grow and scale.
 
To be honest, I haven’t covered everything (i’m also reaching the character limited haha). So many updates happening lately that it's hard to keep up, such as the International Monetary Fund mentioning Zilliqa in their report, custodial and non-custodial Staking, Binance Margin, Futures & Widget, entering the Indian market, and more. The Head of Marketing Colin Miles has also released this as an overview of what is coming next. And last but not least, Vitalik Buterin has been mentioning Zilliqa lately acknowledging Zilliqa and mentioning that both projects have a lot of room to grow. There is much more info of course and a good part of it has been served to you on a silver platter. I invite you to continue researching by yourself :-) And if you have any comments or questions please post here!
submitted by haveyouheardaboutit to CryptoCurrency [link] [comments]

Start learning programming " Here is the best Platforms for you"

Step by step Help for you:
Platforms Node.js Frontend Development iOS Android IoT & Hybrid Apps Electron Cordova React Native Xamarin Linux ContainersOS X Command-Line ScreensaverswatchOS JVM Salesforce Amazon Web Services Windows IPFS Fuse HerokuProgramming Languages JavaScript Promises Standard Style Must Watch Talks Tips Network Layer Micro npm Packages Mad Science npm Packages Maintenance Modules - For npm packages npmAVA - Test runner ESLintSwift Education PlaygroundsPython Rust Haskell PureScript Go Scala Ruby EventsClojure ClojureScript Elixir Elm Erlang Julia Lua C C/C++ R D Common Lisp Perl Groovy Dart JavaRxJava Kotlin OCaml Coldfusion Fortran .NET PHP Delphi Assembler AutoHotkey AutoIt Crystal TypeScriptFront-end Development ES6 Tools Web Performance Optimization Web Tools CSS Critical-Path Tools Scalability Must-Watch Talks ProtipsReact RelayWeb Components Polymer Angular 2 Angular Backbone HTML5 SVG Canvas KnockoutJS Dojo Toolkit Inspiration Ember Android UI iOS UI Meteor BEM Flexbox Web Typography Web Accessibility Material Design D3 Emails jQuery TipsWeb Audio Offline-First Static Website Services A-Frame VR - Virtual reality Cycle.js Text Editing Motion UI Design Vue.js Marionette.js Aurelia Charting Ionic Framework 2 Chrome DevToolsBack-end Development Django Flask Docker Vagrant Pyramid Play1 Framework CakePHP Symfony EducationLaravel EducationRails GemsPhalcon Useful .htaccess Snippets nginx Dropwizard Kubernetes LumenComputer Science University Courses Data Science Machine Learning TutorialsSpeech and Natural Language Processing SpanishLinguistics Cryptography Computer Vision Deep Learning - Neural networks TensorFlowDeep Vision Open Source Society University Functional Programming Static Analysis & Code Quality Software-Defined NetworkingBig Data Big Data Public Datasets Hadoop Data Engineering StreamingTheory Papers We Love Talks Algorithms Algorithm Visualizations Artificial Intelligence Search Engine Optimization Competitive Programming MathBooks Free Programming Books Free Software Testing Books Go Books R Books Mind Expanding Books Book AuthoringEditors Sublime Text Vim Emacs Atom Visual Studio CodeGaming Game Development Game Talks Godot - Game engine Open Source Games Unity - Game engine Chess LÖVE - Game engine PICO-8 - Fantasy consoleDevelopment Environment Quick Look Plugins - OS X Dev Env Dotfiles Shell Command-Line Apps ZSH Plugins GitHub Browser Extensions Cheat SheetGit Cheat Sheet & Git Flow Git Tips Git Add-ons SSH FOSS for DevelopersEntertainment Podcasts Email NewslettersDatabases Database MySQL SQLAlchemy InfluxDB Neo4j Doctrine - PHP ORM MongoDBMedia Creative Commons Media Fonts Codeface - Text editor fonts Stock Resources GIF Music Open Source Documents Audio VisualizationLearn CLI Workshoppers - Interactive tutorials Learn to Program Speaking Tech Videos Dive into Machine Learning Computer HistorySecurity Application Security Security CTF - Capture The Flag Malware Analysis Android Security Hacking Honeypots Incident ResponseContent Management System Umbraco Refinery CMSMiscellaneous JSON Discounts for Student Developers Slack CommunitiesConferences GeoJSON Sysadmin Radio Awesome Analytics Open Companies REST Selenium Endangered Languages Continuous Delivery Services Engineering Free for Developers Bitcoin Answers - Stack Overflow, Quora, etc Sketch - OS X design app Places to Post Your Startup PCAPTools Remote Jobs Boilerplate Projects Readme Tools Styleguides Design and Development Guides Software Engineering Blogs Self Hosted FOSS Production Apps Gulp AMA - Ask Me Anything AnswersOpen Source Photography OpenGL Productivity GraphQL Transit Research Tools Niche Job Boards Data Visualization Social Media Share Links JSON Datasets Microservices Unicode Code Points Internet of Things Beginner-Friendly Projects Bluetooth Beacons Programming Interviews Ripple - Open source distributed settlement network Katas Tools for Activism TAP - Test Anything Protocol Robotics MQTT - "Internet of Things" connectivity protocol Hacking Spots For Girls Vorpal - Node.js CLI framework OKR Methodology - Goal setting & communication best practices Vulkan LaTeX - Typesetting language Network Analysis Economics - An economist's starter kit
Few more resources:
submitted by Programming-Help to Programming_Languages [link] [comments]

An Introduction

Hello and welcome to Tangrams !
If you are already part of our community and found your way here from Discord, good to see you. We hope you'll enjoy our brand new subreddit.
In case you are new to Tangram, first of all we are very glad to have you onboard! Please read on to get gain some further information.

What is Tangram?

Tangram is a DAG (Directed Acyclic Graph) privacy-focused cryptocurrency. Tangram aims to be a private and anonymous digital currency, a platform for near instant and feeless exchange of value which allows users to securely manage personal and financial information.
Our mission is to create the most private distributed ledger technology the world has ever seen, one that is provably impervious to re-identification attacks. It must be fast, feeless, and infinitely scalable. Tangram will function as a true cryptocurrency, while supporting other capabilities such as smart contracts, data storage, and communications. Tangram is a startup focused on cutting-edge engineering, compelling user experience, irresistible branding, and a vibrant community, all built from scratch. Tangram will be the end-to-end solution you know you can trust to safeguard your identity, your data, your business, and your rights in a world of prying eyes. Privacy by Design.
It is currently in development, with the testnet and mainnet planned for the short to middle term. (More information regarding various expected deadlines can be found here )

Where can I find more information on the technical aspects of Tangram?

There’s a range of resources you can consult to learn more about our project:
A little rundown of what's been released so far, and what to expect from the near future alpha releases:
Released
View the roadmap for further details.

How will Tangram be distributed?

The token metrics of Tangram are as follows:
Maximum Token Supply: 183,744,990
Once mainnet launches, everyone is going to have the opportunity to participate in the token distribution process. The details of which method(s) will be implemented are currently being discussed and will be finalized soon. As you can see above, 65% of the total supply ( 119,434,243.5 SNKs) are reserved for public distribution.

How can I get involved in the project?

We are a community-centered project and welcome all, especially those that wish to contribute to our growth and improvement. If you believe you have some spare time and skills to dedicate, feel free to fill out our Community Talent Pool Form!
Alternatively, if you just want to get involved more generally in our vibrant community and have access to development in real time, we recommend joining our Discord. Most of the fun happens there! If you have any questions or queries, do not hesitate to come by the Discord where you are sure to get a quick response.

FAQ

TBC
See Manifesto. https://medium.com/@getsneak/a-sneak-manifesto-163eb38e00ea
No.
Public: 65% Contributors: 10% Founders: 7.84% Development Fund: 10% Community Fund: 7.16%
Through lending your computation power for research and development against finding a cure (diseases such as Alzheimer’s disease, Huntington’s disease, cystic fibrosis, BSE (Mad Cow disease), an inherited form of emphysema, and even many cancers). Find out more here: https://foldingathome.org/ How it works in Tangram public free distribution: https://medium.com/@getsneak/f-h-faucet-alpha-0-1-testing-d179568d1f40
When Tangram goes main-net (end of December 2018).
Contributors donated a combination of Monero, Nano, Bitcoin, and Ethereum to the developers to support the development throughout the early stages. These donations allowed Matthew Hellyer to move to developing the Tangram platform full-time.
The Community Fund is for those who have provably donated to a privacy DAG project prior to February 28th that turned out to be a scam. Contact the devs to receive Tangrams in return for your scammed donations at a rate of half the dollar value of your donation the day it was sent. 26% of the Community Fund has already been claimed.
Yes. More information on this will be released prior to main-net.
Testing is open to all. See here: https://medium.com/tangram-tgm/test-net0-release-ac5ad5d691ae
TBC - Currently the only bug bounty available would be associated with the faucet: https://medium.com/@getsneak/f-h-faucet-alpha-0-1-testing-d179568d1f40 (Please see Rules & Rewards section). When main-net has launched and Tangram is open-sourced further bug bounties will be defined.
183,744,990
C#
See here for technical introduction: https://tangrams.io/wp-content/uploads/2018/12/Tangram_An_Introduction-2018-12-19-03-27.pdf
No, transactions will be fee-less
TBC (Better estimate will be provided 3 months after main-net)
This is not a primary focus. We will provide documentation that allows any 3rd party to develop and integrate with Tangram.
Not yet decided, we are finalising the faucet models and their distribution mechanism which in turn affects the amount received.
No. The [email protected] work unit will calibrate to your CPU.
Yes. The name of the 3rd party security audit firm will be released once a contract has been signed.
Tangram’s codebase is built from scratch. To protect the integrity of the project before main-net and prior to a security audit by a reputable firm. Following main-net there will be discussions and post made to define the properties in which need to be met for open-source.
Yes.
The view key of the genesis block will be made available for all once main-net is live.
Yes, prior to main-net.
Yes.
There are no monetary incentives for running a node. Will nodes be private? Yes.
YES! Come poke around, join the crew, pingpong doesn’t bite.
TBC - Current estimations are 3 month – 8 months.
No. You will not find any exchange or OTC channel supported in the Tangram server by team members.
https://trello.com/b/x02K9WgV
Sneak was the code name of Tangram before the current name was chosen.
No.
Yes. See here for more information - https://pastebin.com/8YKrJJEZ https://pastebin.com/iHGMMxBr
Current live channels include: Discord: https://discord.gg/GhX6nUC Reddit: https://www.reddit.com/Tangrams/ (not live - pending website) Telegram: https://t.me/Tangrams See the #resource channel in Discord to see all articles and references to Tangram
See here:
https://medium.com/tangram-tgm/breaking-down-tangrams-consensus-mechanism-part-1-ba4857539eb
https://medium.com/tangram-tgm/breaking-down-tangrams-consensus-mechanism-part-2-6d88b435bef7
https://tangrams.io
No.
Yes, although pre-announcement. Official announcement will be made once we have prepared main-net. https://bitcointalk.org/index.php?topic=3022248.0
Nodes can run on Windows, Linux, Mac, Raspberry Pi or any Linux distro
submitted by sw33t_sneak to Tangrams [link] [comments]

Ever wonder what those numbers mean? The relationship between difficulty, shares, hashrate, etc. explained.

After being confused for a long time myself, I went and crunched some figures, and found out where all those numbers came from. To save fellow shibes from having to do the same, I'm making this guide.
First of all, what is difficulty? It is a number d such that the expected number of hashes required to find a block is d * 232. That is to say, the individual probability of each hash finding a block is 1 / (d * 232 ). (You can read up on how a geometric distribution based on a Bernoulli random variable of probability p has a mean of 1/p.) So if the difficulty is 1, then a valid hash would require 32 binary zeros at the beginning (usually represented as 8 zeros in hex). If the difficulty is 1024, then 32 + 10 = 42 binary zeros are required. For a difficulty that's not a power of two, you're going to have an odd mix (e.g. the first digits of the hex must be less than 000000000c8.)
Now how is difficulty calculated? For Dogecoin, difficulty is recalibrated every 240 blocks. It is adjusted so that a block would be found every minute, on average. Example: The average hashrate was 100 GH/s over the last 240 blocks. We want a block found every 60 seconds, or every 1011 * 60 = 6 x 1012 hashes. So d = 6 x 1012 / 232 = 1397, and the difficulty will be set to 1397.
The pool difficulty (also known as share difficulty) is a closely related concept. It is up to the pool operator, but almost all define it as being difficulty * 216. That is, pool difficulty is a number d' such that the expected number of hashes required to find a share on the pool is d' * 216 (since 32 - 16 = 16). It is basically there for notational convenience, because no one wants to talk about mining at a difficulty of 0.000244 (translated to pool difficulty, that would be 16), just like how people use kilodoge or millibitcoin.
What about a share? Pool operators may vary, but usually a share is defined as a valid hash at pool difficulty 16. Pools may set a pool difficulty that everyone mines at, automatically adjust pool difficulty for each individual miner depending on their hashrate (called vardiff), or allow users to set their own difficulty. They might even create different strata with different pool difficulty levels. A share at a higher pool difficulty is harder to find but worth more. Basically, if you're currently mining at pool difficulty 16 and switch to 32, you'll mine shares half as often but every share you mine is worth two shares. (Unfortunately, the definition of "share" appears to be overloaded - it can mean either each thing a miner submits to a pool or its equivalent for a pool difficulty of 16. It's like how a "standard drink" is 0.6 oz alcohol - if you had a 24 oz beer at 5% ABV, you could say you had a drink, but technically you had two drinks in terms of alcohol content.)
A round is the period of time since the last block was found by a pool to the next time a block is found by the pool. Round shares are shares (i.e. equivalent shares for difficulty 16) that have been found by pool miners. Estimated shares is an estimate of how many shares it will take for a pool to find a block. This number is the same for each pool regardless of hashrate, and only depends on the current difficulty. It is equal to d * 212. Why? Note that a share at pool difficulty 16 is 16 times as difficult as a share at pool difficulty 1, and pool difficulty 1 is 216 times easier than difficulty 1, so the overall effect is 216 / 16. (PPS only: The baseline PPS rate is the amount a miner is paid for each share at difficulty 1; pools PPS rate is the amount a miner is paid for each share at difficulty 16. Pools PPS rate is calculated by dividing the block reward by the estimated shares. So for Dogecoin currently, you divide 500,000 by 5,645,699 to get pools PPS rate 0.088563.)
The Bitcoin wiki has a page on difficulty, but it's somewhat technical and doesn't really talk about mining pools, so I created this post because I couldn't find anything better on Google and ended up using a bit of math and common sense to figure these things out. Though I do recommend reading it for the technically inclined.
For other things like Prop, PPLNS, PPS, etc. there are many existing well-written resources, so I'm saving my breath. This page lists pretty much every single pool structure you might encounter. PPLNS (basic guide, advanced) is probably the most common but also somewhat difficult to understand.
submitted by tony_1337 to dogecoin [link] [comments]

What is the multisignature protocol - this explain why INX will be an anonymous coin as Monero!

What is the multisignature protocol - this explain why INX will be an anonymous coin as Monero!
What is the multisignature protocol - this explain why INX will be an anonymous coin as Monero!
https://preview.redd.it/gb8jjiva0yg11.jpg?width=800&format=pjpg&auto=webp&s=bc0573826f48f45c3507d271f1fe85160592034f
Although Monero added the support for the multisignature protocol several months ago, there is still a certain lack of information online on how this technology works, so we would like to fill this gap first of all. Since the process of creating a multisignature transaction is rather complicated, we decided to focus only on its most vital aspects, including the processes of creating a wallet and exchanging keys, which we believe is enough to understand the strengths and weaknesses of this technology.
We tried to make the article more readable by ditching off most of the formulas and replacing them with schemes and illustrations, so we hope it will be useful not only to experienced engineers but to beginners as well.
On the Monero blockchain, the multisignature-related features is primarily used to allow for wallets, that have multiple users — which isn’t new, as pretty much the same solution was previously implemented by other digital currencies such as Bitcoin and Ethereum. In a nutshell, it allows for joint ownership of tokens which are being stored in a specific wallet. Joint ownership implies each participant has full rights to the entire amount, so there’s a reasonable limitation on its disposal: every transaction must be authorized by a certain share of participants, which is set out when the wallet is created.
The total number of owners and the approval threshold define the so-called “scheme” of a wallet. For instance, a 3/3 multisig wallet has three owners who have to unanimously approve every transaction, while in case of a 2/3 wallet each owner needs just another vote to transfer funds.
Cryptography
As is the case with most digital currencies, the Monero blockchain relies on elliptical-curve cryptography (learn more on Wikipedia). Simply put, this encryption system is valued for its relative cryptographic strength, smaller key size, and faster execution compared to many of its peers.
Every Monero wallet employs two sets of private and public cryptographic keys, each set being comprised of a “spend key” and a “view key”. Taken together, the public view key and the public spend key of a given wallet make up the address, which is used to receive funds. The same way, adding a private view key to a public spend key will create a tracking key, which your counterparts may use to track the funds being sent to your wallet (but never the other way around, so your privacy remains safe).
As you have probably guessed, the full access to a wallet is secured by a combination of its private spend and private view keys, so your private spend key must be kept in secret.
For the sake of brevity, from here on we will use uppercase letters for public keys (i.e. ‘B’ for ‘public spend key’), and lowercase letters for private keys (i.e. ‘b’ for ‘private spend key’). To help you understand the notation used below, let’s take a look at a short formula showing how a public key is derived from a private key:
https://preview.redd.it/7p0jh0dc0yg11.png?width=228&format=png&auto=webp&s=4d66dd129d33908cc6ac1653cc2133789a58f62a
where G is a fixed point on the elliptic curve. The multiplication of a private (scalar) key by G yields a public key, which is also a point on the same curve.Multisignature in Monero
The idea behind the multisig technology is pretty straightforward: having each participant to keep only a part of a wallet’s private spend key, so that transferring funds would require approval by a number of other participants.
It’s nearly impossible for any given participant to gain control over the entire private spend key, while all of them have their own unique public spend keys, as well as copies of both private and public view keys, allowing each participant to monitor the incoming funds.
Creating a multisig wallet in Monero
Currently, the Monero software supports only N/N and N-1/N schemes. To set up an N/N multisig wallet, the users need to complete a single round of calculations, with just one additional step required for the N-1/N scheme. The process of creating a 2/2 wallet is shown in Figure 1.
Figure 1. Creating a 2/2 multisig wallet
https://preview.redd.it/x930tzti0yg11.png?width=800&format=png&auto=webp&s=c20d9b6ceca1be28f41dd62931f6ad3bcfafc947
Firstly, the participants share all their private view and public spend keys, and then calculate their respective sums. The sum of the private view keys becomes the private view key for the new wallet, with its public view key being derived from the private one. Then, the public spent key is calculated the same way. If the N/N scheme was chosen, that’s all of it. The wallet is now created.
If users opt for the N-1/N scheme, they would still have to share their private view and public spend keys with each other, but then each participant must multiply all public spend keys received by their own private spend key. Thus, a new set of private spend keys is created, which is called “multisignature keys,” as shown in Figure 2.Figure 2. Creating a 2/3 multisig wallet
https://preview.redd.it/ay5ckzhk0yg11.png?width=470&format=png&auto=webp&s=2c5b7c973221a583fd00a9f5803c9f9775608c0f
📷
You might have noticed that in the figure above, the keys of the same color have the same value. This is because such multisignature keys have one important property expressed by the following equality:
https://preview.redd.it/dprohjoq0yg11.png?width=497&format=png&auto=webp&s=bf63932e61cefcfc581c5c4a177ba8e9e880c4f1
📷
To put it simply, when multiplying a private key by a public key, the indices can be moved as one would like without affecting the result (this is, by the way, the very property of such products that underlies the elliptic curve Diffie–Hellman key exchange protocol). This means that every multisig key is shared between exactly two participants.
To calculate a public spend key, which must be the same for all participants, each of them derives a public key from their respective multisignature key, and shares the result with others. Then the public spend key is calculated by summing the distinct values of all public multisig keys.
Now the participants only have to calculate a view key, which is done the same way as for a 2/2 wallet.
So, now that the wallet is created, let’s move on to looking at how it could be used.
Monero transactions
To explain how to launch a multisig transaction, let’s briefly consider how Monero deals with funds transfer in general. In a very simplified form (not taking into account ring signatures and RingCT), it works like this:
Figure 3. Simplified representation of a transaction
https://preview.redd.it/1pd1zu4s0yg11.png?width=800&format=png&auto=webp&s=02b97a4860389c20f311cb0f5ffd3f24ba594bc5
📷
On the right are the transaction outputs, or the money which the transaction generates, and on the left are the inputs, or the money being destroyed when said transaction is complete.
So, when Alice wants to send 1 XMR to Bob, she takes 1 XMR, plus the necessary commission, from her unspent outputs, puts it to her inputs, calculates a key image for each of them, and finally generates outputs for 1 XMR and an output key for each of them.
To complete the transaction, Bob uses his private view and public spend keys to restore the output keys for each output generated by Alice, and if there’s a match between the restored and the incoming keys, he will consider this output as intended for him.
From the network’s point of view, a multisig transaction isn’t in any sense different, although it’s a little bit more complicated to initiate. It’s usually done in several steps:
Participants exchange partial key images for all known outputs; Participants re-synchronize their wallets in order to learn its accurate balance taking into account the key images; The sender prepares the transaction, signs it, and sends it over to one of his counterparts; Each subsequent participant adds its own part of the RingCT signature; The last signer completes the creation of RingCT. 
Generating key images and sharing outputs
When scanning the blockchain (i.e. during the synchronization), a wallet is unable to determine whether some of the inputs are targeting its outputs, since it does not have the data to calculate key images for them, so it’s safe to say that it only accounts for incoming transactions.
In order to run a transaction correctly, a user needs to restore the key image for each of the outputs, then synchronize with the blockchain to determine which outputs have been spent, and then proceed to generating the transaction. In Figure 4, the process of restoring key images is shown as in case of a 2/3 wallet.Figure 4. Restoring key images as in case of a 2/3 wallet
📷
https://preview.redd.it/w6a5v08t0yg11.png?width=800&format=png&auto=webp&s=37570fc67117ab8de403d6aae0c11955e4aad915
Again, to put it simply, the key image for each output is calculated by summing the distinct values of all partial key images. As can be seen from the figure above, this can be done by any two participants out of three, and, most importantly, their private keys remain undisclosed during the transaction, making it impossible for a third party to restore the complete spend key and to seize control over their funds.
With this data, the initiating party can finalize the transaction, which is then sent to all confirmed participants to generate a Ring CT signature. Then, at the final stage, the transaction is signed and broadcast to the network.
Data exchange automation
The above are procedures for exchanging key parts and key images that need to be performed either once, or after each transaction is sent. In the current release of the Monero Core Wallet, these procedures are supposed to be performed manually by exchanging the necessary data on the secure communication channels (i.e. exporting the necessary data from the wallet and sending them via messengers or otherwise).
Here is an example of the procedures required to create a 2/3 wallet and sign a transaction. Each participant performs the following commands using the monero-wallet-cli utility:
MultisigV1baCWviNomMXe271W8HW4imh8SsnNEWP2bCswQfoB9MGzNZ8FUG3e8UCNm5toKQzSQH2e8rUWUCGazaCcvej1ToCQYBMovJZYaYiYWQvzsvyWruXycZdVDSsyugjEzwQNK3FUEkug2LXiH91NmekGb7kp9gK9kuoxDDhGn1nLKXUpnXR5
Send this multisig info to all other participants, then use make_multisig threshold info1 [info2…] with others’ multisig info.
This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet’s participants:
wallet 9uKCgo: make_multisig 2 MultisigV1XQugvU4JwcwTQbKdH5qGFnavxUX54wGxNis2iN6zoLD94DahnXbyNxH1NQBp2rYRFFJCT2uiJbssHLJYEAb8X1tS5UCqTXYu3FkgRNSZt5mRNgE58iXZHPj839Pbm3ozGcXmRT6GcRMMxMjRonfYKpnPq1UyZSMN7Qr9AYin1gYyoJSh MultisigV1HVqTW8P4UNWUE8QfBaEdwDWJuXBWEPnTrKqVJiUudGG14cHREk9TKmeR9xzSs4wf4jd22mV94C2ehSViApawnpp2SpRqp19eKXLHz2JmNp7eGR6TJMt4VsDTqANRwb1FtD9weef342f5KXDRZK7iQT1MTubyHhEcFyV5aLCjjQ8owMkH
Another step is needed
MultisigxV1PQwytRuYGkB6UEVJ7v2S7q492cwNTdwySXyasToAuQQq73TvM1rBrog5bcYz5w2P6Z4jwKtzrHr7shRGo5mAShvLVbYtBdQNhQsizMb51K7iaWQB4te5mQaiB1cok84CbvA9WKnVpTJGyb7SbS7NwAgmpEhU812RTdzrdHp5sD41duYtRNW6qna5mTMYmtTjAEdKpKCvM6EwhV4ncWscpvoBfyYP
Send this multisig info to all other participants, then use finalize_multisig info1 [info2…] with others’ multisig info:
wallet 9uKCgo: finalize_multisig MultisigxV1PdeMJo5rxcWTXDJ7rbyuacBseugsn2djZKKEdwvFYVmz73TvM1rBrog5bcYz5w2P6Z4jwKtzrHr7shRGo5mAShvLUxykuq5gho7gGQBCEa3JmBaY7rNHqqUaCUs1WWQi9tojZTMmCJJ4evwJzcXEDqcAd7ShwxsJtJtXdiATs54BbBfyCbwXbnDRKAtagJF36z74KJA58NgEmnHv23ZQeePCoacM MultisigxV1RTwyE53FjKPQaAn4ZMWM5hc8C92eJndpyKby4L9HpF2TUxykuq5gho7gGQBCEa3JmBaY7rNHqqUaCUs1WWQi9tojVbYtBdQNhQsizMb51K7iaWQB4te5mQaiB1cok84CbvA928U2yJFK86jNxtMopxHkcnYjjeYfp8TAB53Y1CukBiHfL2M4EztDALXLReXjJxkMry65Jw6vVePJp2T5CW8T8QE5
Before sending a transaction, all parties must exchange partial key images:
wallet 9uKCgo: export_multisig_info ki1
Multisig info exported to ki1.
wallet 9uKCgo: import_multisig_info ki2 ki3
Height 1103873, txid f7e648915287fafca1dc67eb26267e09f92bba7ab7fd52a12600c3e6440db0eb, 2.000000000000, idx 0/0
Height 1103882, txid 2e3a5591c741c0943a47a2bcbd1ec26493158088c88308bcbfc97423ea95c49, 0.009000000000, idx 0/0
Multisig info imported
Then the wallet is re-synchronized to account for the complete keys. After having received data on outgoing payments, one of the participants can set up the transaction:
wallet 9uKCgo: transfer 9vUnTucAioDHD4ZqrFHXAgfLqrsC3LkZ6JFr5axBLhDiFMaHuEk33aqXimoZEMtQh5ibdYxcNSBw2hBZLAsCnuw4B4rBeZX 1
No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): Y
There is currently a 2 block backlog at that fee level. Is this okay? (Y/Yes/N/No)Y
Transaction 1/1:
Spending from address index 0
Sending 1.000000000000. The transaction fee is 0.012000000000
Is this okay? (Y/Yes/N/No): Y
Unsigned transaction(s) successfully written to file: multisig_monero_tx
Then the generated file is transferred to another participant to be signed and broadcast to the network:
[wallet 9twQxU]: sign_multisig multisig_monero_tx
Loaded 1 transactions, for 1.031762770000, fee 0.012000000000, sending 1.000000000000 to 9vUnTucAioDHD4ZqrFHXAgfLqrsC3LkZ6JFr5axBLhDiFMaHuEk33aqXimoZEMtQh5ibdYxcNSBw2hBZLAsCnuw4B4rBeZX, 0.019762770000 change to 9uKCgopHzXrQLnph1ZNFQgdxZZyGhKRLfaNv7EEgWc1f3LQPSZR7BP4ZZn4oH7kAbX3kCd4oDYHg6hE541rQTKtHB7ufnmk, with min ring size 7, no payment ID. Is this okay? (Y/Yes/N/No): Y
Transaction successfully signed to file multisig_monero_tx, txid 1d28af64bc78d05b625c4f7af7c321d4c8943c4c2692f57aa53e303387f40db6
[wallet 9twQxU]: submit_multisig multisig_monero_tx
Loaded 1 transactions, for 1.031762770000, fee 0.012000000000, sending 1.000000000000 to 9vUnTucAioDHD4ZqrFHXAgfLqrsC3LkZ6JFr5axBLhDiFMaHuEk33aqXimoZEMtQh5ibdYxcNSBw2hBZLAsCnuw4B4rBeZX, 0.019762770000 change to 9uKCgopHzXrQLnph1ZNFQgdxZZyGhKRLfaNv7EEgWc1f3LQPSZR7BP4ZZn4oH7kAbX3kCd4oDYHg6hE541rQTKtHB7ufnmk, with min ring size 7, no payment ID. Is this okay? (Y/Yes/N/No): Y
Transaction successfully submitted, transaction <1d28af64bc78d05b625c4f7af7c321d4c8943c4c2692f57aa53e303387f40db6>
You can check its status by using the show_transfers command.
Obviously, with a great desire to use multisig wallets, it’s possible, but this approach is unlikely to suit beginners or mobile users.
Therefore, we are developing our own solution that would allow us to automate the exchange of such data without violating the privacy of the parties and the security of transactions, making multisig applications on Monero accessible to more people. Our solution is being designed to support both standard and multisig wallets, and is being run on an open server that provides the exchange and transfer of data to corresponding wallets.
More information on our contribution to Monero can be found at https://exan.tech/en/projects/monero/, as well as at the project’s page at https://wallet.exan.tech.
Resume
Currently, only a limited set of signature schemes is supported, but the developers plan to extend the list to allow for arbitrary values such as 2/5, etc. The only supported way to exchange necessary data is rather inconvenient, but thanks to the Monero’s open ecosystem the community puts high hopes on third-party solutions being developed to improve the situation.
Later in this series, we will talk about other aspects of the Monero blockchain, such as RingCT and ring signatures, wallets architecture and the libwallet library, as well as the network’s future prospects.
Please ask your questions in the comment section, suggest topics for new cryptocurrency-related articles, and subscribe to our blog to stay abreast of our upcoming events and valuable publications.
From : https://hackernoon.com/monero-multisignatures-explained-46b247b098a7
#InziderX #Exchange #ico https://inziderx.io/
submitted by InziderX to u/InziderX [link] [comments]

Chill everyone, let's talk bitcoin internals, fundamentals and what it means for price.

So I've been watching bitcoin for a couple weeks, and i got a bit of my own dough into it.
Of recent everybody seems obsessed with the vast accumulation of wealth in the hands of few, and the hordes of panicky upstarts trying to get in, who might get screwed by falling prices (for instance see this lovely post
Hyperbole
Now I'm not saying that the doomsday scenario the prophets are peddling is impossible. But it's about as possible as the wonderland prophets who're hoping for a 100'0000% return.
Trojans
On a related note, yeah some trojan started targeting wallet.dat, surprise surprise. Incidentally, that the same machine you're making VISA payments from and operate your e-banking? You worried about that too? Not? Well I don't see VISA shares falling every time somebody infects himself with a keylogger.
Pricing
So I thought a fair bit about where prices are going to go, and why, and I asked a lot of people and talked this over, and after this, a few things remain that give some direction.
A price of a security (like bitcoins, or gold, stocks, fiat money etc.) is ultimately determined by supply and demand. If you understand supply and demand, you understand prices.
So an important consideration is who's bidding for bitcoins, and who's asking for a price to sell them, and what prices to these parties consider reasonable.
Buyers (bid)
This is a diverse group of people, it may include people who use the small but fledgling bitcoin economy to buy coins to pay other people in them. But by far and large, it's probably a speculation driven market, people buy bitcoins in the hopes the value will rise.
The psychology speculative buying ends up being about a zero-sum game. Somebody buys, somebody sells, the overall activity neither adds or removes coins from the market, and hence when viewed over long periods (months/years) this activity is just white-noise.
This defines the demand, and demand rises and falls with bitcoin popularity and confidence. Some week confidence may be low, some it may be high.
Sellers (ask)
This roughly falls into two camps. The speculative sellers and the miners.
Speculative selling (that is sells of coins bought earlier) is the other half of the zero-sum game, it neither adds or removes coins overall, and is hence just white noise.
Freshly minted coins (by miners) which enter the market are the real driver of supply.
The limited and small constant supply myth
Every 10 minutes 50 new bitcoins are found. That is a fact, and if it strays from that, the difficulty adjusts to keep it there. If you look at it purely from the point of view of scarcity, this would seem a small (but nearly ignorable) inflationary influence.
This however would be an over-simplification. There are substantial amounts of mined coins held by people who've been mining them for the better part of a year. They've been hoarding these coins, and commonly I'd refer to this group as bitcoinionaires. Their actually supply capacity vastly exceeds the day to day supply of fresh coins.
Since these stockpiles are the real driver of the supply, it's important to understand when the miners/bitcoinonaires will sell and when they will not.
Mining economics
The mined bitcoins where obtained by the activity you call mining. This is neither an easy nor free way to get coins. It takes energy, room, time to setup, etc. There are constant costs attached to this (paying rent and electricity) as well as recoverable costs (buying hardware to do it) and unquantifiable costs (work rendered to make it all happen).
You can think of mining as a business that has expenses and profits. In order for that business to work, the constant expenses must be covered, the recoverable expenses must be recoverable, and the work invested must be repaid.
This all leads to a fairly straightforward calculation which goes something like this: You pay around 1000$ for one 1gh/s (one gigahash per second) in hardware. Running that hardware you pay about 2-3$/day/gh in energy. If you factor in rent of some or another form, you probably pay between 1-5$/day/gh in rent. If you also factor in resale value decay of the hardware you bought, you immediately lose about 20% upon buying the hardware, and around 30%/year.
As a business you probably plan to run your miner for more then half a year, so about 50% of the hardware cost has to be recovered in a reasonable time-frame, say 3 months. Which means there's a hardware recovery calculation that you should do that factors in at about 2$/day/gh
If you sum that all up, you get a running cost of mining that is around 5-10$/day/gh.
One gigahash will get you about 1.2btc/day at current difficulty, which is at current prices somewhere around 17-20$.
It is fairly obvious that your expenses need to be lower then your profits. If they are not, what happens?
Difficulty
You may have heard about difficulty, in essence it is a constant value (for 2 weeks) that aims to keep the rate of fresh coins at about 50coins/10minutes. Obviously, the more difficult it gets, the less coins 1 gh/s will mint, and the more difficult the economy of a mining business becomes.
miner psychology
Since you can't simply acquire and sell hardware capacity on a dime (it takes weeks and months to do it), and since you will need months to recover your boot costs, miner selling is out of necessity a long-term affair.
So what can a miner do when the price of btcs falls below their operational cost?
bitcoinionaire psychology
If prices go down and you sit on a big pile of coins, you lose wealth. Nobody likes loosing wealth, I don't like it, you don't like it, the bitcoinionaires don't like it.
In order to become a bitcoinionaire you need to be a hoarder. If you wouldn't hoard, you wouldn't have tens of thousands of bitcoins. A hoarder essentially never likes letting go of his stash. You get rid of as little of your stash as possible to keep your risk and costs in a reasonable balance. Which means, these fat-cats depicted in the picture above, they didn't sell you all they had, not even a fraction. They sold you just about as much as they where personally willing to sacrifice. This means that they're still having the majority of their wealth in the game, and they absolutely do not want to see that devalued to zero.
I've talked to a bunch of these very decent folks, and their sentiment is that they're in for the long haul. True they'll sell "big" positions occasionally, but they keep the majority of their assets stashed away.
If you're expecting the miners/bitcoinionaires to suddenly explode with supply at lowering prices, you're most likely mistaken.
the difficulty/price correlation
For the reasons outlined above, there's a very simple correlation. If prices go down and difficulty goes up, by far and large supply dries out.
However lower prices drive demand (in bitcoin volume) up, because as the price goes down, the buying power (in $/btc) of the would-be buyers increases.
And if the market self-balancing fails, then the difficulty adjust will step in once enough miners have given up.
In sum these dynamics lead to deflation. Since difficulty and hardware turnover moves at a much slower pace then prices, prices are far more likely to adjust to difficulty then the other way around in the long term.
What does all of this mean?
Keep a cool head, and don't let the market fool you. Trust your fundamentals, technicals and sentiment analysis, and tightly control your risk only to what you personally can afford to lose.
If you buy in a mania or sell in a panic (we've see both the past 2 weeks), you're probably going to lose (or diminish your profits).
Study bitcoin and what drives it carefully and come to your own conclusion. Adjust your strategy carefully and maybe, one day a couple years from now, you can be a bitcoinionaire. If not, life is full of other opportunities, so just pick yourself up and try the next.
So chill everyone, and have a good time :)
submitted by pyalot to Bitcoin [link] [comments]

The PHANTOM Technical Whitepaper[Version 0.1] The PHANTOM TeamPHANTOM Technical Whitepaper V2 pass2

We considered the attack strategy when the attacker tried to double the expenses by "over" the system speed. A “massive” attack means that, in order to double the expenses, the attacker tries to give the dual spending transaction a very large weight so that it will exceed the legal subtleties. When the allowed weight is unbounded, s policy is a threat to the network. As a solution, we can limit the transaction's own weight from above, or set it to a constant value. When the maximum self-priority of a transaction is m, the best attack strategy is to generate a transaction with its own weight, m, that refers to a dual-overhead transaction. When the INP is compared to the attacker's computing power, the ut flow of an "honest" transaction is large enough so that it is possible to estimate the likelihood of a double-spending transaction having a greater cumulative weight. formula). The attack method of constructing the "parasite chain" makes the height or score-based approval strategy obsolete because the attacker's site has higher value on these indexes than LE. The ultimate tangled. On the other hand, the PhantomTip selection algorithm described in Section 4.1 seems to provide protection against such attacks. The Phantom hint selection algorithm also provides extra incentives to prevent delay nodes. Resistance of F. to quantum computing It is well known that a sufficiently large quantum computer 35 can very effectively deal with problems that rely on trial and error to find a solution. Finding a "now" process, eating a bitcoin block is a good example. Since today, we must check an average of 268 non-CES to find a suitable hash that allows new blocks to be generated. (Everybody knows) TOM computer words need to handle INSTRON(N) operations to solve problems similar to the Bitcoin puzzle mentioned above. The same problem also requires INSTEM(N) operations on a classic Song computer. Therefore, the quantum computation r value is about 268 = 234 ≈ 17 billion times, which is more efficient than a classical computer on mining a bitcoin blockchain. In addition, it is worth noting that if a blockchain does not increase its difficulty, as a response to increased hash capabilities, the rate of isolated blocks will be increased. For the same reason, "heavy weight" attacks will also be more effective on quantum computers. However, as suggested in Section 4, limiting the weight from above will effectively prevent qua, as will computer attacks. This is obvious because the number of that need to be checked to find the right hash to issue a non-Ces transaction is not unreasonable. Age on Aver is about 38 years old. Therefore, the "ideal" quantum computer's efficiency gain is 34 = 81, which is quite acceptable. What's more, the algorithm used to implement the structure is such a time to find a random number. In order to obtain a wide range of applications, the applications on the chain need a platform that is flexible enough to meet the following requirements: Supporting millions of users to compete with companies such as ebay, uber, airbnb, and facebook requires high-performance technologies capable of handling tens of millions of active users. In some cases, the application may not reach a critical number of users, so a platform that can handle a large number of users is crucial. Cross-chain transaction of Free Usage Application developers of cross-chain transaction need to provide users with the flexibility to trade cross-chain transactions for free; users should not pay to use the platform or benefit from their services. A blockchain platform, which is freely available to users, may be used more widely. Developers and companies can develop effective cross-chain monetization strategies. Easy to upgrade and failback Businesses building blockchain-based applications need the flexibility to enhance the new features of their applications. The platform must support software and smart contract upgrades. All non-trivial software is affected by errors, even the most rigorous formal verification. The platform must be robust enough to fix bugs when bugs inevitably occur. Low latency A good user experience requires reliable feedback with a delay of no more than a few seconds. Longer delays can frustrate users and make applications built on the blockchain uncompetitive with existing NOs. N-block chain alternatives: the platform should support low latency for transaction latency. Due to the order-dependent steps of DPOS's large super nodes, some applications cannot implement parallel algorithms. Applications such as swaps need enough sequential performance to handle hi. Gh volume. Therefore, the platform should support fast sequential performance. Parallel performance Large applications need to divide workloads across multiple CPUs and computers. Consensus algorithm (BFT) The PHANTOM.IO software uses the only known decentralized consensus DPOS algorithm. This algorithm can satisfy the performance requirements of the application program on the blockchain, that is, the trust proof of delegation (DPO). Lander algorithm, using PHANTOM.IO software to hold tokens on the blockchain, can select block producers through a continuous approval voting system. Anyone can choose to join the block. Produce, and will have the opportunity to produce blocks, as long as they can persuade token holders to vote for them. PHANTOM.IO software allows blocks to be generated precisely every 0.5 seconds, and exactly one producer is authorized to generate blocks at any given point in time. If there is no editing time in the SCH generation block, then skip the block of that time slot. When one or more blocks are skipped, there is an interval of 0.5 or more seconds in the blockchain. Used in software, blocks are produced in n rounds (x blocks per unit, n producers per time). At the beginning of each round, n unique producers were decided by Toke's vote. n holder, the selected manufacturer arranges the order according to the agreement of n or more manufacturers. If a producer misses a block and has not produced any blocks in the past 24 hours, they will be considered to be removed from therein until they inform the blockchain that they intend to start producing blocks. Gain: it ensures that the network runs smoothly, by minimizing the number of blocks missed by the non-scheduled producers, which have proven to be unreliable. Under normal circumstances, the DPOS blockchain does not experience any bifurcation because block producers cooperate in producing blocks rather than compete. If there is a fork, the consensus will switch to the longest chain in automatic way. This method works because the speed at which blocks are added to a block fork is directly related to the percentage of block producers that share the same block. DPOS consensus: in other words, the length of the blockchain forks of more manufacturers grows faster than the lesser forks of manufacturers, because the more producers, the less the forks, and they are ignored. In addition, any block manufacturer should not produce two fork blocks at the same time. A block maker that prevents doing so is likely to be eliminated. This type of cryptographic evidence for dual production of m can also be used to automatically clear abusers. Byzantine fault tolerance was added to the traditional handicapped organization, allowing all producers to sign all blocks as long as no producer marks two blocks with the same time stamp or the same block height. A 15-minute painter has signed a block that is considered irreversible. Any Byzantine writer must sign two blocks with the same time stamp or block, resulting in treasonable cryptographic evidence. Under this model, an irreversible consensus should be reached within 1 second. Transaction confirmation A typical association of organizations of persons with disabilities has 100% of producers involved. After an average transaction time of 0.25 seconds, the transaction can be considered as confirming 99.9% certainty. In addition to disabled people's organizations, PHANTOM.IO also added asynchronous Byzantine Fault Tolerance (ABFT) to accelerate irreversibility. The aBFT algorithm provides 100% irreversibility confirmation within 1Seco. The software requires that each transaction contain a portion of the hash of the most recent block header. This hash provides two purposes: To prevent replay of transactions on forks that do not include reference blocks; and Signals when a particular user and their listed shares are placed on a particular fork. Over time, all users will eventually confirm the blockchain directly, which makes it difficult to fake chains because fakes cannot migrate transactions from legitimate chai. Haploid generation (code) Named permission levels For use in software, accounts can define named permission levels, and each permission level can be derived from higher level named permissions. Each named privilege level defines one privilege; one privilege is a threshold multi-signature check that consists of the keys and/or naming privilege levels of other accounts. For example, the “Friends” permission level on the account can be set to be controlled equally by any friend of the account. Another example is the Steem blockchain, which has three hard-coded named permission levels: owner, activity and release. Delivery licenses can only perform social actions such as voting and post-processing, while Active permissions can do everything except change the owner. The owner's permission is for refrigerated and can do all things. The PHANTOM.IO software allows each account holder to define their own hierarchy and grouping of actions. Permission mapping The PHANTOM.IO software allows each account to define the mapping between any other account's contracts/operations or contracts and their own named permission levels. For example, account holders can map ac. The counting holder's social media applies for the account holder's "friend" permission group. With this map, any friend can post the account holder’s identity on the account holder’s social media. Even numbers, they will put their account holders, they still use their own keys to sign the action. This means that it is always possible to determine which friends use the account and how to use it. Evaluation authority When an action of "Action" is passed, the PHANTOM.IO software will first check whether Alicepc's permission map. If nothing is then mapping. If no more matches are found, the map is assumed to point to the named permission group Once the mapping is identified, the threshold multi-signature process and the rights associated with the naming authority verify the signature authority. If it fails, it will move upwards. Go to parent permissions and eventually point to owner permissions. Default permission group The technology also allows all accounts to have an "Owner" group that can complete all tasks, and can do any "Activity" group other than changing the owner group. All other permission groups S are derived from "activity". Parallel Computing of Permission The permission evaluation process is "read-only" and changes to the permissions of the transaction do not take effect until the end of the block. This means that all keys and permission calculation transactions can be executed in parallel. In addition, it means that you can quickly verify permissions without starting expensive application logic, and these logic must be rolled back. Finally, it means that transaction privileges can be evaluated when pending transactions are received without having to re-evaluate them when applied. For all things considered, privilege validation represents a significant percentage of the calculations needed to validate transactions, making this a read-only and trivial parallel process can greatly improve performance. When replaying to regenerate a deterministic state from the operation log, there is no need to re-evaluate the rights. The block of facts contained in the known product is sufficient to skip this step, which greatly reduces the computational load associated with replaying a growing blockchain. Actions of mandatory delays Time is a key component of security. In most cases, it is not possible to know if the private key has been stolen until it is used. Time-based security is used when people have applications that require a key to be stored on a computer connected to the Internet for daily use. PHANTOM.IO software enables application developers to indicate certain operations that must wait for the minimum value of each operation, and they can be applied after being included in a block. During this time, they can be cancelled. When these operations are broadcasted, users can receive notifications via email or text messages. If they are not authorized, then they can use the account recovery process to restore their account d withdrawal actions. The delay required depends on how sensitive the operation is. Buying coffee may not be delayed and is irreversible within a few seconds, while buying a house may require a 72-hour clean-up time. It may take up to 30 days for the entire account to be handed over to the new control. The actual delay is chosen by the application developer and the user. Application deterministic parallel execution Blockchain consensus depends on deterministic (repeatable) behavior. It means that all parallel executions must be freed from the use of mutexes or other locking primitives. Without locks, there must be some way to ensure that transactions that can be executed in parallel do not produce ambiguous results. Software designed in 2018 will run a single thread, but it contains the data structures necessary for future multithreaded, parallel execution. Based on PHANTOM.IO software, once the parallel operation is enabled, the task of the block manufacturer is to transfer the actions to independent fragments so that they can be evaluated. The schedule is the output of the block producer and will be executed, but the process of generating the schedule is not deterministic. This means that block producer S can use parallel algorithms to schedule transactions. When part of the parallel execution means that when a script generates a new Action, it will not be delivered immediately, but it plans to deliver it in the next cycle. The reason is that it cannot be Ivered immediately because the receiver may actively modify its state in another fragment. Minimum communication delay Delay is the time it takes for receiving a response after an account sending an Action to another account. The goal is to enable two accounts to exchange operations back and forth in a single block. There is no need to wait 0.5 seconds between each action. To achieve this, PHANTOM.IO software divides each block into loops. Each loop is divided into fragments and each fragment contains a trans-list of actions. Each transaction contains a set of operations to be delivered. This structure can be visualized as a tree in which alternating layers are processed sequentially and in parallel. Region Cycle (order) Fragments (parallel) Transaction (order) Action (order) Receiver and notification account (parallel) Transactions generated in one cycle can be delivered in any subsequent cycle or block. The block generator will always add a loop to the block until the maximum wall-clock time passes or there is no n. EW generates the transaction to be delivered. You can use static analysis of blocks to verify that in a given period, no two fragments contain transactions that modify the same account. As long as the invariants remain unchanged, the block ca will remain unchanged. n Processes by running all fragments in parallel. Read-only operation handler Some accounts may be able to handle a pass/fail based operation without modifying their internal state. If this is the case, these handlers can be executed in parallel as long as they are read only. The Ly operation handler for a particular account is contained in one or more shards within a specific period. Multi-account atomic transactions Sometimes it is necessary to ensure that actions are delivered and accepted by multiple accounts. In this case, both operations are placed in one transaction and two accounts will be allocated. The same pieces and actions apply in sequence. Non-equilibrium partial evaluation Scale block chain technology requires that the components be modular. Everyone doesn't have to run everything, especially if they only need to use a small part of the application. Exchange application developers run full nodes to display Exchange status to users. This exchange application does not require the status associated with social media. The software allows any full node to select any subset of applications to run. If the application never depends on stat, operations passed to other applications will be safely ignored. Subjective best effort scheduling The software cannot force the vendor to pass any action to any other account. Each block producer makes its own subjective measurement of computational complexity and time. This applies to whether a transaction is generated by a user or automatically generated by a smart contract. In the boot blockchain using PHANTOM.IO software, at the network level, all transactions count toward the computational bandwidth cost based on the number of WASM instructions executed. However, each block producer using the software can use its own algorithms and metrics to calculate resource usage. When a block producer concludes that a deal or account has consumed a prop. When generating their own blocks, they simply reject the transaction; however, if other block producers consider the transaction, they will still process the transaction. In general, as long as a block producer considers a transaction to be valid, and all other block producers accept it under resource use restrictions, it may take 1 minute to find the producer's transaction. In some cases, the producer may create a block that contains a transaction that is out of the acceptable range. In this case, the next block producer may choose to reject block D. The tie will be broken by the third producer. This is no different from what would happen if a large block caused network propagation delays. The society has noticed a pattern of abuse. Remove ballots from hooligan producers. This subjective evaluation of computational costs has forced people to accurately measure the time to run. With this design, there is no need for PRESI. Calculating directives greatly increases the opportunity for optimization without breaking the consensus. Proof of integrity When using the proof of Merkle from an external blockchain, there is a big difference between knowing that all transactions are valid and knowing that no transactions have been skipped or OMI. Although it is impossible to prove that all the recent transactions are known, it can be proved that there are no loopholes in the history of the transaction. PHANTOM.IO Software Tool is achieved by assigning a serial number to each operation passed to each account. Users can use these serial numbers to prove that all operations for a specific account have been processed. And they are processed in order. Conclusions PHANTOM.IO software is designed based on proven concepts and best practices and represents the basic progress of blockchain technology. The software is part of the overall blueprint. For a blockchain society with global scalability, decentralized applications can be easily deployed and managed.
submitted by phantomusa to 195 [link] [comments]

YouTube DefMine - New Free Bitcoin USD Cloud Mining Site 2020 ... Butterfly Labs 50 Gh/s ASIC Bitcoin Miner SHA-256 NEW FREE BITCOIN CLOUD MINING SITE DEFMINE 2020 SIGNUP ... Gekkoscience NewPac - USB BTC Mining (100 GH/s + on ...

Bitcoin mining is the process of making computer hardware do mathematical calculations for the Bitcoin network to confirm transactions and increase security. As a reward for their services, Bitcoin miners can collect transaction fees for the transactions they confirm, along with newly created bitcoins. Mining is a specialized and competitive market where the rewards are divided up according to ... Bitcoin is a digital or virtual currency created in 2009 that uses peer-to-peer technology to facilitate instant payments. It follows the ideas set out in a whitepaper by the mysterious Satoshi ... Bitcoin definition is - a digital currency created for use in peer-to-peer online transactions; also, usuallybitcoin : a unit of this currency. How to use Bitcoin in a sentence. Bitcoin bezeichnet eine digitale Einheit, welche als Wertträger funktioniert. Bitcoins werden durch den sogenannten Proof-of-Work-Algorithmus erzeugt. Dieser Algorithmus ist in eine Software integriert, welche von einzelnen Computern innerhalb des Bitcoin-Netzwerkes heruntergeladen und betrieben werden kann. Der Algorithmus wird verwendet, um getätigte Transaktionen (Überweisungen) von ... Bitcoin miners are neither able to cheat by increasing their own reward nor process fraudulent transactions that could corrupt the Bitcoin network because all Bitcoin nodes would reject any block that contains invalid data as per the rules of the Bitcoin protocol. Consequently, the network remains secure even if not all Bitcoin miners can be trusted.

[index] [48170] [25568] [14533] [41156] [18807] [33385] [14309] [7759] [1748] [45249]

YouTube

BITCOIN EARNING SITE DEFMINE 2020 SIGNUP BONUS 10 GH/s Link : https://defmine.com/Welcome/Partner/9602 DefMine.com The company provides an opportunity to min... Start trading Bitcoin and cryptocurrency here: http://bit.ly/2Vptr2X Bitcoin is the first decentralized digital currency. All Bitcoin transactions are docume... DefMine - New Free Bitcoin USD Cloud Mining Site 2020 - Get Free Signup Bonus ( 10 GH/s ) Live Proof Website Link : https://defmine.com/Welcome/Partner/10358... This is a BFL 50 Gh/s mining rig mining sha-256 algorithm crypto coins. Stable at ~ 55 Gh/s using MinePeon on a Raspberry Pi. #BitcoinMiningSite# #best_free_new_bitcoin_cloud_mining_site_2020 Subscribe Channel 👉👉 https://cb.run/YD7l ...

#