GitHub - bitcoin-sv/merchantapi-reference: Merchant API ...
12-30 17:03 - '[quote][quote][quote] Except when you made it so it forks (depending on the whims of miners) away from Bitcoin Core nodes (I'm referring to you implementing BIP148 UASF). You are just another wannabe bcasher (lol as i...' by /u/youvegotlukemia removed from /r/Bitcoin within 353-363min
I don't believe a second, compatible implementation of Bitcoin will ever be a good idea. So much of the design depends on all nodes getting exactly identical results in lockstep that a second implementation would be a menace to the network.
Knots and Core both use the same implementation of Bitcoin.
Are multiple node implementations required for decentralization?
Maintaining multiple node implementations requires more work and is definitely not the most efficient way for a network to operate. It can open new attack vectors and it does not seem to be helpful against corruption. Please reply with an argument for or against. View Poll
Why Amaury's stunt is clever, why it's a potentially recurring problem, and what can be done about it
TLDR: this isn't an Amaury problem, it's an incentive problem. If BCH splits and the ABC token retains even some residual value, then we're likely to see future "IFP splits" in other tokens and possibly BCH again. Here's my take on The Amaury Situation. I think he wants to get out of dealing with BCH and leading the ABC team. I think he's over it. I think he wants to go do something different. He could quit and walk away. But why do that, when he could create a perpetual income stream for himself as well? "Dead" coins hold value A lot of people here seem to think the ABC split will be worthless. I disagree. It will have significant value: Let's assume ABC is only worth $20. Even under this assumption, Amaury stands to get $10 every ten minutes in perpetuity - for doing absolutely nothing. That's $60/hr. (x 24 hours, or $1440/day) in mail money. That's a decent wage - a perpetual income stream (annuity) - with literally no work required. But I think $20 is super low. Tokens strangely hold value long after the token appears dead. For example LTC is still worth about $50 - and that's AFTER it's champion announced it was a dead project and all the devs left (and LTC is much less scarce than BCH). FFS even BSV is worth $150 and the entire cryptosphere agrees its a scamtoken run by a con artist. If LTC and BSV can do it, so can ABC. I predict ABC token will hold significant value. If the ABC token can hold $50/coin, then Amaury looks to collect $150/hr. (x24 hrs - $3600/day). If it can hold $100/coin, then Amaury gets $300/hr (x24 hrs - ie $7200/day). But even if it drops to $10/token, he still gets $720 every day. For doing nothing. Why is this a problem This is a serious problem with our incentives. If he succeeds, Amaury will have piloted a repeatable exit-scam recipe for any reference implementation. "Tired of supporting your halfass token and ragtag devs? Here's an easy escape hatch! Just create a version that pays you a nice annuity, let the token split, and retire with your annuity." That's the problem. Amaury doesn't have to keep the ticker. He just has to successfully split the token into two tradeable tokens, and he wins his annuity. What can be done I'm not sure. I want Amaury to lose here. I want him to get zero annuity. I want to send a clear signal to the next Amaury that splitting the token in order to collect your annuity is a losing strategy. But I can't see how to accomplish this. One way would be to attack his chain through reorgs. But there is no direct incentive for miners to do this. And I don't support the notion that "bitcoin works because miners attack chains they don't support." Another would be to try to drive the value of his token to zero. But that's basically impossible. I think it will be very hard to drive the value of his token even to $20. And at even $20 he gets a nice little annuity. Not a get rich quick scheme by any stretch, but still, it'll pay for a nice mortgage. I know I wouldn't turn down the chance to get an extra grand per day of mail money. So even at $20/token, Amaury will have demonstrated that his easy retirement plan will work. We need $2/token if we want to declare his strategy an unqualified failure. We can't. And the problem here is that if/when BCHN (or anyone else) becomes the reference client, then its leaders will have the exact same incentive to cause a split when they're tired of managing the project and want out. Conclusion Amaury has surfaced a possible gaping vulnerability in the incentive system which creates a perverse incentive to continually create "IFP" type splits. This vulnerability exists in all bitcoin-like tokens. Unless we can find a way to completely block Amaury from his expected revenue stream, he will be setting a precedence that we can expect to see repeated on other tokens and possibly even on BCH again one day. Edit: I wanted to point out that dskloet has reminded us there is a third option, and that is that instead of allowing Amaury to split the coin, we can soft-fork ABC in such a way that ABC considers the blocks to be valid, but the IFP funds are unusable. The obvious way to do this (as dskloet pointed out) is to blacklist the IFP address. But blacklisting has its own consequences. Another way to do this might be to do something like make the coins sent to that address "unmovable" so that ABC clients will see the blocks paying to IFP and therefore valid, but he can't spend the money. Edit: to clarify
What's the difference between blacklisting and making the coins unmovable? Isn't that exactly what blacklisting is?
Blacklisting means not accepting transactions from address X. I propose instead sending "fake coins" to address X. Like putting slugs into a coin-op machine. The machine owner can still try to spend the slugs, but nobody will take them. But the machine owner can still spend any valid tokens spent in the machine.
Ultimate glossary of crypto currency terms, acronyms and abbreviations
Intro: This post will have a bit of everything. My general thoughts on the sector and its future, a bit of brief DD, and my gameplan.! I would not advise making any financial decisions based on my comments without doing your own research. Mods, in addition to the penny stocks, I also discuss an ETF and two funds that I've invested in that are not penny stocks. I felt that they were worth detailing though to explain my approach. I hope that's kosher. I'm still getting familiar with the sector so I'd love to get some feedback if anyone more familiar can lend some insight. If anyone is aware of some other stocks similar to the ones I selected below that I may have overlooked or if you think I was wrong to toss out any that I mentioned, definitely let me know! My thesis is this: Cryptocurrencies have had some runs in the past but it appears to me that they are gaining traction as a financial instrument on Wall Street. Investments by big companies such as OSTK and SQ, regulatory discussions, and the emergence of blockchain are a few catalysts. This and the general sentiment in the big financial I'm seeing leads me to believe that this sector could see some big money pouring in imminently. Several sectors this year have seen their valuations multiply by 5-10 fold in the course of months. Vaccine biotechs, then EVs, and most recently solar to name a few. It seems like this could easily be next. I could see this move being something akin to the EV movement with a strong initial short term movement and with continued momentum for months or longer. My stock selection strategy is this: Some penny stocks like MARA, RIOT, BTBT, EQOS, EBON, and HVBTF have had big runs recently but when you dig into their financials, they are either abysmal or not easily available (i.e. on Seeking Alpha or the OTC site depending on their exchange). As more legitimate companies start to invest money, the low quality pump and dumps will lose traction and more legit companies with a good future will emerge. I eventually came across CAN and BRPHF(OTC), the brief highlights of which are as follows. Both of these focus on supplying the actual infrastructure components such as bitcoin miners and ancillary equipment. This means that regardless of how financially healthy any sketchy companies doing the mining are, as interest picks up, these guys are making money. Both have implemented share buyback programs recently. While they may have some debt or be loss-making currently (as many legit growth companies are), they have healthy balance sheets and optimism from management. CAN is coming off of recent lows which it has held well, so downside is relatively low right now. BRPHF is at recent highs but momentum has been good in getting there and I believe it has lots of room to grow. My gameplan is this: I invested in both companies above this morning when both were around 5-10% change for the day. They both went to 15-20% later in the day and settled in to close around 15%. I'm feeling good about them so far but will be keeping a close eye on them. I also wanted additional exposure to the sector with a more direct reflection of its movement as a whole. To achieve this I took the following three additional positions, each a bit larger than the two above. First was the blockchain ETF BLOK. There are other blockchain ETFs out there, but I believe this has the most potential moving forward and is the most pure play of them. The other two are pseudo trades of bitcoin and ethereum itself. Right now to trade the currencies without taking any risks associated with owning a cryptocurrency is via a set of funds from Grayscale for various cryptocurrencies. The funds are essentially a trust with a fixed amount of the cryptocurrency, and shares of the funds are traded like stocks. As such, the share price is not a 1:1 correlation with the currency's exchange rate since speculation and the effects of supply and demand factor in. As a matter of fact, there are often large differences in how the share price and exchange rate behave. Because of this, these funds also trade at a premium. For example, you could actually buy significantly more Ethereum directly for a given amount of dollars than the amount of ethereum represented by the amount of shares you could buy with the same amount of dollars. So if people start deciding to buy the cryptocurrency directly, the share price could take a significant hit. I'm not too worried about that in the near term, but I will be monitoring that situation closely. I may actually switch to that strategy myself in the medium term if things go well. The two funds that I took positions in are ETCG for ethereum and GBTC for bitcoin. GBTC has been around for a while and has stabilized so that its price has a pretty good correlation to the bitcoin exchange rate. It finished today up about 7% compared to about 6% for the bitcoin exchange rate. ETCG is pretty new and is much more effected by supply and demand. For reference, it finished today up 25%. Right now its shares are coming off all time lows but as recently as July it was trading at 2-3 times the current value, and at one point in 2019, it was almost 10x. The risk is higher with this one but the upside is massive. In summary: I believe that digital currencies will see great things in the near future and have created a somewhat diversified strategy to give myself exposure, including the two penny stocks listed above.
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/188.8.131.52 Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that. Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap. We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout. Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.
Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now. Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date. The transition height is also when the team requirement will be relaxed for the network.
Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.
The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use. There are so many goodies here it is hard to summarize them all. I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures. The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!
Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.
Network magnitude unit pinned to a static value of 0.25
Max research reward allowed per block raised to 16384 GRC (from 12750 GRC)
New CPIDs begin accruing research rewards from the first superblock that contains the CPID instead of from the time of the beacon advertisement
500 GRC research reward limit for a CPID's first stake
6-month expiration for unclaimed rewards
10-block spacing requirement between research reward claims
Rolling 5-day payment-per-day limit
Legacy tolerances for floating-point error and time drift
The need to include a valid copy of a CPID's magnitude in a claim
10-block emission adjustment interval for the magnitude unit
One-time beacon activation requires that participants temporarily change their usernames to a verification code at one whitelisted BOINC project
Verification codes of pending beacons expire after 3 days
Self-service beacon removal
Burn fee for beacon advertisement increased from 0.00001 GRC to 0.5 GRC
Rain addresses derived from beacon keys instead of a default wallet address
Beacon expiration determined as of the current block instead of the previous block
The ability for developers to remove beacons
The ability to sign research reward claims with non-current but unexpired beacons
As a reminder:
Beacons expire after 6 months pass (180 days)
Beacons can be renewed after 5 months pass (150 days)
Renewed beacons must be signed with the same key as the original beacon
Magnitudes less than 1 include two fractional places
Magnitudes greater than or equal to 1 but less than 10 include one fractional place
A valid superblock must match a scraper convergence
Superblock popularity election mechanics
Yes/no/abstain and single-choice response types (no user-facing support yet)
To create a poll, a maximum of 250 UTXOs for a single address must add up to 100000 GRC. These are selected from the largest downwards.
Burn fee for creating polls scaled by the number of UTXOs claimed
50 GRC for a poll contract
0.001 GRC per claimed UTXO
Burn fee for casting votes scaled by the number of UTXOs claimed
0.01 GRC for a vote contract
0.01 GRC to claim magnitude
0.01 GRC per claimed address
0.001 GRC per claimed UTXO
Maximum length of a poll title: 80 characters
Maximum length of a poll question: 100 characters
Maximum length of a poll discussion website URL: 100 characters
Maximum number of poll choices: 20
Maximum length of a poll choice label: 100 characters
Magnitude, CPID count, and participant count poll weight types
The ability for developers to remove polls and votes
[184.108.40.206] 2020-09-03, mandatory, "Fern"
Backport newer uint256 types from Bitcoin #1570 (@cyrossignol)
Implement project level rain for rainbymagnitude #1580 (@jamescowens)
Upgrade utilities (Update checker and snapshot downloadeapplication) #1576 (@iFoggz)
Provide fees collected in the block by the miner #1601 (@iFoggz)
Add support for generating legacy superblocks from scraper stats #1603 (@cyrossignol)
Port of the Bitcoin Logger to Gridcoin #1600 (@jamescowens)
Implement zapwallettxes #1605 (@jamescowens)
Implements a global event filter to suppress help question mark #1609 (@jamescowens)
Add next target difficulty to RPC output #1615 (@cyrossignol)
Add caching for block hashes to CBlock #1624 (@cyrossignol)
Make toolbars and tray icon red for testnet #1637 (@jamescowens)
Add an rpc call convergencereport #1643 (@jamescowens)
Implement newline filter on config file read in #1645 (@jamescowens)
Implement beacon status icon/button #1646 (@jamescowens)
Add gridcointestnet.png #1649 (@caraka)
Add precision to support magnitudes less than 1 #1651 (@cyrossignol)
Replace research accrual calculations with superblock snapshots #1657 (@cyrossignol)
Publish example gridcoinresearch.conf as a md document to the doc directory #1662 (@jamescowens)
Add options checkbox to disable transaction notifications #1666 (@jamescowens)
Add support for self-service beacon deletion #1695 (@cyrossignol)
Add support for type-specific contract fee amounts #1698 (@cyrossignol)
Add verifiedbeaconreport and pendingbeaconreport #1696 (@jamescowens)
Add preliminary testing option for block v11 height on testnet #1706 (@cyrossignol)
Add verified beacons manifest part to superblock validator #1711 (@cyrossignol)
Implement beacon, vote, and superblock display categories/icons in UI transaction model #1717 (@jamescowens)
Don't blindly follow a narrative, its bad for you and its bad for crypto in general
I mostly lurk around here but I see a pattern repeating over and over again here and in multiple communities so I have to post. I'm just posting this here because I appreciate the fact that this sub is a place of free speech and maybe something productive can come out from this post, while bitcoin is just fucking censorship, memes and moon/lambo posts. If you don't agree, write in the comments why, instead of downvoting. You don't have to upvote either, but when you downvote you are killing the opportunity to have discussion. If you downvote or comment that I'm wrong without providing any counterpoints you are no better than the BTC maxis you despise. In various communities I see a narrative being used to bring people in and making them follow something without thinking for themselves. In crypto I see this mostly in BTC vs BCH tribalistic arguments: - BTC community: "Everything that is not BTC is shitcoin." or more recently as stated by adam on twitter, "Everything that is not BTC is a ponzi scheme, even ETH.", "what is ETH supply?", and even that they are doing this for "altruistic" reasons, to "protect" the newcomers. Very convenient for them that they are protecting the newcomers by having them buy their bags - BCH community: "BTC maxis are dumb", "just increase block size and you will have truly p2p electronic cash", "It is just that simple, there are no trade offs", "if you don't agree with me you are a BTC maxi", "BCH is satoshi's vision for p2p electronic cash" It is not exclusive to crypto but also politics, and you see this over and over again on twitter and on reddit. My point is, that narratives are created so people don't have to think, they just choose a narrative that is easy to follow and makes sense for them, and stick with it. And people keep repeating these narratives to bring other people in, maybe by ignorance, because they truly believe it without questioning, or maybe by self interest, because they want to shill you their bags. Because this is BCH community, and because bitcoin is censored, so I can't post there about the problems in the BTC narrative (some of which are IMO correctly identified by BCH community), I will stick with the narrative I see in the BCH community. The culprit of this post was firstly this post by user u/scotty321"The BTC Paradox: “A 1 MB blocksize enables poor people to run their own node!” “Okay, then what?” “Poor people won’t be able to use the network!”". You will see many posts of this kind being made by u/Egon_1 also. Then you have also this comment in that thread by u/fuck_____________1 saying that people that want to run their own nodes are retarded and that there is no reason to want to do that. "Just trust block explorer websites". And the post and comment were highly upvoted. Really? You really think that there is no problem in having just a few nodes on the network? And that the only thing that secures the network are miners? As stated by user u/co1nsurf3r in that thread:
While I don't think that everybody needs to run a node, a full node does publish blocks it considers valid to other nodes. This does not amount to much if you only consider a single node in the network, but many "honest" full nodes in the network will reduce the probability of a valid block being withheld from the network by a collusion of "hostile" node operators.
But surely this will not get attention here, and will be downvoted by those people that promote the narrative that there is no trade off in increasing the blocksize and the people that don't see it are retarded or are btc maxis. The only narrative I stick to and have been for many years now is that cryptocurrency takes power from the government and gives power to the individual, so you are not restricted to your economy as you can participate in the global economy. There is also the narrative of banking the bankless, which I hope will come true, but it is not a use case we are seeing right now. Some people would argue that removing power from gov's is a bad thing, but you can't deny the fact that gov's can't control crypto (at least we would want them not to). But, if you really want the individuals to remain in control of their money and transact with anyone in the world, the network needs to be very resistant to any kind of attacks. How can you have p2p electronic cash if your network just has a handful couple of nodes and the chinese gov can locate them and just block communication to them? I'm not saying that this is BCH case, I'm just refuting the fact that there is no value in running your own node. If you are relying on block explorers, the gov can just block the communication to the block explorer websites. Then what? Who will you trust to get chain information? The nodes needs to be decentralized so if you take one node down, many more can appear so it is hard to censor and you don't have few points of failure. Right now BTC is focusing on that use case of being difficult to censor. But with that comes the problem that is very expensive to transact on the network, which breaks the purpose of anyone being able to participate. Obviously I do think that is also a major problem, and lightning network is awful right now and probably still years away of being usable, if it ever will. The best solution is up for debate, but thinking that you just have to increase the blocksize and there is no trade off is just naive or misleading. BCH is doing a good thing in trying to come with a solution that is inclusive and promotes cheap and fast transactions, but also don't forget centralization is a major concern and nothing to just shrug off. Saying that "a 1 MB blocksize enables poor people to run their own" and that because of that "Poor people won’t be able to use the network" is a misrepresentation designed to promote a narrative. Because 1MB is not to allow "poor" people to run their node, it is to facilitate as many people to run a node to promote decentralization and avoid censorship. Also an elephant in the room that you will not see being discussed in either BTC or BCH communities is that mining pools are heavily centralized. And I'm not talking about miners being mostly in china, but also that big pools control a lot of hashing power both in BTC and BCH, and that is terrible for the purpose of crypto. Other projects are trying to solve that. Will they be successful? I don't know, I hope so, because I don't buy into any narrative. There are many challenges and I want to see crypto succeed as a whole. As always guys, DYOR and always question if you are not blindly following a narrative. I'm sure I will be called BTC maxi but maybe some people will find value in this. Don't trust guys that are always posting silly "gocha's" against the other "tribe". EDIT: User u/ShadowOfHarbringer has pointed me to some threads that this has been discussed in the past and I will just put my take on them here for visibility, as I will be using this thread as a reference in future discussions I engage:
When there was only 2 nodes in the network, adding a third node increased redundancy and resiliency of the network as a whole in a significant way. When there is thousands of nodes in the network, adding yet another node only marginally increase the redundancy and resiliency of the network. So the question then becomes a matter of personal judgement of how much that added redundancy and resiliency is worth. For the absolutist, it is absolutely worth it and everyone on this planet should do their part.
What is the magical number of nodes that makes it counterproductive to add new nodes? Did he do any math? Does BCH achieve this holy grail safe number of nodes? Guess what, nobody knows at what number of nodes is starts to be marginally irrelevant to add new nodes. Even BTC today could still not have enough nodes to be safe. If you can't know for sure that you are safe, it is better to try to be safer than sorry. Thousands of nodes is still not enough, as I said, it is much cheaper to run a full node as it is to mine. If it costs millions in hash power to do a 51% attack on the block generation it means nothing if it costs less than $10k to run more nodes than there are in total in the network and cause havoc and slowing people from using the network. Or using bot farms to DDoS the 1000s of nodes in the network. Not all attacks are monetarily motivated. When you have governments with billions of dollars at their disposal and something that could threat their power they could do anything they could to stop people from using it, and the cheapest it is to do so the better
You should run a full node if you're a big business with e.g. >$100k/month in volume, or if you run a service that requires high fraud resistance and validation certainty for payments sent your way (e.g. an exchange). For most other users of Bitcoin, there's no good reason to run a full node unless you reel like it.
Shouldn't individuals benefit from fraud resistance too? Why just businesses?
Personally, I think it's a good idea to make sure that people can easily run a full node because they feel like it, and that it's desirable to keep full node resource requirements reasonable for an enthusiast/hobbyist whenever possible. This might seem to be at odds with the concept of making a worldwide digital cash system in which all transactions are validated by everybody, but after having done the math and some of the code myself, I believe that we should be able to have our cake and eat it too.
This is recurrent argument, but also no math provided, "just trust me I did the math"
The biggest reason individuals may want to run their own node is to increase their privacy. SPV wallets rely on others (nodes or ElectronX servers) who may learn their addresses.
It is a reason and valid one but not the biggest reason
If you do it for fun and experimental it good. If you do it for extra privacy it's ok. If you do it to help the network don't. You are just slowing down miners and exchanges.
Yes it will slow down the network, but that shows how people just don't get the the trade off they are doing
I will just copy/paste what Satoshi Nakamoto said in his own words. "The current system where every user is a network node is not the intended configuration for large scale. That would be like every Usenet user runs their own NNTP server."
Another "it is all or nothing argument" and quoting satoshi to try and prove their point. Just because every user doesn't need to be also a full node doesn't mean that there aren't serious risks for having few nodes
For this to have any importance in practice, all of the miners, all of the exchanges, all of the explorers and all of the economic nodes should go rogue all at once. Collude to change consensus. If you have a node you can detect this. It doesn't do much, because such a scenario is impossible in practice.
Not true because as I said, you can DDoS the current nodes or run more malicious nodes than that there currently are, because is cheap to do so
Non-mining nodes don't contribute to adding data to the blockchain ledger, but they do play a part in propagating transactions that aren't yet in blocks (the mempool). Bitcoin client implementations can have different validations for transactions they see outside of blocks and transactions they see inside of blocks; this allows for "soft forks" to add new types of transactions without completely breaking older clients (while a transaction is in the mempool, a node receiving a transaction that's a new/unknown type could drop it as not a valid transaction (not propagate it to its peers), but if that same transaction ends up in a block and that node receives the block, they accept the block (and the transaction in it) as valid (and therefore don't get left behind on the blockchain and become a fork). The participation in the mempool is a sort of "herd immunity" protection for the network, and it was a key talking point for the "User Activated Soft Fork" (UASF) around the time the Segregated Witness feature was trying to be added in. If a certain percentage of nodes updated their software to not propagate certain types of transactions (or not communicate with certain types of nodes), then they can control what gets into a block (someone wanting to get that sort of transaction into a block would need to communicate directly to a mining node, or communicate only through nodes that weren't blocking that sort of transaction) if a certain threshold of nodes adheres to those same validation rules. It's less specific than the influence on the blockchain data that mining nodes have, but it's definitely not nothing.
The first reasonable comment in that thread but is deep down there with only 1 upvote
The addition of non-mining nodes does not add to the efficiency of the network, but actually takes away from it because of the latency issue.
That is true and is actually a trade off you are making, sacrificing security to have scalability
The addition of non-mining nodes has little to no effect on security, since you only need to destroy mining ones to take down the network
It is true that if you destroy mining nodes you take down the network from producing new blocks (temporarily), even if you have a lot of non mining nodes. But, it still better than if you take down the mining nodes who are also the only full nodes. If the miners are not the only full nodes, at least you still have full nodes with the blockchain data so new miners can download it and join. If all the miners are also the full nodes and you take them down, where will you get all the past blockchain data to start mining again? Just pray that the miners that were taken down come back online at some point in the future?
The real limiting factor is ISP's: Imagine a situation where one service provider defrauds 4000 different nodes. Did the excessive amount of nodes help at all, when they have all been defrauded by the same service provider? If there are only 30 ISP's in the world, how many nodes do we REALLY need?
You cant defraud if the connection is encrypted. Use TOR for example, it is hard for ISP's to know what you are doing.
Satoshi specifically said in the white paper that after a certain point, number of nodes needed plateaus, meaning after a certain point, adding more nodes is actually counterintuitive, which we also demonstrated. (the latency issue). So, we have adequately demonstrated why running non-mining nodes does not add additional value or security to the network.
Again, what is the number of nodes that makes it counterproductive? Did he do any math?
There's also the matter of economically significant nodes and the role they play in consensus. Sure, nobody cares about your average joe's "full node" where he is "keeping his own ledger to keep the miners honest", as it has no significance to the economy and the miners couldn't give a damn about it. However, if say some major exchanges got together to protest a miner activated fork, they would have some protest power against that fork because many people use their service. Of course, there still needs to be miners running on said "protest fork" to keep the chain running, but miners do follow the money and if they got caught mining a fork that none of the major exchanges were trading, they could be coaxed over to said "protest fork".
In consensus, what matters about nodes is only the number, economical power of the node doesn't mean nothing, the protocol doesn't see the net worth of the individual or organization running that node.
Running a full node that is not mining and not involved is spending or receiving payments is of very little use. It helps to make sure network traffic is broadcast, and is another copy of the blockchain, but that is all (and is probably not needed in a healthy coin with many other nodes)
He gets it right (broadcasting transaction and keeping a copy of the blockchain) but he dismisses the importance of it
Node operators, please set the minrelaytxfee to zero as suggested in the docs.
The previous default was 5000 sat/vkB and it was lowered to 1000 sat/vkB on Oct 13, 2015. On that day bitcoin was trading for $255 / BTC. So it was deemed that a relay limit of $0.01275/vkB was too high so it was lowered to $0.00255/vkB. In today's ($11870) figures that would translate to a minrelaytxfee of 0.00000022 sat/vkB. Since to 0.14.0 release, the minrelaytxfee still defaults to 1000 sat/vkB, but it is recommend in the relnotes that this limit be completely unset.
Since the changes in 0.12 to automatically limit the size of the mempool and improve the performance of block creation in mining code it has not been important for relay nodes or miners to set -minrelaytxfee. The -minrelaytxfee option continues to exist but is recommended to be left unset.
source: 0.14.0 relnotes Unsetting this option (-minrelaytxfee=0) will allow lower fee TXNs to make it to the miners. Miners will then have a larger selection of TXNs to choose from. For users concerned about mempool bloat, just set maxmempool below it's default of 300 MB (-maxmempool=200). Or you could set minrelaytxfee to 11 sat/vkB (-minrelaytxfee=0.00000011) Ultimately, I would think that changing the default in bitcoin-core from 1000 sat/vkB to 100 sat/vkB might be a good move. The mempool has already run dry 6 days this month. No reason not to let the miners continue to mine some super low-fee TXNs if they want to. They control this with blockmintxfee What I would suggest adding to bitcoin.conf minrelaytxfee=0 blockmintxfee=0 maxmempool=300 For those wanting to be more conservative: minrelaytxfee=0.00000011 blockmintxfee=0.00000011 maxmempool=200 Really anything below 1000 sat/vkB would be better. References:
This question is (understandably) asked all the time by people coming to the BCHN telegram for clarity on what has become a pretty unclear situation. It's not an easy question to answer, though, so I wanted to make this post that people could refer to. Here's my take on answering that question: It's impossible to know 100% for sure if there will be a split, because it's impossible to know for sure how all the relevant parties will behave. For there to be a split, two node implementations need to irreconcilably disagree on a consensus-related issue, both need to release code with those conflicting consensus rules, and then miners need to also be split enough on the issue for both chains to have enough hashpower to be viable. The narrative that there is ALMOST DEFINITELY going to be a split seems to have been dumped on us out of nowhere a month or so ago, along with what I consider to be increasingly unreasonable behavior from Bitcoin ABC. The tin foil hat in my heart finds that suspicious. (And between the IFP and recent Grasberg proposal, it almost seems like ABC is doing it's best to propose things that make a split as likely as possible.) This political baggage doesn't really matter though, in the grand scheme of things. What matters is that BCHN is, as far as I can tell, just trying to be a reasonable and professional node implementation for Bitcoin Cash. If sticking to those principals leads to a divergence from ABC on a consensus related issue, whatever issue that actually would end up being, then that's how it will be. And it wouldn't be the case that "BCHN split the chain", nor would it be the case that "ABC split the chain". It would just be the case that two groups released node implementations with different consensus rules from each other. (And then, if a non-negligible amount of hashpower mines using both clients, then there would indeed be a chain split caused by that situation.) Keeping BCH unified is obviously a HUGE priority for BCHN. Their initial release of what was effectively a non-IFP version of Bitcoin ABC was even designed so that, if the IFP activated with a majority of the hashpower, miners mining with BCHN would follow that longer chain, instead of rejecting IFP blocks as "invalid" or anything like that. This is in stark contrast to the narrative I've seen flooding this sub recently with claims that BCHN tried to split the chain this past upgrade, and are trying to split the chain again this November. So please take the time to consider which sides of these inevitable disagreements are being reasonable, and which are not, make sure to fact check and ask for sources for any claims you see being made that you can't verify or debunk on your own, and remember that, while chain splits are messy unfortunate things (at least in the short term), if there's an irreconcilable disagreement, it's definitely better for those parties to go their separate ways. I hope that that doesn't have to happen anytime soon for BCH.
Disclaimer: This is my editing, so there could be always some misunderstandings and exaggerations, plus many convos are from 'spec channel', so take it with a grain of salt, pls. + I added some recent convos afterward. -------------------------------------------------- 📷 Luigi Vigneri [IF]어제 오후 8:26 Giving the opportunity to everybody to set up/run nodes is one of IOTA's priority. A minimum amount of resources is obviously required to prevent easy attacks, but we are making sure that being active part of the IOTA network can be possible without crazy investments. we are building our solution in such a way that the protocol is fair and lightweight. 📷 Hans Moog [IF]어제 오후 11:24 IOTA is not "free to use" but it's - fee-less you have tokens? you can send them around for free 📷 Hans Moog [IF]어제 오후 11:25 you have no tokens? you have to pay to use the network 📷 lekanovic어제 오후 11:25 I think it is a smart way to avoid the spamming network problem 📷 Hans Moog [IF]어제 오후 11:26 owning tokens is essentially like owning a share of the actual network and the throughput it can process 📷 Hans Moog [IF]어제 오후 11:26**** if you don't need all of that yourself, you can rent it out to people and earn money 📷 Hans Moog [IF]어제 오후 11:27 mana = tokens * time since you own them simplified 📷 Hans Moog [IF]어제 오후 11:27 the longer you hold your tokens and the more you have, the more mana you have but every now and then you have to move them to "realize" that mana 📷 lekanovic어제 오후 11:28 Is there any other project that is using a Mana solution to the network fee problem ? 📷 Hans Moog [IF]어제 오후 11:28 nah the problem with current protocol is that they are leader based 📷 Hans Moog [IF]어제 오후 11:29 you need absolute consensus on who the current leaders are and what their influence in the network is that's how blockchains works 📷 Hans Moog [IF]어제 오후 11:29 if two block producers produce 2 blocks at the same time, then you have to choose which one wins and where everybody attaches their next block to IOTA works differently and doesn't need to choose a single leader we therefore have a much bigger flexibility of designing our sybil protection mechanisms in a way, mana is also supposed to solve the problem of "rewarding" the infrastructure instead of the validators in blockchain only the miners get all the money running a node and even if it's one that is used by a lot of people will only cost you won't get anything back no fees, nothing the miners get it all 📷 Hans Moog [IF]어제 오후 11:31 in IOTA, the node operators receive the mana which gives them a share of the network throughput 📷 Hans Moog [IF]어제 오후 11:32 because in blockchain you need to decide whose txs become part of the blocks and it's not really based on networking protocols like AIMD 📷 lekanovic어제 오후 11:33 And the more Mana your node have, the more trust your node has and you have more to say in the FPC, is that correct? 📷 Hans Moog [IF]어제 오후 11:33 yeah a node that has processed a lot of txs of its users will have more mana than other nodes and therefore a bigger say in deciding conflicts its a direct measure of "trust" by its users 📷 lekanovic어제 오후 11:34 And choosing committee for dRNG would be done on L1 protocol level? Everything regarding Mana will be L1 level, right? 📷 Hans Moog [IF]어제 오후 11:35 Yeah Mana is layer1, but will also be used as weight in L2 solutions like smart contracts 📷 lekanovic어제 오후 11:35 And you are not dependant on using SC to implement this 📷 Hans Moog [IF]어제 오후 11:35 No, you don't need smart contracts That's all the base layer 📷 Hans Moog [IF]어제 오후 11:37 'Time' actually takes into account things like decay So it doesn't just increase forever It's close to "Demurrage" in monetary theory 📷 lekanovic어제 오후 11:36 For projects to be able to connect to Polkadot or Cosmos, you need to get the state of the ledger. Will it be possible to get the Tangle state? If this would be possible, then I think it would be SUPER good for IOTA 📷 Hans Moog [IF]어제 오후 11:38 Yeah but polkadot is not connecting other dlts Just inhouse stuff 📷 Hyperware어제 오후 11:39 Is there still a cap on mana so that the rich don't get richer? 📷 Hans Moog [IF]어제 오후 11:39 Yes mana is capped 📷 TangleAccountant어제 오후 11:39 u/HansMoog [IF] My first thought is thatthe evolution of this renting system will lead to several big mana renting companies that pool together tons of token holders mana. That way businesses looking to rent mana just need to deal with a reliable mana renting company for years instead of a new individualevery couple of months (because life happens and you don't know if that individual will need to sell their IOTAs due to personal reasons). Any thoughts on this? 📷 Hans Moog [IF]어제 오후 11:41 u/TangleAccountantyes that is likely - but also not a bad thing - token holders will have a place to get their monthly payout and the companies that want to use the tangle without having tokens have a place to pay 📷 TangleAccountant어제 오후 11:42 Oh I completely agree.That's really cool. I'll take a stab at creating one of those companies in the US. 📷 Hans Moog [IF]어제 오후 11:42 And everybody who wants to run a node themselves or has tokens and wants use the tangle for free can do so But "leachers" that would want to use the network for free won't be able to do so I mean ultimately there will always be "fees", as there is no "free lunch". You have a certain amount of resources that a network can process and you have a certain demand. And that will naturally result in fees based on supply / demand what you can do however is to build a system where the actual users of that system that legitimately want to use it can do so for free, just because they already "invest" enough by having tokens or running infrastructure they are already contributing to the well-being of the network through these two aspects alone it would be stupid to ask those guys for additional fees and mana essentially tries to be such a measure of honesty among the users 📷 Hyperware어제 오후 11:47 It's interesting from an investment perspective that having tokens/mana is like owning a portion of the network. 📷 Hans Moog [IF]어제 오후 11:48 Yeah, you are owning a certain % of the throughput and whatever the price will ultimately be to execute on this network - you will earn proportionally but you have to keep in mind that we are trying to build the most efficient DLT that you could possibly ever build 📷 semibaron어제 오후 11:48 The whole mana (tokens) = share of network throuput sounds very much like EOS tbh Just that EOS uses DPoS 📷 Hans Moog [IF]어제 오후 11:50 yeah i mean there is really not too many new things under the sun - you can just tweak a few things here and there, when it comes to distributing resources DPoS is simply not very nice from a centralization aspect 📷 Hans Moog [IF]어제 오후 11:50 at least not the way EOS does it delegating weights is 1 thing but assuming that the weight will always be in a way that 21 "identities" run the whole network is bad in the current world you see a centralization of power but ultimately we want to build a future where the wealth is more evenly distributed and the same goes for voting power 📷 Hans Moog [IF]어제 오후 11:52 blockchain needs leader selection it only works with such a centralizing component IOTA doesn't need that it's delusional to say that IOTA wouldn't have any such centralization but maybe we get better than just a handselected nodes📷 📷 Phantom3D어제 오후 11:52 How would this affect a regular hodler without a node. Should i keep my tokens elsewere to generate mana and put the tokens to use? 📷 Hans Moog [IF]어제 오후 11:53 you can do whatever you want with your mana just make an account at a node you regularly use and use it to build up a reputation with that node to be able to use your funds for free or run a node yourself or rent it out to companies if you just hodl 📷 semibaron어제 오후 11:54 Will there be a build-in function into the node software / wallet to delegate ("sell") my mana? 📷 Hans Moog [IF]어제 오후 11:55 u/semibaronnot from the start - that would happen on a 2nd layer ------------------------------------------------------------------------------------------------------------ 📷 dom어제 오후 9:49
suddenly be incentive to hold iota?
to generate Mana 📷 Hyperware오늘 오전 4:21 The only thing I can really do, is believe that the IF have smart answers and are still building the best solutions they can for the sake of the vision 📷 dom오늘 오전 4:43 100% - which is why we're spending so much effort to communicate it more clearly now we'll do an AMA on this topic very soon 📷 M [s2]오늘 오전 4:54 u/dom please accept my question for the AMA: will IOTA remain a permissionless system and if so, how? 📷 dom오늘 오전 4:57 of course it remains permissionless 📷 dom오늘 오전 5:20 what is permissioned about it? is ETH or Bitcoin permissioned because you have to pay a transaction fee in their native token? 📷 Gerrit오늘 오전 5:24 How did your industry partners think about the mana solution and the fact they need to hold the token to ensure network throughput? 📷 dom오늘 오전 5:26 u/Gerritconsidering how the infrastructure, legal and regulatory frameworks are improving around the adoption and usage of crypto-currencies within large companies, I really think that we are introducing this concept exactly at the right time. It should make enterprise partners comfortable in using the permissionless network without much of a hurdle.They can always launch their own network if they want to ... 📷 Gerrit오늘 오전 5:27 Launching their own network can’t be what you want 📷 dom오늘 오전 5:27 exactly but that is what's happening with Ethereum and all the other networks they don't hold Ether tokens either. 📷 Gerrit오늘 오전 5:32 Will be very exciting to see if ongoing regulation will „allow“ companies to invest and hold the tokens. With upcoming custody solutions that would be a fantastic play. 📷 Hans Moog [IF]오늘 오전 5:34 It's still possible to send transactions even without mana - mana is only used in times of congestion to give the people that have more mana more priority there will still be sharding to keep the network free most of the time 📷 Hans Moog [IF]오늘 오전 5:35 but without a protection mechanism, somebody could just spam a lot of bullshit and you could break the network(수정됨) you need some form of protection from this 📷 M [s2]오늘 오전 5:36 u/HansMoog [IF]so when I have 0 Mana, I can still send transactions? This is actually the point where it got strange... 📷 Hans Moog [IF]오늘 오전 5:37 yes you can unless the network is close to its processing capabilities / being attacked by spammers then the nodes will favor the mana holders 📷 Hans Moog [IF]오늘 오전 5:37 but having mana is not a requirement for many years to come currently even people having fpgas can't spam that many tps and we will also have sharding implemented by then 📷 M [s2]오늘 오전 5:39 Thank youu/HansMoog [IF] ! This is the actually important piece of info! 📷 Basha오늘 오전 5:38 ok, i thought it was communicated that you need at least 1 mana to process a transaction. from the blogpost: "... a node with 0 mana can issue no transactions." maybe they meant during the congestion**, but if that's the case maybe you should add that** 📷 Hans Moog [IF]오늘 오전 5:42 its under the point "Congestion control:" yeah this only applies to spam attacks network not overloaded = no mana needed 📷 Hans Moog [IF]오늘 오전 5:43 if congested => favor txs from people who have the most skin in the game but sharding will try to keep the network non-congested most of the time - but there might be short periods of time where an attacker might bring the network close to its limits and of course its going to take a while to add this, so we need a protection mechanism till sharding is supported(수정됨) 📷 Hans Moog [IF]오늘 오전 6:36 I don't have a particular problem with EOS or their amount of validators - the reason why I think blockchain is inferior has really nothing to do with the way you do sybil protection and with validators I mean "voting nodes" I mean even bitcoin has less mining pools and you could compare mining pools to dpos in some sense where people assign their weight (in that case hashing power) to the corresponding mining pools so EOS is definitely not less decentralized than any other tech but having more identities having weight in the decision process definitely makes it harder to corrupt a reasonable fraction of the system and makes it easier to shard so its desirable to have this property(수정됨) ------------------------------------------------- 📷 Antonio Nardella [IF]오늘 오전 3:36
u/C3PO[92% Cooless]They could also add more git repos instead of the wallet one, and we would probably be #1 there too.. ---------------------------------------------------------------------------------- Disclaimer: I'm sorry, maybe I'm fueling some confusion through posting this mana-thing too soon, but, instead of erasing this posting, I'm adding recent convos. Certain things about mana seem to be not clear, yet. It would be better to wait for some official clarification. But, I hope the community gives its full support to IF, 'cause there could be always some bumps along the untouched, unchartered way. -------------------------------------------------------------------------------------- Recent Addition;
Billy Sanders [IF]오늘 오후 1:36
It's still possible to send transactions even without mana - mana is only used in times of congestion to give the people that have more mana more priority
u/HansMoog [IF] Im sorry Hans, but this is false in the current congestion control algorithm. No mana = no transactions. To be honest, we havent really tried to make it work so that you can sent transactions with no mana during ties with no congestion, but I dont see how you can enable this and still maintain the sybil protection required. u/LuigiVigneri [IF] What do you think?📷
Dave [EF]오늘 오후 2:19
Suggestion: Sidebar, then get back to us with the verdict.(수정됨)📷2📷
dom오늘 오후 2:27
No Mana no tx will definitely not be the case(수정됨)📷5📷7***[오후 2:28]***Billy probably means the previous rate control paper as it was written by Luigi. I'll clarify with them📷
Hans Moog [IF]오늘 오후 2:29
When was this decided u/BillySanders [IF] and by whom? Was this discussed at last resum when I wasnt there? The last info that I had was that the congestion control should only kick in when there is congestion?!?***[오후 2:29]***📷 📷 📷📷
Navin Ramachandran [IF]오늘 오후 2:30
Let's sidebar this discussion and return when we have agreement. Dave has the right idea
[OWL WATCH] Waiting for "IOTA TIME" 20; Hans's re-defined directions for DLT
Disclaimer: This is my editing, so there could be some misunderstandings... -------------------------------------------- wellwho오늘 오후 4:50 u/BenRoyce****how far is society2 from having something clickable powered by IOTA? Ben Royce오늘 오후 4:51 demo of basic tech late sep/ early oct. MVP early 2021 --------------------------------------------------- HusQy Colored coins are the most misunderstood upcoming feature of the IOTA protocol. A lot of people see them just as a competitor to ERC-20 tokens on ETH and therefore a way of tokenizing things on IOTA, but they are much more important because they enable "consensus on data". Bob All this stuff already works on neblio but decentralized and scaling to 3500 tps HusQy Neblio has 8 mb blocks with 30 seconds blocktime.This is a throughput of 8 mb / 30 seconds = 267 kb per second.Transactions are 401+ bytes which means that throughput is 267 kb / 401 bytes = 665 TPS. IOTA is faster, feeless and will get even faster with the next update ... ----------------------------------------------------------------------------- HusQy Which DLT would be more secure? One that is collaboratively validated by the economic actors of the world (coporations, companies, foundations, states, people) or one that is validated by an anonymous group of wealthy crypto holders? HusQy The problem with current DLTs is that we use protection mechanisms like Proof of Work and Proof of Stake that are inherently hard to shard. The more shards you have, the more you have to distribute your hashing power and your stake and the less secure the system becomes. HusQy Real world identities (i.e. all the big economic actors) however could shard into as many shards as necessary without making the system less secure. Todays DLTs waste trust in the same way as PoW wastes energy. HusQy Is a secure money worth anything if you can't trust the economic actors that you would buy stuff from? If you buy a car from Volkswagen and they just beat you up and throw you out of the shop after you payed then a secure money won't be useful either :P HusQy **I believe that if you want to make DLT work and be successful then we need to ultimately incorporate things like trust in entities into the technology.**Examples likes wirecard show that trusting a single company is problematic buttrusting the economy as a whole should be at ... **... least as secure as todays DLTs.**And as soon as you add sharding it will be orders of magnitude more secure.DLT has failed to deliver because people have tried to build a system in vacuum that completely ignores things that already exist and that you can leverage on. ---------------------------------------------------------------------------------- HusQy Blockchain is a bit like people sitting in a room, trying to communicate through BINGO sheets. While they talk, they write down some of the things that have been said and as soon as one screams BINGO! he hands around his sheet to inform everybody about what has been said. HusQy If you think that this is the most efficient form of communication for people sitting in the same room and the answer to scalability is to make bigger BINGO sheets or to allow people to solve the puzzle faster then you will most probably never understand what IOTA is working on. -------------------------------------------------------------------------------- HusQy **Blockchain does not work with too many equally weighted validators.****If 400 validators produce a validating statement (block) at the same time then only one can survive as part of a longest chain.**IOTA is all about collaborative validation. **Another problem of blockchain is that every transaction gets sent twice through the network. Once from the nodes to the miners and a 2nd time from the miners as part of a block.**Blockchain will therefore always only be able to use 50% of the network throughput. And****the last problem is that you can not arbitrarily decrease the time between blocks as it breaks down if the time between blocks gets smaller than the average network delay. The idle time between blocks is precious time that could be used for processing transactions. ----------------------------------------------------------------------------- HusQy I am not talking about a system with a fixed number of validators but one that is completely open and permissionless where any new company can just spin up a node and take part in the network. ------------------------------------------------------------------------ HusQy Proof of Work and Proof of Stake are both centralizing sybil-protection mechanism. I don't think that Satoshi wanted 14 mining pools to run the network. And "economic clustering" was always the "end game" of IOTA. ----------------------------------------------------------------------------- HusQy **Using Proof of Stake is not trustless. Proof of Stake means you trust the richest people and hope that they approve your transactions. The rich are getting richer (through your fees) and you are getting more and more dependant on them.**Is that your vision of the future? ---------------------------------------------------------------------------- HusQy Please read again exactly what I wrote. I have not spoken of introducing governance by large companies, nor have I said that IOTA should be permissioned. We aim for a network with millions or even billions of nodes. HusQy That can't work at all with a permissioned ledger - who should then drop off all these devices or authorize them to participate in the network? My key message was the following: Proof of Work and Proof of Stake will always be if you split them up via sharding ... HusQy ... less secure because you simply need fewer coins or less hash power to have the majority of the votes in a shard. This is not the case with trust in society and the economy. When all companies in the world jointly secure a DLT ... HusQy ... then these companies could install any number of servers in any number of shards without compromising security, because "trust" does not become less just because they operate several servers. First of all, that is a fact and nothing else. HusQy Proof of Work and Proof of Stake are contrary to the assumption of many not "trustless" but follow the maxim: "In the greed of miners we trust!" The basic assumption that the miners do not destroy the system that generates income for them is fundamental here for the ... HusQy ... security of every DLT. I think a similar assumption would still be correct for the economy as a whole: The companies of the world (and not just the big ones) would not destroy the system with which their customers pay them. In this respect, a system would be ... HusQy ... which is validated by society and the economy as a whole probably just as "safely" as a system which is validated by a few anonymous miners. Why a small elite of miners should be better validators than any human and ... HusQy ... To be honest, companies in this world do not open up to me. As already written in my other thread, safe money does not bring you anything if you have to assume that Volkswagen will beat you up and throw you out of the store after you ... HusQy ... paid for a car. The thoughts I discussed say nothing about the immediate future of IOTA (we use for Coordicide mana) but rather speak of a world where DLT has already become an integral part of our lives and we ... HusQy ... a corresponding number of companies, non-profit organizations and people have used DLT and where such a system could be implemented. The point here is not to create a governance solution that in any way influences the development of technology ... HusQy ... or have to give nodes their OK first, but about developing a system that enables people to freely choose the validators they trust. For example, you can also declare your grandma to be a validator when you install your node or your ... HusQy ... local supermarket. Economic relationships in the real world usually form a close-knit network and it doesn't really matter who you follow as long as the majority is honest. I also don't understand your criticism of censorship, because something like that in IOTA ... HusQy ... is almost impossible. Each transaction confirms two other transactions which is growing exponentially. If someone wanted to ignore a transaction, he would have to ignore an exponential number of other transactions after a very short time. In contrast to blockchain ... HusQy ... validators in IOTA do not decide what is included in the ledger, but only decide which of several double spends should be confirmed. Honest transactions are confirmed simply by having other transactions reference them ... HusQy ... and the "validators" are not even asked. As for the "dust problem", this is indeed something that is a bigger problem for IOTA than for other DLTs because we have no fees, but it is also not an unsolvable problem. Bitcoin initially has a ... HusQy Solved similar problem by declaring outputs with a minimum amount of 5430 satoshis as invalid (github.com/Bitcoin/Bitcoi…). A similar solution where an address must contain a minimum amount is also conceivable for IOTA and we are discussing ... HusQy ... several possibilities (including compressing dust using cryptographic methods). Contrary to your assumption, checking such a minimum amount is not slow but just as fast as checking a normal transaction. And mine ... HusQy ... In my opinion this is no problem at all for IOTA's use case. The important thing is that you can send small amounts, but after IOTA is feeless it is also okay to expect the recipients to regularly send their payments on a ... HusQy ... merge address. The wallets already do this automatically (sweeping) and for machines it is no problem to automate this process. So far this was not a problem because the TPS were limited but with the increased TPS throughput of ... HusQy ... Chrysalis it becomes relevant and appropriate solutions are discussed and then implemented accordingly. I think that was the most important thing first and if you have further questions just write :) HusQy And to be very clear! I really appreciate you and your questions and don't see this as an attack at all! People who see such questions as inappropriate criticism should really ask whether they are still objective. I have little time at the moment because ... HusQy ... my girlfriend is on tour and has to take care of our daughter, but as soon as she is back we can discuss these things in a video. I think that the concept of including the "real world" in the concepts of DLT is really exciting and ... HusQy ... that would certainly be exciting to discuss in a joint video. But again, that's more of a vision than a specific plan for the immediate future. This would not work with blockchain anyway but IOTA would be compatible so why not think about such things. ----------------------------------------------------------------------- HusQy All good my big one :P But actually not that much has changed. There has always been the concept of "economic clustering" which is basically based on similar ideas. We are just now able to implement things like this for the first time. ---------------------------------------------------------------------------------- HusQy Exactly. It would mean that addresses "cost" something but I would rather pay a few cents than fees for each transaction. And you can "take" this minimum amount with you every time you change to a new address. HusQy All good my big one :P But actually not that much has changed. There has always been the concept of "economic clustering" which is basically based on similar ideas. We are just now able to implement things like this for the first time. ----------------------------------------------------------------------------------- Relax오늘 오전 1:17 Btw. Hans (sorry for interrupting this convo) but what make people say that IOTA is going the permissioned way because of your latest tweets? I don't get why some people are now forecasting that... Is it because of missing specs or do they just don't get the whole idea? Hans Moog [IF]오늘 오전 1:20 its bullshitu/Relaxanidentity based system would still be open and permissionless where everybody can choose the actors that they deem trustworthy themselves but thats anyway just sth that would be applicable with more adoption [오전 1:20] for now we use mana as a predecessor to an actual reputation system Sissors오늘 오전 1:31 If everybody has to choose actors they deem trustworthy, is it still permissionless? Probably will become a bit a semantic discussion, but still Hans Moog [IF]오늘 오전 1:34 Of course its permissionless you can follow your grandma if you want to :p Sissors오늘 오전 1:36 Well sure you can, but you will need to follow something which has a majority of the voting power in the network. Nice that you follow your grandma, but if others dont, her opinion (or well her nodes opinion) is completely irrelevant Hans Moog [IF]오늘 오전 1:37 You would ideally follow the people that are trustworthy rather than your local drug dealers yeah Sissors오늘 오전 1:38 And tbh, sure if you do it like that is easy. If you just make the users responsible for only connection to trustworthy nodes Hans Moog [IF]오늘 오전 1:38 And if your grandma follows her supermarket and some other people she deems trustworthy then thats fine as well [오전 1:38] + you dont have just 1 actor that you follow Sissors오늘 오전 1:38 No, you got a large list, since yo uwant to follow those which actually matter. So you jsut download a standard list from the internet Hans Moog [IF]오늘 오전 1:39 You can do that [오전 1:39] Is bitcoin permissionless? Should we both try to become miners? [오전 1:41] I mean miners that actually matter and not find a block every 10 trillion years 📷 [오전 1:42] If you would want to become a validator then you would need to build up trust among other people - but anybody can still run a node and issue transactions unlike in hashgraph where you are not able to run your own nodes(수정됨) [오전 1:48] Proof of Stake is also not trustless - it just has a builtin mechanism that downloads the trusted people from the blockchain itself (the richest dudes) Sissors오늘 오전 1:52 I think most agree it would be perfect if every person had one vote. Which is pr oblematic to implement of course. But I really wonder if the solution is to just let users decide who to trust. At the very least I expect a quite centralized network Hans Moog [IF]오늘 오전 1:53 of course even a trust based system would to a certain degree be centralized as not every person is equally trustworthy as for example a big cooperation [오전 1:53] but I think its gonna be less centralized than PoS or PoW [오전 1:53] but anyway its sth for "after coordicide" [오전 1:54] there are not enough trusted entities that are using DLT, yet to make such a system work reasonably well [오전 1:54] I think the reason why blockchain has not really started to look into these kind of concepts is because blockchain doesnt work with too many equally weighted validators [오전 1:56] I believe that DLT is only going to take over the world if it is actually "better" than existing systems and with better I mean cheaper, more secure and faster and PoS and PoW will have a very hard time to deliver that [오전 1:56] especially if you consider that its not only going to settle value transfers Relax오늘 오전 1:57 I like this clear statements, it makes it really clear that DLT is still in its infancy Hans Moog [IF]오늘 오전 1:57 currently bank transfers are order of magnitude cheaper than BTC or ETH transactions Hans Moog [IF]오늘 오전 1:57 and we you think that people will adopt it just because its crypto then I think we are mistaken [오전 1:57] The tech needs to actually solve a problem [오전 1:57] and tbh. currently people use PayPal and other companies to settle their payments [오전 1:58] having a group of the top 500 companies run such a service together is already much better(수정됨) [오전 1:58] especially if its fast and feeless [오전 2:02] and the more people use it, the more decentralized it actually becomes [오전 2:02] because you have more trustworthy entities to choose of Evaldas [IF]오늘 오전 2:08 "in the greed of miners we trust"
SODL. It's been swell, but the swelling's gone down.
Those familiar with this username already know that I've been involved with Bitcoin since 2012. I purchased my first satoshi before $1k/BTC had ever been seen. I spent years creating developer solutions and electronic products designed to leverage Bitcoin's capability to facilitate frictionless Internet payments and that same time explaining Bitcoin to family, friends, internet buddies, fellow gamers, and anyone else that would listen. Over time, that capability for frictionless payment dried up. First lack of space in blocks rendered the primary consumer solution I'd been developing as totally useless. There is no point in developing a risk assessment system when the thing being assessed is too risky to justify instant commerce. I feared Bitcoin had met an untimely end at the hands of self-important developers and lazy entitled miners, but was relieved to know that the BTCFORK project was alive and ready to continue the Bitcoin experiment in the form of what would later be called Bitcoin Cash (BCH). When the fork hit, I was all in from day one. I traded out everything, forked my coins and recovered every satoshi of BCH I could muster. At one lofty point in my life, I had the rare claim to have actually possessed 21 BCH in the same wallet at the same time. I continued developing and introducing people to BCH. I explained to my family and friends the schism and the thought processes that lead me to use BCH instead of BTC. I spent countless hours justifying its existence to a general public that is uninterested in technical details or freedom from potential government seizures and simply want money that works. Unfortunately, no crypto has never seemed to hold this goal in high esteem. As time has marched onward and progress has continued to be stymied by drama between more self-important developers and lazy entitled miners, I have finally realized why the Bitcoin experiment failed, and how we got here. Bitcoin's design relies on one very important aspect: that miners behave as rational, long-term-invested economic actors. This would infer that over time, mining organizations will dedicate resources to developing in-house mining solutions and manage them with the same level of interest as a big box store manages their inventory. In short, it would make sense for miners to invest in their own closed-source development, based on the open-source reference client. This would create competition between compatible implementations maintained by groups that are self-invested in their interoperability and suitability for consumer use. This did not happen, of course. Miners took the lazy, short-term-interested approach of "just run the software, don't care how it works or how well" and left the actual work of looking out for and maintaining the security of the chain to the unpaid open-source developers. This was a recipe for failure years ago and is the same recipe BCH has chosen to follow today. The IFP is simply a physical manifestation of this problem: since devs are not miners, Amaury et. al. are now expecting pay for their work in keeping those miners afloat, and rightly so. But they never should have been doing it in the first place; that was the miners' responsibility the whole time. If you're in an emergent industry running emergent software, you kind of have a responsibility to maintain that software out of pocket. This applies double for high-security software such as financial software. Lazy miners that can't even invest in their own software infrastructure are not trustworthy enough to be relied upon for the security of my funds. Bitcoin has already failed; and with that clearly observable failure I have sold the remainder of my cryptocurrency, unsubscribed from this and other subreddits, removed various forum accounts, and ceased usage of any remaining services built to work with Bitcoin-style digital signatures. It's been a wild ride. I even made a nice chunk of money along the way. It was fun and fascinating and eye-opening and educational and profitable; but for me, it's over. The success of global peer-to-peer digital cash has already been thwarted, and that's all I ever came for. Greg Maxwell didn't do this. Amaury Sechet didn't do this. Jihan Wu didn't do this. Roger Ver didn't do this. Theymos didn't do this. All those miners, all those mining pools, all those people that have been actively profiting off the system by running freely provided software and giving back only blocks in return: they are at fault for this failure. It is too late to turn back; the IFP is effectively a cork in a crumbling dam, a half-assed solution to a double-donkey problem. The dream is over, at least for me, and so I'll be moving on now. The transition to crypto was troublesome and full of problems. I was on a 100% crypto budget for years and even found myself paying a premium for the "convenience". Funnily enough, the transition back to fiat was amazingly smooth and I actually made money on the way back. Sorry, guys - at the end of the day, fiat does what crypto doesn't. I see the writing on the wall - and now I add my final scrawl. Goodbye, everyone.
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:
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.
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.
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.
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!
A 'getwork' CPU mining client for bitcoin that provides a reference implementation of a miner, for study. It is pure-python, and therefore very, very slow compared to alternatives. The project was announced on February 16th, 2011. External Links. Pyminer repository on Github; Bitcoin Mining Software; References The transaction fee is given to the Bitcoin miner, as explained in the block chain section, and so it is ultimately up to each miner to choose the minimum transaction fee they will accept. There is also a concept of so-called “ high-priority transactions ” which spend satoshis that have not moved for a long time. The reference implementation's rules for relaying transactions across the peer-to-peer network are very similar to the rules for sending transactions, as a value of 0.00001 BTC is used to determine whether or not a transaction is considered "Free". However, the rule that all outputs must be 0.01 BTC or larger does not apply. To prevent "penny-flooding" denial-of-service attacks on the network ... Reference Implementation. The following sections describe the behavior of the reference implementation as of version 0.12.0. Earlier versions treated fees differently, as do other popular implementations (including possible later versions). Sending. Users can decide to pay a predefined fee rate by setting `-paytxfee=<n>` (or `settxfee <n>` rpc during runtime). A value of `n=0` signals Bitcoin ... Pyminer is a 'getwork' CPU mining client for bitcoin that provides a reference implementation of a miner, for study. It is pure-python, and therefore very, very slow compared to alternatives. The project was announced on February 16th, 2011 External links . Pyminer repository on Github; Bitcoin Mining Software
Making Magic Internet Money? - Blockchain In Rust #02: Mining
This video illustrates the concepts of Hashing, Encryption, Blockchain and Bitcoin Mining by the use of straightforward Python code. It is from a free Webina... Let "mining Bitcoin" not be a mysterious concept anymore! Through our (so far) basic block implementation, I'll explain and demonstrate the essential concepts of mining, difficulty, and nonces. We ... R.k Mukesh Join Telegram giveaway https://t.me/RkMukesh Bitcoin website link https://freeb.tc/?r=112609 signup up bonus Rs.50 1 Refer Rs.50 Redeem Rs.100 App... This video is mostly made for people who still want to get into GPU/CPU Mining but don't exactly know how. I introduce you Honeyminer as this is one of the e... 00:35 The privacy features most likely to get implemented in Bitcoin 00:56 Bitcoin is not a privacy coin Is it be possible to implement features such as ring signatures on the Bitcoin protocol ...