• Support for Hierarchical Deterministic (HD) wallets, enabling
issuers to collect funds securely. This means the funds collected during
the ICO are not stored on the server itself.

• The Stratis ICO Platform is provided free of charge, overcoming the high costs of existing crowd-funding solutions.

Chris Trew, CEO of Stratis, commented: “With this platform we’ve
drastically improved the user experience for both ICO issuers and
contributors. Today’s ICO solutions tend to be either DIY, which comes
with substantial security risks or they tend to charge a significant
fee, but it doesn’t need to be this way. At Stratis, we are focused on
making blockchain simple and accessible, which is why the core Stratis
blockchain has been written completely from the ground up in the widely
understood language of C# and the .NET framework. We want as many
developers as possible to access the benefits of decentralised
technology.”

Stratis Smart Contracts in C# Alpha Release

Stratis are proud to announce the alpha release of Stratis Smart Contracts in C#.

A significant amount of time and effort has gone into developing a
new approach to Smart Contracts, ensuring the product is easy to learn
and the most inclusive platform for developers and businesses.

Stratis has engineered the first smart contracts platform built
entirely from the ground up in native C# on the .NET framework, the most
popular enterprise programming language on the most widely-used
enterprise framework.

This makes it easier to integrate into existing enterprise
architectures than other platforms, Stratis Smart Contracts in C# opens
many doors previously blocked due to computing language barriers.
Stratis will soon also provide support for the functional programming
language F#, particularly popular in the finance sector.

“We believe smart contracts are one of the backbones of blockchain as
a transparent, decentralized marketplace, and that the more inviting
you can be to get people to join that marketplace, the faster blockchain
will be adopted” says Stratis CEO Chris Trew. “Our foundation in C# and
.NET programming broadens the world of smart contracts immediately, and
we look forward to seeing what people do with it.”

Several other blockchain companies have launched smart contracts
offerings, but required development in an entirely different programming
language or a new digital ecosystem with new languages, decompilers and
integrated development environments (IDEs). Stratis Smart Contracts in
C# builds upon an established and popularized framework, language and
ecosystem. Therefore, it is more readily poised for wider adoption as a
smart contract standard.

Below is a technical overview of the Stratis Smart Contract in C# offering at the recent Blockchain Expo, London.

“Stratis believes blockchain will change the world, and we are
creating products that make this new world as inclusive and welcoming as
possible,” Trew says. “Stratis Smart Contracts in C# is designed to
welcome developers.”

To get started with Stratis Smart Contracts in C#, please refer to the below materials.

Stratis Release Interim Wallet v2.0.0.4

Download:

Stratis Sidechains Alpha Release

Stratis are proud to announce the Stratis Federated Sidechains Alpha Release in C# on the .NET framework.

Stratis has focused on developing the sidechains infrastructure to
ensure the product is easy to use and the most inclusive platform for
developers and enterprises.

Enterprises can create their own sidechains whilst benefiting from
on-going enhancements to the Stratis blockchain. Stratis Sidechains
provide enterprises with the ability to provision custom sidechains with
flexible modules such as consensus, block size and privacy; delivering
scalable blockchain solutions.

Building sidechains in C# makes it easier to integrate into existing
enterprise architectures and opens the door previously blocked due to
programming language barriers. Stratis sidechains in C# builds upon the
established .NET framework, language and ecosystem. Therefore, it is
more readily poised for wider adoption.

Stratis CEO Chris Trew states, “Sidechains provide a means to
quickly provision, sandbox and deploy a bespoke blockchain tailored to
specific enterprise processes. Because Stratis sidechains remain linked
to the well-established Stratis mainchain, enterprises can be certain
their blockchain implementations will continue to benefit from
enhancements made by our core team of highly-experienced developers.”

Sidechains improve scalability of blockchains, a long-running
challenge of decentralised computing. Aside from leaving the mainchain
free to exchange funds, Stratis sidechains make it possible to specify
both the block size and block interval, increasing the number of
transactions in each block and/or reducing the time between each block.

Sidechain wallets will allow cross-chain transactions for users to
transfer funds between the Stratis mainchain and the sidechains. This
interoperability feature enables interactions across blockchains while
giving users the confidence that any sidechain’s digital assets will
always be backed by the Stratis token.

Stratis is also working on enabling enterprises to run smart
contracts on their respective sidechains which will be implemented in a
future release.

To showcase this technology, we have created a test environment named
Apex on the Stratis testnet network. The Apex sidechain interacts
seamlessly with the STRAT mainchain on the testnet network. Users can
easily participate in testing this technology themselves by exchanging
TSTRAT for TAPEX coins.

You can now try out the Stratis Sidechains Alpha Release by setting
up Stratis and Apex wallets on the testnet network and use them for
cross-chain deposits and withdrawals.

Stratis Q1/Q2 Development Roadmap Update

Stratis is pleased to share a summary of development milestones based on the Q1/Q2 2018 roadmap. This update highlights the key releases delivered by Stratis in the first half of 2018.

Full Node
The release of the Full Node mainnet beta was a significant milestone
for Stratis. Enhancements were made across core components such as the
P2P code and consensus protocol.

Release Date: 28th March 2018

Stratis Core (Full Node GUI)
Stratis Core was successfully released on mainnet, improving user
experience and functionality. This release also included an updated
instance of the Stratis Full Node.

Release Date: 11th April 2018

ICO Platform
The Stratis ICO Platform was made available and is easily deployable on
Microsoft Azure. This platform is feature-rich, including support for HD
Wallet and integrated KYC support.

Release Date: 9th May 2018

Breeze Wallet with Privacy Protocol
Stratis is aware of the excitement around the Breeze with Privacy
Protocol release and appreciates the continued patience. Work is
progressing on the project and further updates will be communicated in
due course.

Release Date: To be confirmed.

Stratis Academy
The Stratis Academy allows developers to gain an in-depth knowledge of
blockchain technology utilizing the Stratis Platform. This release was
well received by the development community and we will be carrying out
regular updates to the content.

Release Date: 28th June 2018

Stratis Identity
Stratis has added additional features to the Identity iOS App and have
resubmitted the application to Apple for App Store approval. Stratis
Identity is readily available for Android on the Google Play Store.

Release Date: To be confirmed.

Stratis Smart Contracts
C# developers can now start building their own smart contracts in native
C# and deploy them on the Stratis blockchain. This alpha release is the
first smart contracts platform built entirely from the ground up in
native C# on the .NET framework.

Stratis has designed an example that developers can follow on the Stratis Academy.

Release date: 16th May 2018

Stratis Sidechains
The Stratis Sidechains alpha release unlocked the possibilities of
scaling the Stratis blockchain using sidechains. This was achieved using
a Two-Way Federated Peg solution that enables cross-chain transactions
to and from a sidechain.

Release Date: 27th June 2018

Chris Trew stated“Our Q1/Q2 2018 development
roadmap was intentionally aggressive in terms of what we wanted to
achieve. I’m proud of what the team has delivered, with the introduction
of important updates to the Stratis Platform. The ability to run smart
contracts and to provision sidechains opens up a world of potential
applications that enterprises can build on the Stratis Platform. I look
forward to seeing the creative innovations third-party developers will
realise.”

Stratis is looking forward to the second half of 2018 and will be publishing the Q3/Q4 roadmap in the coming weeks.

Today, we are proud to release the free Stratis Identity app for
Apple iOS devices. Built on top of the Stratis platform, this showcases
personal and corporate identity management capabilities on the Stratis
blockchain. The Stratis Identity app delivers a real use case for users
to attest their identity on an immutable ledger and share that data with
others.

Stratis CEO Chris Trew explains, “Mass adoption of blockchain
will only come through simplicity, and Stratis Identity offers a
streamlined way to verify one’s identity through popular social media
accounts, using pre-existing Microsoft, LinkedIn or Google account
information. Once one’s true identity is established through our app, a
Stratis Identity can be shared securely without ever exposing any
specific user’s sensitive personal data.”

Stratis Identity app creates a permanent, unique record of a person
or organization’s identity on the Stratis blockchain and provides
permission-only access to that identification. Each online social media
profile has information linked to it (username, e-mail, job title, etc.)
stored by the account provider.

Key features of the Stratis Identity app include:

Creation of a unique Stratis Blockchain identity, registered and secured on the Stratis blockchain

Attest your identity by logging into a selection of social media accounts such as Microsoft, Google and LinkedIn

The ‘Stratis Puzzle’ Challenge

Stratis is seeking the ‘best of the best’ with a series of 12
sequential puzzles, each more challenging than the last. Each task tests
general logic, blockchain knowledge, cryptography and aptitude with the
Stratis Platform itself.

Chris Trew, Stratis CEO added: “Finding talented blockchain
developers is notoriously difficult as demand far outweighs supply. The
puzzle is our way of connecting with new talent, but equally the winner
might choose to walk away with the cash prize, and that’s absolutely
fine too.”

The top prize, equivalent to over $10,000, will remain locked in a
wallet controlled by the private key that is recovered after solving all
12 of the Puzzle’s tasks. Each task reveals a single word from the
mnemonic phrase that provides access to the wallet holding the prize
fund.

There are also two development roles up for grabs on the Stratis core
team with an automatic job offer made to the first contestant that
solves at least 10 of the 12 tasks.

Krushang Patel, Stratis CMO commented: “If you think you have
what it takes to mix it with the best in the community, then we
encourage you to try the Stratis Puzzle. We have two genuine roles on
offer as part of our core team, and the puzzle was the most logical and
entertaining way we could think to fill them.”

Anyone that wants to give the puzzle a try should begin with the
first task. Once contestants have solved the first puzzle, which
requires no blockchain knowledge, the next step will be revealed.

Anyone interested in the Stratis Puzzle can join the Stratis #puzzle Discord channel for community discussion on the various tasks. Blockchain is a collaborative and open source environment, Stratis recognizes that people may collaborate

Breeze with Privacy Protocol Mainnet Release

The Breeze Wallet with Breeze Privacy Protocol public Mainnet release
is now available and represents a key step in our product development
roadmap. The Breeze Wallet showcases our technology with a strong
emphasis on privacy and security on the blockchain network. This
primarily serves organizations that want to obfuscate business to
business transactions securely on the blockchain.

This version of the Breeze Wallet includes the Breeze Privacy
Protocol feature as well as a user-friendly interface. It also features
the Masternode Client Discovery protocol where the blockchain is used
to discover, validate, and connect to a Stratis Masternode, which
provides the privacy protocol service. This discovery process is
undertaken in a decentralized and trustless manner that is resistant to
network disruption.

This is a Mainnet release and is now open to the public. Enhancements
made to both the Breeze Wallet user interface and the Masternode Client
Discovery Protocol have been incorporated into this release.

Source Code:

Stratis ICO Platform available on the Microsoft Azure Marketplace

Stratis is happy to announce that the ICO Platform is now listed and available for deployment via the Azure Marketplace, making it the first Blockchain-Based Web App solution available on the Marketplace.

Chris Trew stated “Utilizing the Stratis ICO Platform on Azure allows ICO Administrators to leverage the advantages of Azure’s PaaS offerings. Removing the headaches with typical standalone virtual machine deployments that are all too common. Our solution tied with Microsoft Azure allows an ICO Administrator to ensure their data is safe and their ICO is always available.”

Following the May release of The Stratis ICO Platform, which allows an ICO to be deployed in minutes, we have implemented a number of enhancements.

Firstly, the Stratis ICO Platform now allows the issuer to screen out participants by geography. By integrating functionality from IP Stack, the ICO platform now identifies an ICO participant’s geography by their IP address, with a screening list to limit the use of VPNs and TOR. This enhancement is an important step for ICO issuers that wish to avoid contributions from a particular geography for regulatory or legal reasons. It is now straightforward to screen out contributions from the US, for example. This update further enhances the utility of the Stratis ICO Platform, making it even easier to run a compliant ICO.

The Stratis ICO Platform utilises Hierarchical Deterministic Wallets. This provides added security for issuers as funds collected during the ICO are not stored on a server. As part of today’s announced enhancements, the Stratis Breeze Wallet now includes additional features required to display ICO contributions that breach the address gap-limit. This update means issuers using the Breeze Wallet with its new ‘Advanced Tab’ can very reliably and simply retrieve their ExtPubKey, generate addresses and resynchronize to a given date.

Stratis Partners with UK Meds

UK Meds is the fastest growing online pharmacy in the UK, digitally
handling between 3,000 and 4,000 patient prescriptions each day. The
company will deploy Stratis’ blockchain technology to improve patient
safety across the online pharmacy sector as a whole, reducing instances
of patients ordering multiple prescriptions.

By ensuring each patient’s request for a prescription is logged on a
shared and immutable distributed ledger across a group of UK online
pharmacies, the programme ensures patients can only access prescribed
quantities of medication. Doctors dealing with online consultations and
pharmacies preparing medication will have the ability to cross reference
patients using a unique identifier assigned to each individual. Any
previous request for medication across all online pharmacies in the
programme will be easily referenceable using Stratis’ technology,
ensuring patients receive correct prescriptions.

Joe Soiza, CEO at UK Meds commented:

Despite screening our own customers by IP addresses,
phone numbers, cookies and many other factors, there isn’t a
cross-industry solution to identify patients attempting to obtain
multiple orders of drugs, with opioids being a particular example.
Clearly our entire industry needs to come together to ensure we do
everything possible to protect the vulnerable and utilizing Stratis’
technology can help us achieve that.
The Stratis Platform provides a highly secure blockchain solution
that can be shared across the industry to provide a trusted and
verifiable record of patient requests for medicine. We are initiating
this programme, and we have over 10 online pharmacies onboard already.
It’s our ambition for this to become the de facto standard across the
entire UK industry.

Stratis’ technology will also be used to improve UK Meds’ own
supply-chain by deploying Stratis’ Smart Contracts in C#, this is
essentially code running on top of a blockchain enabling them to
undertake specific tasks, at critical stages. In combination with track
and trace logistics solutions, each shipment of medication will be
logged on the blockchain when originally produced by the manufacturer,
during points of distribution and again on arrival at UK Meds to certify
pharmaceutical shipments are correctly packed, arrive in fine condition
and remain securely sealed in the correct quantity.

Chris Trew, CEO at Stratis added:

This is a great example of blockchain being deployed
where its unique qualities will make a real difference. Using
traditional IT solutions to solve this issue would require a significant
expense and would undoubtedly be administered by a third-party
organization. With blockchain, the industry can cooperate on the
critical issue of patient safety using a shared version of the truth.

Stratis Q4 Development Roadmap

The
Stratis Q4 Development Roadmap is now publicly available and provides
an overview of the key deliverables to come from Stratis heading into
the new year. Much of this work begun during Q3 of this year and the end
of 2018 will see Stratis deliver a number of our core product offerings
that will set us up for further customer engagement moving into 2019.

Stratis Full Node Production Release

The
Stratis Full Node will be delivered as a production ready release. This
will allow Stratis to embark on moving to a full C# Mainnet network.

Stratis Sidechains Production Release

Stratis
Sidechains will be deployable on Stratis Mainnet allowing companies to
create their own customized sidechains off the Stratis mainchain.

Smart Contracts in C# Production Release

The
release of Stratis Smart Contracts in C# is scheduled for Q4 of this
year. This will allow the development and deployment of Smart Contracts
in C# onto Stratis sidechains.

Stratis ICO Platform V2

New
features are being integrated into the Stratis ICO Platform. These
features are based on feedback received from organisations utilising our
ICO platform and also enhancements scheduled as part of our ongoing
product development.

Stratis Cold Staking

The
implementation of Stratis Cold Staking as part of the roadmap will
enable Stratis holders to stake their balance in a cold-wallet. The
activation of this technology is subject to the adoption of the Stratis
Full Node.

Stratis DLT

Distributed
Ledger Technology (DLT) is a requirement for the large majority of
private institutions. Stratis has been diligently developing a C# DLT
solution to fit the needs of organizations looking to utilize blockchain
technology within a private environment.

Stratis Core

Stratis
Core will be updated with the production ready instance of the Stratis
Full Node. This will be our wallet to replace the existing StratisX (QT)
staking wallet.

Breeze

The
Breeze Wallet will be updated with additional features and will utilize
the production ready instance of the Stratis Full Node.

Stratis Academy

There
is a focus on creating even more content on the Stratis Academy
allowing developers and organizations to gain a deeper understanding of
how they can build on top of the Stratis Platform. In addition, the
Stratis Academy user interface will have a new look and feel.

Breeze Privacy Protocol for STRAT

Following
the successful release of the Breeze Privacy Protocol for Bitcoin we
will also be delivering the same functionality for STRAT. This will
enable users to increase their anonymity when interacting with the
Stratis token.

The Breeze Wallet Is Adding A New Level Of Privacy To BTC! Learn How STRAT Is Making This Possible

Stratis Group Ltd has just released the mainnet beta of the Breeze Wallet,
a decentralized, in-wallet privacy solution for Bitcoin. It is an
implementation of TumbleBit, a privacy protocol which uses a trustless
tumbler that cannot steal BTC and cannot undermine the anonymity of the
parties involved.

The Breeze Wallet uses a Stratis Masternode server to provide users
with a very high anonymity set (and, therefore, privacy with regards to
their activity) and to make BTC fungible.

A later version of the Breeze Wallet may also provide a robust
scaling solution for Bitcoin itself. In building the Breeze Wallet,
Stratis have made a resounding commitment to improving the
cryptocurrency space. This article aims to throw some light on how all
of this is achieved.

Those numbers represent series of black squares in one row or column. The whole idea is similar to sudoku puzzle. 1D, 3B
and so on — those are hints to decrease amount of possible solutions so
it’s easier for the solver, they specify exact coordinates where the
black squares should be and therefore eliminating guessing their
position.

There is an output with a script ”OP_DUP OP_HASH160 636f6e74696e7565207769746820227365656422 OP_EQUALVERIFY OP_CHECKSIG” inside this transaction.

636f6e74696e7565207769746820227365656422is hex which can be converted to the following string: continue with “seed”. So the next word is seed.

Puzzle 4 — logs

Original assignment:

To find the next word, you need to download Stratis full node code
from this GitHub repository branch: https://github.com/Aprogiena/StratisBitcoinFullNode/tree/experiment/hrpuzz

Then you need to build the solution and set up trace logs for “Stratis.Bitcoin.Features.Consensus.*”.
Then run the node on Stratis testnet and inspect the corresponding log file once the node is fully synced with the network.

Hint: Read https://github.com/stratisproject/StratisBitcoinFullNode/blob/master/Documentation/using-logging.md on how to enable trace level logging.

Solution:

In order to enable the logs NLog.config file should be created with single logging target: Stratis.Bitcoin.Features.Consensus.*. Then we need to sync and investigate the logs.

Puzzle 6 — broken test

Original assignment:

We are still working with the Stratis full node code here (from GitHub repository branch
https://github.com/Aprogiena/StratisBitcoinFullNode/tree/experiment/hrpuzz).
The project contains many tests. One of the tests inside Stratis.Bitcoin.Features.MemoryPool.Tests
project fails. Can you help us fixing it?
Once you fix the test properly, you can calculate an ID of the transaction that this test creates.
Take the ID and XOR it with
8c1b2533f9126c6e97416733a5b81d2e3875ab5776d44f8cf91d830f4b541ef7
to reveal the next word.

Simply by iterating different fee numbers we can come up with the appropriateminAmountPossible value which is 546.

Hash of the transaction is ac4c405f95320801f9244b13eaea5f676c55c22456ba2af48d3df460393030d7.

Now if we xor 8c1b2533f9126c6e97416733a5b81d2e3875ab5776d44f8cf91d830f4b541ef7 with ac4c405f95320801f9244b13eaea5f676c55c22456ba2af48d3df460393030d7 and convert it to string we will get Well done, ORBIT is next word.

Puzzle 7 — Script

Original assignment:

In order to produce new block on Stratis network, a miner has to be online with running node and have its wallet open.
This is necessary because at each time slot, the miner is supposed to check whether any of its UTXOs is eligible to
be used as so-called coinstake kernel input and if so, it needs to use the private key associated with this UTXO
in order to produce the coinstake transaction.
A coinstake transaction in Stratis protocol is a special transaction that is at the second position in each block.
The UTXO that is spent in this transaction in its first input (called kernel) has to meet some special properties
in order to be allowed to be used as the kernel.
The chance of a UTXO to be eligible for producing a coinstake transaction grows linearly with the number of coins
that this UTXO presents.
This implies that the biggest miners on the network are required to keep the coins in an open hot wallet. This is
dangerous in case the machine where the hot wallet runs is compromised.
We propose cold staking, which is mechanism that eliminates the need to keep the coins in the hot wallet. With cold
staking implemented, the miner still needs to be online with running the node and open hot wallet, but the coins that
are used for staking, can be safely stored in a cold storage. Therefore the open hot wallet does not need to hold any
significant amount of coins, or it can even be empty.
To implement cold staking, we use a soft fork to redefine OP_NOP10 instruction, newly renamed to
OP_CHECKCOLDSTAKEVERIFY. The new behaviour of this opcode is as follows:
* Check if the transaction spending an output, which contains this instruction, is a coinstake transaction.
If it is not, the script fails.
* Check that ScriptPubKeys of all inputs of this transaction are the same. If they are not, the script fails.
* Check that ScriptPubKeys of all outputs of this transaction, except for the marker output (a special first output
of each coinstake transaction) and the pubkey output (an optional special second output that contains public key
in coinstake transaction), are the same as ScriptPubKeys of the inputs. If they are not, the script fails.
* Check that the sum of values of all inputs is smaller or equal to the sum of values of all outputs. If this does
not hold, the script fails.
* If the above-mentioned checks pass, the instruction does nothing.
Using this new opcode, we can now construct a coinstake transaction output in a way that there are two keys that can
be used to spend the output.
The first key is the key from the hot wallet. We want this key to be usable only for creating another coinstake
transaction that preserves this limitation to the newly created output.
The second key is the key from the cold storage. We want this key to be able to spend the output arbitrarily.
Your task in this puzzle is to create a ScriptPubKey of an output of such a cold staking coinstake transaction that
utilizes the new opcode. The ScriptSig to spend that output for another cold staking transaction using a hot wallet
key is:
<sig> <hotPubKey> 1
The ScriptSig to spend that output arbitrarily using a cold storage key is:
<sig> <coldPubKey> 0
Write your ScriptPubKey on a single line with opcodes written with capital letters and instead of hot wallet public
key hash use <hotPubKeyHash> and instead of cold storage public key hash use <coldPubKeyHash>. Use a single space
as the separator. There is no new line character or separator at the end. Use the P2PKH template as an inspiration.
Note that there are many ways on how to write the script, so let's agree on using OP_CHECKCOLDSTAKEVERIFY just
before OP_CHECKSIG. We are not looking for the shortest possible version of how to write the output to the chain,
which is prevented by the agreed specific position of OP_CHECKCOLDSTAKEVERIFY, but we make that condition in order
to eliminate many ways of writing the solution. Even with the condition, there are many ways left, but few make
good sense.
For example, if you were about to construct P2PKH ScriptPubKey for the hot wallet key, you would write:
OP_DUP OP_HASH160 <hotPubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
And then you would calculate its SHA256 hash, which is
a58b0f14654292b0d0ce2b9958fa6243330acfd083b95fcf985343bf2f21c17f
Once you are done, calculate SHA256 hash of your cold staking coinstake output ScriptPubKey. Then XOR the hash with
32c1e59540ea97bbd8d3d41df83946868ddd8656e0942b3d0df65499609c00e2
to reveal the next word.

Solution:

By trying different scripts which satisfy the requirement we will come up with the following script:

If we hash it using SHA256 we will get: 128CA0C608CADAFE8B9BF450BD6A0EA6C098D51EC0D96E6E45D619DC33D420C2.

Now we xor 128CA0C608CADAFE8B9BF450BD6A0EA6C098D51EC0D96E6E45D619DC33D420C2 with 32c1e59540ea97bbd8d3d41df83946868ddd8656e0942b3d0df65499609c00e` and get the following string:

MESH MESH MESH MESH MESH MESH .

Puzzle 8 — hidden fork

Original assignment:

Once again you will need to work with the full node code from this GitHub repository branch:
https://github.com/Aprogiena/StratisBitcoinFullNode/tree/experiment/hrpuzz
A secret faction of Stratis forked away from Stratis test net. Only one node is known to be operating on this secret network.
It operates on 52.178.220.228:35353. Your task is to infiltrate their network and sync with their chain.

Solution:

First we need to connect to that node by applying -connect=52.178.220.228:35353 to the config or command line arguments.

And only after that we will be able to sync till the block 373052 as mentioned in the hint we got in the step 2.

Now we inspect this block and find out the following text in the coinbase transaction: Next is ‘glare’.

Puzzle 9 — largest transaction

Original assignment:

What is the TXID of the largest (in terms of its size in bytes) TX on Stratis testnet before block 400000?
Is it bdc206c4ef88ebe64b68c25fab307c55b3c0cc0725120d2a8356d73cce7f19af? No, it is not.

Solution:

We can check every transaction of each block after syncing enough blocks and then using BlockRepository.GetAsync
to retrieve all the blocks one by one and then check every transaction
in every block. For every transaction we need to calculate serialized
size using Transaction.GetSerializedSize method.

By checking all the transactions in every block before 400000 we find the biggest transaction: fcae6bab9cfccb92230db03a8b0a5575f4afec734a32694bed31b24ee00b61db.

By XORing it with bdc206c4ef88ebe64b68c25fab307c55b3c0cc0725120d2a8356d73cce7f19af we receive the following text: Almost there :) Go to danger.txt

Puzzle 10 — vanity address

Original assignment:

Next one is easy. Just generate a private key and public key pair, such that the mainnet Stratis
address representing the public key starts with "STRAT" (case-sensitive).
Then connect to a special node on testnet that listens on this IP address: 52.233.33.138 and after
a standard handshake send it VanityRequest payload and receive VanityResponse payload.
VanityRequest (network command "vanityreq") is defined as:
– compressed public key P, which address on Stratis mainnet starts with "STRAT" (33 bytes long byte array)
- length L of signature (1 byte)
- signature of SHA256d(P) created with the corresponding private key (L bytes long byte array)
If the solution is correct, the special node replies with VanityResponse (network command "vanityres"), which contains:
– the next word (8 bytes long byte array that encodes the word as a string with 0 bytes padding at the end)

In that vanity response payload we will receive word able
in case we generated and sent pubKey for a valid vanity address and the
signature produced by the private key associated with that address.

Puzzle 11 — mutated block

Original assignment:

To get the next word, exploit CVE-2012-2459 against a block number 333445 on the Stratis test net.
Once you create such a block, connect to a special node that is running on IP address 52.233.33.138
and present that block using Block2 payload to the node after a normal handshake.
Block2 payload is exactly the same as Block payload, except for its network command, which is "block2".
If the solution is correct, the special node replies with Phrase payload (network command "phrasere"), which contains:
– instructions message (150 bytes long byte array that encodes next instructions as a string with 0 bytes padding at the end)

And then make SHA256 of the whole entropy. First 4 bits from the result of the SHA256 is the missing checksum which is 1111 in binary.

Now add the checksum to provided entropy to get: 11100011111, which is the index of the last word in binary, which is 1823 in decimal, which stands for the word token.

Puzzle 13 — secret puzzle

Original assignment:

Congratulations! Now you can restore the wallet (you can use Swagger on the C# full node!), the password is value in satoshis (or stratoshis?)
you received from the faucet puzzle (1.23 STATS would translate to password "123000000"), account is "account 0".

Solution:

The password for the wallet is the amount in satoshis we received in faucet puzzle: 124326789.

Wallets
implementing BIP44 usually use gap limit of 20. Which would mean that
the node would only see the prize if it would be deposited in the first
20 addresses. However we deposited the prize to address under index
1033. By manually deriving more addresses the node will be able to see
the prize and spend it.

Stratis - Microsoft Partnership

Stratis is excited to announce that we are now a certified Microsoft Partner. Our mission is to get C# blockchain technologies in front of enterprise customers, and we look forward to utilizing the marketing and development resources Microsoft provides to its certified partners. The Azure Marketplace gives app and service providers access to 120,000 enterprise customers and 800,000 ecosystem partners in 190 countries. Microsoft actively helps to guide customers to their partners, and partners are given resources which allow them to increase their product’s exposure on Microsoft’s Go-To-Market Services.

With over 1 million active users, the marketplace generates over 100,000 leads to partners every month – Microsoft ISV Program

This partnership comes at a critical and also exciting time for Stratis; the services which constitute the core Stratis Platform, including smart contracts, sidechains, and the enterprise-focused Stratis DLT, are set to be released in the next few months. Stratis Group Ltd. are the first blockchain company with their own cryptocurrency to partner with Microsoft in this way, and this partnership will help us make the most of our unique position within Microsoft’s software environment. We also think of this step as just the first step in enhancing our existing relationship with Microsoft, and we aim to become a Gold Partner in the near future!

This partnership gets me very excited indeed. I am looking forward to working with Microsoft’s Go-To-Market Team and further leveraging the Azure technology stack with the Stratis Platform. – Chris Trew

The accreditation is indicative of the relationship that Stratis has with the .NET Framework, a software framework developed by Microsoft. Stratis is the first and only cryptocurrency with full nodes built from the ground up in C# meaning that applications built using the Stratis Platform are a part of the .NET ecosystem. This partnership is a natural next step for Stratis.

Stratis Full Node Production Release

Stratis is proud to announce the production release of the Stratis C# Full Node on Mainnet.

Stratis is proud to announce the production release of the Stratis C#
Full Node on Mainnet. The Stratis Full Node uses the Microsoft .NET
Core platform and is a C# port of Bitcoin Core. While StratisX nodes
were limited to the Stratis blockchain network, the Stratis Full Node is
capable of functioning as a peer on either the Stratis or Bitcoin
network.

The Stratis Full Node replaces StratisX as the engine powering the
Stratis blockchain network. Stratis Smart Contracts in C# and Sidechains
have been built on top of this new technology. Future advancements in
the Stratis blockchain will also be built on this solid foundation, and
therefore this production release marks a significant point on the
Stratis roadmap.

A future-proof and environmentally stable Proof-of-Stake algorithm
drives Stratis nodes, and this release of the Full Node is suitable for
staking STRAT on Mainnet. Cold staking is also included as part of this
production release, and this feature will be activated when 95% of
stakers have adopted this release.

One of the aims when designing the Stratis Full Node was to make it
component-based using a clean and customizable architecture. For
example, Proof-of-Stake, Proof-of-Work, and Proof-of-Authority
algorithms are all supported, and a Stratis Full Node can be set up to
run with any of these. While a reference implementation is provided,
this can easily be swapped out to work with an implementation that has
been customized to work with a different database. At a more granular
level, consensus rules can be added or removed as required.

Including and excluding individual components to create a Full Node
tailored to a specific purpose is simple, and the Stratis Full Node can
also be easily extended to include custom features. Future developments
will adhere to the existing philosophy and follow a modular design.

As the Stratis Full Node has been built from the ground up in C# on
the .NET Framework, Stratis has been able to incorporate optimizations.
For example, when it comes to downloading the complete Stratis
blockchain, the Stratis Full Node can do this significantly faster than a
StratisX node, without compromising on security.

Despite the innovations made when designing the Stratis Full Node,
the Full Node still uses, out-of-the-box, a protocol that is very
similar to the Bitcoin protocol, and therefore familiar to those who
know Bitcoin.

Migrating from StratisX to the Stratis Full Node is a straightforward
process, and full documentation on how to do this is available here.

Stratis Core Production Release

Stratis Core is immediately available for download and installation from the wallets page.

Stratis is pleased to announce the production release of the Stratis
Core wallet, which comes with additional functionality and an improved
user experience overall. This production release of Stratis Core runs
with the latest version of the Stratis Full Node as the back end, which
means this release is the most stable and secure so far.

Several new features have been added to the Stratis Core wallet since the previous version, this includes but is not limited to.

Ability to Resync

Address Book Feature

Cold-Staking

ExtPubKey Retrieval

Large-Scale Address Generation

Node Statistics

Pagination

For added security, Stratis Core also allows an optional passphrase
to be used in conjunction with the mnemonic to generate your wallet’s
private seed adding further security to your funds.

Stratis Core is immediately available for download and installation from the wallets page.

In addition, a guide has been put together to aid existing users of
StratisX in migrating to Stratis Core, this guide can be viewed here.

Stratis Smart Contracts in C# and Stratis Sidechains Release

This
combination of two of our technologies forms an ideal pairing and marks
the production release of both sidechains and smart contracts. As part
of this release, Stratis has launched the Cirrus sidechain that supports
smart contracts.

Stratis is proud to announce the release of Stratis Sidechains and Smart Contracts in C#.