Making sense of bitcoin and blockchain: PwC

Places to use Bitcoin in New York City

This subreddit is dedicated to promoting the businesses that accept Bitcoin in New York City. Businesses in any of the Boroughs are welcome and encouraged to announce their acceptance of Bitcoin as a payment.
[link]

Buy Bitcoin Paypal

Bit coin is a peer to peer transaction system created last year that uses trades to be, conducted by a digital money, the bit coin. Unlike monies given by states, Bit Coin is completely electronic and is separate of any state or market, without ties to some monetary authority, corporation, or business.
[link]

Litecoin Discussion

Litecoin_Discussion - a place for cultivating high-quality, open and serious discussions about Litecoin.
[link]

If Bitcoin Exchanges are now Legally Recognized money service business, how can the (criminal) banks legally refuse/deny any crypto-related transactions??

https://cointelegraph.com/news/cryptocurrency-firms-now-recognized-as-money-service-businesses-in-canada
submitted by johnjbogle to BitcoinCA [link] [comments]

Can we add specific flair to major Bitcoiners in this subreddit for awareness?

It seems like a pretty easy change to make, and one that wouldn't be incredibly visible or obnoxious to most users. It would prevent things like this:
http://www.reddit.com/Bitcoin/comments/1yj5b5/unverified_pastebin_gmaxwell_irc_log_mtgox_was/cfkz7w8
Where I both look like an idiot and slow the conversation down with my lack of knowledge. Identifying people like gmaxwell, unless they mind, seems purely helpful. It comes with several benefits--preventing spoofing, reduced spam of people commenting to identify earlier participants, increased awareness of important figures.
I think as a community there are a few groups of people we want everyone to know when they comment. For example:
I'm not sure how Reddit's moderating system works in this instance. I believe the Mods can only assign flair to a user, but not force them to display it. If that's accurate, this seems like a useful thing to do--it ensures that if these notables want to be recognized when posting, they can be, and if not, they don't have to be excessively conspicuous. In that thread with gmaxwell (nullc) it would've cut down on comment spam a decent amount--there were maybe 10 comments pointing out who he was, and while it's a minor problem, we should always be looking to cut down on noise if possible.
Beyond adding flair to those classes of people, which seems like a purely positive idea, I'm also interested in what people would think of a less restrictive flair system. I'm imagining a system that would either allow users to set their own flair as they wish (within reason) or allow the mods to grant flair requests as they feel appropriate. This would help smaller Bitcoin-related businesses/services/content providers get their name out to commenters in this subreddit. As someone in that category myself I'm obviously incredibly biased on this idea, but I think the question is whether most users would find it annoying. Flair doesn't bother me, but I'd love to hear people's opinions on that topic--I think we can find a good way to implement this that reduces spam, doesn't create clutter, and helps identify/verify posters.
Regardless of your thoughts on that alternative suggestion, I feel most of us can agree that tagging people like gmaxwell is just helpful. Hopefully we can add that.
submitted by Kerrai to Bitcoin [link] [comments]

Zebpay Announced Closure of Its Bitcoin Exchange Business Following India’s Ban on Crypto Related Services https://ift.tt/2IqZAP0

Zebpay Announced Closure of Its Bitcoin Exchange Business Following India’s Ban on Crypto Related Services https://ift.tt/2IqZAP0 submitted by bitnewsbot to bitnewsbot [link] [comments]

Offering Discounted Translation/Localization Services to Bitcoin Related Businesses

Hey everyone,
I'm not super active in this sub, but I do lurk quite a bit and I love what the community is doing to promote Bitcoin globally.
I'd like to help you all out in your Bitcoin related endeavors, and fortunately I think I'm in a position to do so. I'm a branch owner at a small translation company based in China and we specialize (logically so) in translations to and from Chinese. Seeing as China is currently the (second?) biggest bitcoin market, I imagine there's a pretty big demand for translation and localization to and from this market. So, what I'd like to offer is discounted translation service payable for in bitcoin for any bitcoin related business, website, etc.
We offer translation from Chinese into Arabic, English, Italian, Japanese, Korean, and Russian as well as English to Chinese. Other languages are definitely possible with enough prior notice.
Prices will be determined on a case by case basis, but expect something around 10¢ per word (source language) give or take.
If this sounds like something you could use then please don't hesitate to send me a pm and we'll get everything hashed out in a jiff!
submitted by Yuanlairuci to Bitcoin [link] [comments]

http://www.bigbtc.ca/ BIGbtc Bitcoin Integration Group. Provides services related to the business adoption of crypto in Canada!

submitted by papersheepdog to CryptoTown [link] [comments]

Advice wanted on banking services for Bitcoin / crypto related businesses.

Hi all,
I've spoken to a few colleagues regarding where/who to open fiat accounts for Bitcoin related businesses such as exchanges. I wanted to open up the question to the public to see who other people use.
Mayzus seems a popular choice.
Are there any other reliable banks in the UK / EU that I should consider using? Do any of you have recommendations?
submitted by samcornwell to Bitcoin [link] [comments]

Bitcoin.com's appeal letter to YouTube over the banning of our channel.

Bitcoin.com operates a long-standing YouTube channel delivering all-original education, news, and marketing content related to Bitcoin, Bitcoin Cash, and cryptocurrency in general. We never violate YouTube's copyright policies and we are always fully compliant with the YouTube Community Guidelines. We are a frequent contributor of cryptocurrency content and an active member of the cryptocurrency community as a whole. We are also a full-service cryptocurrency business, offering numerous licensed and regulatory-compliant services to our users.
Bitcoin.com is also an active political voice within the cryptocurrency community. Our content often features our unique perspectives and opinions on the state of the cryptocurrency market. Unfortunately, we believe that due to our political activism we have been unfairly "brigaded" by political opponents who have abused the YouTube reporting mechanism to bring down our channel. We are seeking immediate appeal of this issue.
Thank you.
submitted by MemoryDealers to btc [link] [comments]

small passive income while browsing the web

Introduction
If you were on the internet in the late 1990s, you might remember companies like "AllAdvantage" that promised to pay you to browse the web. You could install a program that tracked your browsing and showed you targeted ads at the top of the screen, then "AllAdvantage" would give you a cut of the ad revenue you generated.
These schemes largely disappeared after the dot-com crash. But Brendan Eich, the creator of the JavaScript programming language and cofounder and former CTO of Mozilla, thinks his company Brave Software has found a way to revive that old idea.
What is it?
Brave makes a browser based on Google Chrome that blocks tracking scripts and other technologies that spy on your online activity. As a result, it also blocks many web ads; if you visit any website using the Brave browser, you won’t see any ads. But Brave will give users the option to see ads that Eich says will respect your privacy. The ads will appear as desktop notifications, he says, not as replacements for the ads the Brave browser blocks. So you still won’t see ads on any website, but you might see them on the right lower corner of your screen. If you choose to see these ads, you’ll get 70 percent of the revenue they generate.
Eich hopes Brave can solve two of the web's most vexing problems the privacy and revenue problem by turning the traditional digital advertising model on its head. Today, ad networks pay sites for ad space and web browsers like Brave and Chrome deliver content from those publishers to users. Brave is trying to put the browser in the center of the advertising experience. Instead of paying publishers directly, ad networks would pay Brave, which will pass part of the money to users and keep a cut for itself.
By handling advertising in the browser on your device, Brave says it will be able to target ads without sending your data to the cloud, and protect your privacy. When you interact with an ad on Brave, the browser sends notice to the company's servers, but doesn't include any identifying information. Eich sees four sets of winners: browser makers get paid; users get paid, and get more privacy; advertisers can target pitches without running afoul of European privacy regulations; and publishers can survive in a world where many users are installing ad blockers.
Publishers and ad networks might bristle at the idea of putting browser makers in the middle of their business. But in recent years browsers have taken a more active role in shaping the web, instead of merely displaying a website’s content. Chrome now blocks ads on a small number of sites with particularly egregious advertising practices, while browsers like Firefox and Safari have added privacy protections. Meanwhile, browser plugins are giving users more control over their experience. There are Chrome extensions, for example, that let you change Facebook's color scheme, or change the way images are displayed on Pinterest. And of course there are extensions that block all ads.
Trying to win advertisers and publishers to a new model isn't Brave's only challenge. It also needs users. Eich says Brave has 15 million users and is growing.
Brave will give users a 70 percent cut of its advertising revenue, which Eich estimates could work out to about $10 a month. Brave will pay users with its own bitcoin-style "cryptocurrency” called Basic Attention Tokens or BAT, which has traded for as little as 24 cents over the past 12 months, according to CoinMarketCap. You can exchange the BAT you have received for viewing ads into USD, EUR, GBP, CHF and many more currencies.
The company offers a service through the cryptocurrency exchange Uphold to allow users to change, sell and buy BAT or donate it to publishers, and for publishers to exchange the BAT they receive for dollars. Advertisers like HomeDepot or recent campaigns included brands such as Verizon, Newegg, Chipotle, and PayPal/Honey, in addition to earlier campaigns by Amazon, Harry’s Razors, Intel, CBS, KIND snacks, Logitech, Lenovo, Grubhub, Belkin, Quickbooks, Evernote and some of cryptocurrency related companies, will be able to buy ads either with BAT or with traditional currencies.
Eich says Brave opted to create its own tokens using the Ethereum cryptocurrency platform in part to avoid regulatory requirements, such as verifying users' identifies, that partners like Uphold are better equipped to handle.
Estimated revenue? (depending on the country you live in the revenue can be higher or lower)
I made around 3oo$ so far this year using 3 devices, just for viewing some ads.
5 months so far july is not included if you calculate it down for 1 device, 100$/5months = 20$ a month just for viewing ads, you would need to buy risky stocks worth of 2000$ to get the same amount per month.
can only recommend everyone to try it, not every country has the same number of advertisers so you probably get the most out of it when you live in the USA.
If you are interested here is a quick guide how to set it up to get the max amount out of Brave:
Quickstartguide:
1 Download brave here
2 Activate the reward system (gif link below)Gif link
3 go into the settings an deactivate auto contribution and activate 5 ads per hour (image link below)image link
4 Create an Account on Uphold and connect it with your BraveBrowser.
Now you are good to go and can make some money on something you do anyway.
I hope this helps some folks in the community to make some extra bucks.
edit1:you can find more infos and support here:brave_browser & BATProject or www.brave.com
edit2:the earnings are depenging on the number of devices you are using and were you are living. Best paying countries: United States (69) United Kingdom (39) Canada (36) Australia (35) New Zealand (26) Germany (21) Ireland (21) France (18)( the number next to the country are the companies that are running ads on brave for this particular country, the more companies the more revenue )
you can find a full list with all countries and campaigns here: https://brave.com/transparency/
edit3:You don't need to browse to a certain website to receive ads, just browse as you are used to, play browser games, watch videos on youtube or do whatever you want.Sometimes Ads appear on the startpage looks like that https://i.imgur.com/5tohhRc.jpg and after some time on the right lower corner a clickable pop-up appears looks like that->https://i.imgur.com/CTGdVsu.png
edit4:If you want to import your bookmarks and settings from your old browser:on the right top corner of the browser is a button ->https://i.imgur.com/oi8EAri.jpg click it > than on settings > and than you got the option to import bookmarks and settings from your old browser.
If you want to sync brave between devices and for backups:type brave://flags/ into the adressbar and than brave sync into the search bar and acticate itif its enabled it should look like this https://imgur.com/a/tCMDgDjthan just click on sync ->https://i.imgur.com/oi8EAri.jpg
here is a guide ->https://support.brave.com/hc/en-us/articles/360021218111-How-do-I-set-up-Sync
edit5: Don't keep your BAT from free token grants to long in your browser, always send your bat to an external wallet or exchange like uphold, only tokens from free token grants have an expire date if they dont get used they go back to the bat pool. you can find more infos about this here -> https://support.brave.com/hc/en-us/articles/360018305731-Why-does-my-BAT-have-an-expiration-date-
submitted by OnlyReveal6 to beermoneyglobal [link] [comments]

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 - F