Friday, April 30, 2021

Russian News Outlet Calls for Crypto Donations as Kremlin Cracks Down on Media




Meduza, one of Russia's leading independent news organizations, called for donations in fiat, bitcoin, ether and BNB after Russian authorities labeled it a "foreign agent" last week.

The label, basically marking Meduza as an "enemy of the state," can hurt its ability to contact sources and report news, the team said in a statement.

"They are trying to kill Meduza," the team said in another editorial statement. "The Ministry of Justice deemed us a 'foreign agent.' As a result, we lost our advertisers. It means that our funds are running out. Right now."

On April 23, the Russian Justice Ministry designated Meduza as a foreign agent, which means the journalists will have to mark every article they write as published by a foreign agent. They will also have to submit detailed financial reports every quarter.

According to the editor-in-chief, Ivan Kolpakov, on Monday many advertisers pulled out. Because of the financial urgency, Meduza launched a fundraiser on Thursday, asking donors to send money via a bank card payment, PayPal or crypto transfers in bitcoin, ether and BNB.

Meduza joins a small number of Russian organizations that accept donations in crypto, including one led by prominent politician Alexey Navalny as well as several human rights-related groups.

Bitcoin for 'enemies of the state'
"If people are afraid to send us money from their bank accounts, and they might well be, they can send us crypto," Kolpakov said, adding:

"The scale of political repression in Russia [is] so large these days that people might be worried about their personal data. People who went to political rallies are getting deanonymized by facial recognition systems and harassed by the police."

Kolpakov added that the list of cryptocurrencies will be expanded. For now, they chose  bitcoin and ether because they are the most popular, and BNB because it has the cheapest transaction fees. The team is also thinking of issuing and selling non-fungible tokens (NFT) to raise funds, Kolpakov said.

"If it was up to me, I would take all the donations in crypto," Kolpakov said. "We believe in crypto and blockchain, we believe it's the future of global finance. Plus, for many years, our readers have been asking for an option to donate crypto."

The donations have been flowing in. In the initial hours following the announcement of the fundraiser, Meduza received dozens of small donations, over 0.29 BTC and 3 ETH in total (or more than $23,800).

Meduza will contest the "foreign agent" status in court but the chances of winning are slim, Kolpakov said. So for now, the team is trying to buy some time and decide what to do next.

"Among other things, we're going to see if we can live off donations," he added.

The black mark
Meduza's troubles are part of a larger trend of recent police actions against journalists in Russia. On April 9, the police raided the apartment of a prominent investigative journalist Roman Anin. On April 17, Anin's colleague, Ekaterina Arenina, was detained after interviewing people for her story about torture in Russian prisons.

Over the past weekend, police also detained several journalists who reported on protest rallies against the imprisonment of the politician Alexey Navalny, who was demanding medical help while in prison. Student magazine editors were placed under house arrest last year.

In December, several individual journalists were branded as foreign agents by the state. Last July, former prominent defense reporter Ivan Safronov went to jail on treason charges.

Meduza is an online news outlet that provides news in Russian and English. It was founded by the core team of another Russian media outlet, Lenta.ru, in 2014, after editor-in-chief Galina Timchenko was fired by the owner for Lenta's coverage of Ukraine's 2014 revolution.

Many journalists left the publication in protest. When Timchenko and two other editors founded Meduza, some of those journalists joined the startup. The team has been operating from an office in Riga, Latvia, which is a short flight from Moscow. Core reporters are still based in Russia.

Meduza has joined the list of designated foreign media agents that includes Voice of America and Radio Free Europe/Radio Liberty as well as several journalists.

Meduza must now publish a notice of foreign agent status in a larger font than the main text of its articles. This week, Meduza started adding such notices at the top of every article and tweet, typing it in all capital letters on Twitter.

The law on foreign agents was passed in 2012, defining a foreign agent as an organization that is involved in political activities and receiving funding from abroad. However, there was no precise definition of political activity. Currently, 75 nonprofits in Russia, including human rights, election monitoring and educational groups, have this status.

In December, the law was amended so that individuals can also be designated foreign agents. Immediately after that, five journalists and civil rights activists were deemed foreign agents.

"For years, Russian authorities have used the 'foreign agents' law to suppress independent groups," Human Right Watch wrote in 2020. 

As Ether Pushes Ever Higher, Crypto Traders Plot Price in Bitcoin Term



ther (ETH), the native cryptocurrency of the Ethereum blockchain and the second-biggest overall, reached a fresh record high early Wednesday, widening its lead over market leader bitcoin (BTC).

The trend looks set to continue, with ETH/BTC (the ether-bitcoin price ratio) breaking out to a multi-year high in a sign of increased capital flow into ether.

Ether rose to $2,800, surpassing the peak price of $2,762 reached Wednesday, according to CoinDesk 20 data.

The cryptocurrency has rallied by 43% so far this month, decoupling from bitcoin, down 7%. The ETH/BTC ratio has jumped to 2.5-year highs above 0.050, confirming a major bullish breakout on technical charts.

"ETH/BTC has broken out after a multi-year consolidation, and the trend looks very strong," Pankaj Balani, co-founder and CEO of the Singapore-based Delta Exchange, said. "There are no further resistances here, and we expect to see ETH/BTC push through 0.10 eventually."

The implication is the ongoing capital rotation out of bitcoin and into ether is likely to continue over the coming months.

A report earlier this week from digital-asset manager CoinShares showed ether funds and investment products drew $34 million last week, while bitcoin funds lost $21 million.

"The demand is shifting," Meltem Demirors, chief strategy officer at CoinShares, told CNBC earlier this week, adding that capital is moving from one asset to another.

Raoul Pal, CEO and co-founder of Real Vision Group, also foresees continued ether outperformance.

"At this point in the risk cycle, and with Ethereum 2.0 coming (cheaper fees and less supply), I'm struggling to not sell all my BTC and move my entire core position to ETH," Pal tweeted earlier this month. "To be clear – I'm a massive BTC bull, but I think ETH is the better asset allocation for performance right now."

Developers expect the Ethreum 2.0 upgrade or the switch to a proof-of-stake consensus mechanism by the end of this year or early next year. After that, Ethereum founder Vitalik Butrin plans to implement a "sharding" upgrade in a bid to expand Ethereum's capacity to process transactions by splitting its database into 64 mini-blockchains. That may bring down transaction fees, bringing more network activity and stronger demand for ether.

While the path of least resistance for ETH/BTC appears to be on the higher side, it may not be smooth sailing, said Stack Funds' head of research, Lennard Neo.

"The breakout seen on the weekly chart is quite significant as the next resistance dates back to May 2018 at the 0.09 value," Neo said. "ETH/BTC may re-test former hurdle-turned-support at 0.04-0.045 before further gains unfold."

A potential bull market correction in bitcoin, the top cryptocurrency by market value, cannot be ruled out and will likely lead to a temporary pullback in ETH/BTC. That's because a bitcoin drop usually yields bigger drawdowns in ether and other alternative cryptocurrencies.

Bitcoin's bounce from recent lows near $48,000 has stalled near $55,000, and buyers are refusing to step in despite the U.S. Federal Reserve keeping to its pro-easing stance on Wednesday.

The weekly chart MACD histogram, an indicator used to gauge trend strength and trend changes, has crossed below zero, indicating a bearish reversal for the first time since March 2020.

"A break above $60,000 is needed to revive the bullish view," Balani said.

Wednesday, April 7, 2021

High-level Overview of Lisk Interoperabilit




We already revealed that the Lisk interoperability solution aims to enable general cross-chain messages. In this blog post, we now explain how this is achieved by providing a high-level overview of the Lisk interoperability solution similar to the online presentation given in the "First Glimpse at Lisk Interoperability" at the Lisk Updates from the Lisk Center, Berlin event from November 2020. Moreover, we can now unveil our updated roadmap that contains all the objectives of the blockchain interoperability phase.

Technical Solution
Our interoperability solution is based on the paradigm of cross-chain certification introduced in detail in the previous research blog post "Introduction to Blockchain Interoperability". Basically, cross-chain certification means that information from one chain is submitted to another chain utilizing a signed object called a certificate. Let us see more specifically how this will work in the Lisk ecosystem.

Cross-Chain Update Transactions
We will now consider the simplified case of two interoperable chains, where one is the sending chain and the other one the receiving chain. To send information from the sending chain to the receiving chain, the first step is to include a transaction on the sending chain. This transaction then emits one or more cross-chain messages which carry the relevant information that is supposed to be sent to the receiving chain. The cross-chain messages are then transferred to the receiving chain. However, we do not send a cross-chain message to the receiving chain right after the corresponding transaction was included. Instead, several cross-chain messages, possibly from multiple blocks or even rounds, are collected together and are put into a cross-chain update transaction, which is then posted on the receiving chain. This concept is also illustrated below in Figure 1. Cross-chain update transactions are in fact the main transactions facilitating interoperability in the Lisk ecosystem and our realization of cross-chain certification. Therefore, we also called the general technique "cross-chain update" instead of "cross-chain certification" for simplicity in the online presentation given in the "First Glimpse at Lisk Interoperability".

Cross-chain update transactions
Figure 1: The transactions t1 to t3 are included in the sending chain over the course of some blocks, where each one emits one cross-chain message, denoted by m1, m2, and m3. The cross-chain messages are put into one cross-chain update transaction, denoted by CCU, that is posted and included in the receiving chain.


The Lisk ecosystem will, of course, consist of more than just two chains. Therefore, the solution is also slightly more sophisticated than previously explained. That means, for example, that a cross-chain update transaction may contain several cross-chain messages that target different chains. This will be further explained in the sections below.

Note that there is no rule on how many messages must be collected before a cross-chain update transaction is created or for how many blocks one must collect messages before creating one. There is full flexibility, and any user could create a cross-chain update transaction whenever they want by taking all cross-chain messages that were not put into a cross-chain update transaction before.


Content of Cross-Chain Update Transaction
Cross-chain update transactions consist of the following three major parts:

The cross-chain messages.
A certificate.
Information about the current validator set of the sending chain.
We already described the first part, the cross-chain messages, above.

A certificate is an object containing information from a finalized block header that is signed by a large portion of validators from the sending chain and thus authenticates a finalized state of that chain. An authenticated finalized state is a requirement for accepting cross-chain messages on the receiving chain. That means a cross-chain message is applied on the receiving chain only if it was attested that the corresponding transaction on the sending chain belongs to a finalized state.

With the information about the current validator set of the sending chain, the receiving chain knows which validator set is eligible to sign the next certificate.

Neo N3 Official TestNet Launch





After 5 Preview versions, the first release version of Neo N3 (Neo N3 RC1) has been released on 16th March 2021. The most significant upgrade in this version is the integration of NeoFS system into the Oracle module. Numerous improvements and fixes have also been applied in this version for State Root service, Policy native contract, opcodes and etc.

NGD will perform the Neo N3 RC1 TestNet upgrade from UTC 6:00AM to 9:00AM, 25th March 2021. The TestNet might be temporarily unstable during this period. We are sorry for any inconvenience caused.

The comprehensive list of improvements and optimizations in this version:

NeoFS API Completion & Integration into Oracle
neofs-api-csharp is now completed and has been integrated into the Oracle plugin in this version. The NeoFS master nodes in this TestNet are now Neo-go nodes by NeoSPCC and will operate as a side chain. Neo nodes will interact with them through the NeoFS API. These Go nodes will be fully migrated to corresponding Neo master nodes in a later stage.

State Root Improvements
Since the last release, a number of new features and fixes have been added to the State Root service. A new P2P functionality has been added to include the ExtensiblePayload to send signatures. Many bugs are also fixed, such as fixing a faulty logic where the state root witness could be null, checking the magic before enabling state root console commands, and fixing hash calculation logic and etc.

New Opcodes
Two new opcodes POW and SQRT are added into the Neo contract system, which can be used to calculate the power and square root of a value, respectively. This addition will simplify the smart contracts development experience on Neo. Corresponding logic changes across the neo-core, NeoVM, and .NET devpack were also completed.

Other improvements and optimizations
Introduced the concept of side-chains to allow plugins to load with multiple NeoSystems
Added new interfaces on native contracts to record update history
Adjusted some system call fees to match resource requirement calculations
Separated CpuFee and StorageFee for clearer and more rational fee calculations


GET Protocol — The ticket NFT production line


getNFTs are rolling off the production belt!
After a full year of focusing on testing locally the first getNFT mints have finally hit the public ledger over the last weeks. Over the last 72 hours more than 35 000+ getNFTs have been minted by GETs 'playground' runner.
This runner is only the mocking the back-filling of 120 000 backlogged tickets in our system. The actual back-filling of the tickets will be done if the mocked back-filling is completed.
Isn't minting easy?
It is. However it isn't the mint that we are testing here. The process of minting and back-filling involves far more complex actions as only the minting transaction. Before a mint transaction is sent to the getNFT contract on-chain a lot has happend in the backend of both the ticketeer as well in GETs servers running the getEngine and getCustody. It is these processes that require attention and monitoring. The diagram below gives a rough overview of what is going on behind the scenes.

Diagram showing all the processes that occur for a blockchain transaction to occur. Every new ticket owner is assigned a fresh wallet address on the fly, this address will be the owner of the NFT. After a successful mint the ticketeers backend is provided the location of the NFT. This will allow ticket holders to view their smart ticket 'on chain' in the near future!

Better safe than sorry
The minting process requires several database writes and callbacks to databases of our ticketeer integrators. As the production databases serve thousands of people on a daily basis we need to be certain flusher doesn't disturb stability of these systems. Due to this we need to be very certain that our back-log mints and data-writes do not slow down or cause unexpected errors. So for no issues have been observed — steady as she goes!

Next week we'll start the back-filling the backlogged tickets using the live systems. This will cause the registration of more than 120 000 tickets and 200+ events!

getNFT blockchain privacy
When observing the getNFT ownership one might notice that each wallet at most owns 1 getNFT. This isn't because all the ticket holders don't have any friends or because they are overly compliant to covid laws. In the getNFT system each ticket lives on its own fresh wallet.

1 wallet, 1 NFT — it is only fair.
To ensure privacy getNFT does not recycle wallet addresses — ever. Meaning: 1 ticket — 1 owner — 1 wallet. Always.
If a user buys 5 tickets, these will be registered to 5 wallet addresses with 1 getNFTs each . Even though these wallets 'belong to each other' as they are seeded from a HD wallet — for an outsider observing the blockchain this connection can't be made (mathematically impossible to do so).
This means that for an outsider it is impossible to identify a user based on the amount of tickets owned — as this can be an identifying factor (one of many). No data is leaked — at all, at any times. There is no way a person can be DOXed — even if external data is included (like Facebook attendance data).

Privacy first
Privacy is a serious matter. The fact that with a blockchain all records are public domain and cannot be deleted on request makes it even more persistent. For example we would be technically unable to comply with a GDPR right to be forgotten request without lobbying for an Ethereum hardfork.

Transparency as a service — getScanner API
In the previous blog I shared some details on how anybody (with knowledge of blockchain explorers) is able to query the getNFT smart contract to get to know more about a certain event or particular tickets. Surely copying hashes in a clunky smart contract interfaces isn't how we envision the future of ticketing to be experienced.
Our growing blockchain team is working on a kick-ass ticket explorer. However, we do not want us to be the only ones serving up the blockchain data. One of the reasons the blockchain space is so vibrant and innovation is so fast paces — is due to the fact that all data and tools are accessible for anyone, anywhere without consent. Allowing anybody to build on the GET Protocol is one of our key objectives. Open sourcing the code base is only part of the solution. Ensuring that the ticket/NFT data is easily queried is maybe even more pressing.

Those wanting to use our getNFT assets or registered event data in their own app or site should not have to study the Solidity ABIs. Requesting data about a ticket should be as easy as doing an API call. This is why we are offering an (open sourced) node repo called getScan. The diagram shows the pivotal role these nodes will play in tying everything together.
Some example queries:
Fetching event data
Fetching ticket owner data.
Fetching ticketeer data.

We expect to publish the full documentation for using the getScan API next week!

V4 of getNFT contracts
A key point of using a blockchain as data-storage mechanism is that the data is immutably registered. No do-overs, no edits, no censorship. This 'blockchain feat' is pivotal in solving the inefficiencies in the ticketing sector — as these are caused fundamentally by distrust. This immutability does pose challenges from the continues development side of things.

Upgrading the immutable
With blockchain data written is immutably stored. Data can technically be deleted, but it will remain possible to lookup what its previous state was. The code writing the data is also persistent(by default). As GET is constantly improving and adding new features this immutability poses a challenge if one wants to incrementally improvement and add features.
When using the default smart contract deployment process, every change to smart contract code would result in a completely new smart contract address for getNFTs. Causing a wild growth in getNFT contracts. Surely this isn't viable — luckily there are several Solidity design patterns that allow developers to upgrade contracts while keeping persistent storage.
After a long period of research and testing we completed a up-gradable version of our getNFT Factory contract as well as the event metadata contracts. A diagram showing the architecture of our approach is shown below.