phone

    • chevron_right

      Snikket: January 2022 server release

      Snikket Team (team@snikket.org) • news.movim.eu / PlanetJabber • 19 January, 2022 • 2 minutes

    New year, new Snikket: We’re excited to introduce a new release of the Snikket server! The Snikket server is an easy-to-install server package that allows you to run your own private messaging service for family, friends and other small groups.

    The main focus since the previous server release in November has been on the DAPSI-funded Account Portability feature, which allows people to export and import account data for backup and migration purposes.

    For information on how to upgrade from a previous release, see our quick upgrade guide .

    Account import and export

    Last year, we announced that we had been selected for funding to improve the state of account portability/migration in Snikket and XMPP. You can read more background information about this project at the XMPP Account Portability project homepage on Modern XMPP. This release finally introduces the results of our work on this project in Snikket.

    Snikket users can export their account data from within the web portal. A new “Manage your data” button provides easy access to the export functionality. This can be used for backup purposes or to take account data to another service provider.

    The data is exported in a standardized format which can be supported by any XMPP server, further strengthening the interoperability of Snikket with other existing XMPP-based chat services.

    After successful registration via the web portal (not via the app yet), new users are offered a form where they can upload their account data. This data could come from a Snikket server or another compliant XMPP server, allowing users to more easily move to the Snikket ecosystem of small, federated instances.

    Two screenshots: one showing an account data import option, the other showing an account data export option

    A glimpse of the new import and export interfaces

    We are very grateful for the support of the NGI DAPSI team and the EU funding that allowed us to complete this important piece of our roadmap!

    Improved resource monitoring

    Our previous release introduced metrics in the web admin dashboard (the “System Health” section), and the ability to export those to monitoring systems such as Prometheus via the OpenMetrics API. This release includes more improvements in this area, including more accurate memory usage monitoring, and Snikket can now also report the amount of storage used by file uploads.

    Internal changes

    We’ve upgraded the Snikket Docker images from Debian 10 to 11. We’ve also upgraded Prosody, which brings a whole bunch of changes, including reduced memory usage and a more robust DNS implementation. This release should also restore update notifications, which have been unreliable in some previous versions.

    Installing or upgrading

    If you’re new to Snikket and want to try out the new release, check out our quick-start guide . If you already use Snikket, head over to our upgrade guide !

    Folks using our hosting service, the new release will be available in your dashboard in the next day or so.

    Our next focus will be on polishing the next version of our iOS app, so we can release a lot ofexciting improvements to app store users. Stay tuned for another post about that soon. Meanwhile… happy chatting! :)

    Update 20/01: A small hotfix was pushed to the release to solve a lingering issue with update notifications.

    • wifi_tethering open_in_new

      This post is public

      snikket.org /blog/jan-2022-server-release/

    • chevron_right

      Ignite Realtime Blog: Openfire 4.5.6 is released

      guus • news.movim.eu / PlanetJabber • 5 January, 2022 • 1 minute

    Openfire 4.5.6 has been released, that addresses an annoying issue that was affecting the earlier 4.5.5 release. We’ve updated the bundled log4j library to version 2.17.1 for good measure.

    The changelog denotes the two Jira issues closed by this release. You can find Openfire build artifacts available for download here and they have the following sha256sum values

    3cf7be64dec0ab0d410ec38b15fae00eecd681c72140a8ad3ccc48be52a88982  openfire-4.5.6-1.i686.rpm16d1d487d852efd80312fa796ffbaa61dd16e7b0e6587234639e9716e82b0745  openfire-4.5.6-1.noarch.rpmdb0fa0f3b0c904f6b15bcac3b4dc60db2aed8f8275f5f6af886d0bc8dbcdaf9c  openfire-4.5.6-1.x86_64.rpmd7f2bca0bc82ef6ad404d36dcf4c3ba65a6f9191a00873a83c6739658ce124c6  openfire_4.5.6_all.debc96f79db2a9e434cc08ef5989062eb352e57315a25765c2a4f1442072eadbe07  openfire_4_5_6_bundledJRE.exe77061c8aae0a892d041b8695f38ba2fe91b2844259654bb2e55bf505b9debe27  openfire_4_5_6_bundledJRE_x64.exec65ccbf45a69c0babe2876a9c511910d2601ff301539e9a4c3d94dc1b82952c9  openfire_4_5_6.dmg5990611b18b9ffff5ff46dc8bb398306fc6361893c230ee5d71ad852564dcd49  openfire_4_5_6.exe1f155e858a924e54b172fd884ccd49521fc55d89260b2e074e2b39b4271667c4  openfire_4_5_6.tar.gz6df1c063efd674c059323431f786e9e2a70a3c6573e1012e2b56f6db7877d28f  openfire_4_5_6_x64.exe400269969398c6ed90322ea8d199225b0cdf87a90a840d9aa123c0b941b1cfae  openfire_4_5_6.zip

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      Erlang Solutions: FinTech Matters newsletter | January 2022

      Michael Jaiyeola • news.movim.eu / PlanetJabber • 4 January, 2022 • 2 minutes

    Subscribe to receive FinTech Matters and other great content, notifications of events and more to your inbox, we will only send you relevant, high-quality content and you can unsubscribe at any time.

    Read on to discover what really matters for tech in financial services right now for the Erlang ecosystem and beyond.

    We’re avoiding any fintech predictions for 2022, because who knows what will happen, right?

    Michael Jaiyeola, FinTech Marketing Lead

    [Subscribe now]

    The Top Stories Right Now

    Lloyds on-site technology is “not fit for purpose” according to their own senior exec, leaked video exposes problems at the bank

    A recorded internal meeting made its way to the Mail on Sunday newspaper in the UK and indicates digital transformation to be a major concern at the bank. Nick Williams, group transformation director at Lloyds, is on the call speaking to employees about ‘real concern’ over some legacy infrastructure.

    Read the full story

    What is it with Amazon x Visa?

    Amazon announced back in November that they would stop accepting Visa branded credit cards for purchases in the UK. While the bigger picture is surely more complicated than negotiation leverage over high processing fees and reducing costs, this is still quite an aggressive move. It is more to do with the changing face of online payments and the growth of buy-now-pay-later and (potentially) mainstream acceptance of cryptocurrency. Of course, both the ecommerce/retail and payments industries will be watching how things play out as it will inform decisions by other players down the line.

    Read the full story

    More content from us

    Product Development in Healthtech – we returned to in-person events at Barclays Rise in London recently to present this case study with the team from Trifork, our parent company . [View the Slide Deck]

    Complyteq – we were also joined at Rise by CEO and founder Eske Gerup to discuss the latest in digital ID and onboarding technology. [More About Complyteq]

    Christmas cheer was in short supply in Ghana’s parliament as things got out of hand during a vote to add a new tax on mobile payments.

    [Watch the video]

    JPMorgan Chase fined $200 million for conducting business on WhatsApp

    This substantial penalty was for a failure to follow US federal record-keeping laws by allowing Wall Street employees to use apps including WhatsApp. Employees also used text messages and personal email accounts to communicate about sensitive business matters.

    [Read the full story]

    Erlang Solutions byte size

    ElixirConf EU 2022 – Returns as a hybrid event 7-8 April from London and online. Elixir runs on the BEAM VM – the same virtual machine as Erlang – and can be adopted right throughout the tech stack. It’s been used to build the systems at the likes of Klarna, SumUp and Memo Bank. [Find out more]

    To make sure you don’t miss out on any of our leading FinTech content, events and news, do subscribe for regular updates. We will only send you relevant high-quality content and you can unsubscribe at any time.

    Connect with me on LinkedIn

    Email: michael.jaiyeola@erlang-solutions.com

    The post FinTech Matters newsletter | January 2022 appeared first on Erlang Solutions .

    • wifi_tethering open_in_new

      This post is public

      www.erlang-solutions.com /blog/fintech-matters-newsletter-january-2022/

    • chevron_right

      Ignite Realtime Blog: Openfire 4.6.7 released (Log4j 2.17.1 only change)

      akrherz • news.movim.eu / PlanetJabber • 3 January, 2022 • 1 minute

    Openfire 4.6.7 has been released with only a single change to bump the bundled log4j library to version 2.17.1. Whilst we do not believe Openfire to be vulnerable to the CVEs associated with the log4j 2.17.0 and 2.17.1 releases, we realize that many folks are running naive security scanners that are simply checking for bundled jar versions.

    The changelog denotes the one Jira issue closed by this release. You can find Openfire build artifacts available for download here and they have the following sha256sum values

    1a8f1516a3d398b7701ec9a1c8b790a9ece8f3ea59265ccce4e769af5d485f26  openfire-4.6.7-1.i686.rpm11972b17d60b828345b75fa049469085f22b9aa233082f8fb9bcac90ba0876a6  openfire-4.6.7-1.noarch.rpmd802fbd9b1a4011fe23c6338d77642cfbc813760d1f5c805bc5934881635edfb  openfire-4.6.7-1.x86_64.rpm4ab20cb022d5068c1dc0c7024350db4ac63b28a757e216e98ee6863d8ec7d253  openfire_4.6.7_all.deb2157a17479acc12e6392ad10c2c61d38e478438a279c970a15313e1a49cce7ba  openfire_4_6_7_bundledJRE.exeac1e91d23742493a4d56f489e52f77ee5f1db138091600f84b406956e6b701ef  openfire_4_6_7_bundledJRE_x64.exebaae9416e5979a7dc1c44dab156e540152baf3368e8afe838ee70a64dcaf2ca2  openfire_4_6_7.dmgb76b304dcbca084830d52da900051f837f605ce22411033fae68a00d28dc0c34  openfire_4_6_7.exe6b2ba7c4976dbd36249269a453eb176d71a1e7f80575951cdd173d0ec4247056  openfire_4_6_7.tar.gzfec61e4a573faf634336e535c51112ab94c3f09388ea16948b8c6906ebbdf9ef  openfire_4_6_7_x64.exe1a92b45968719b7de00181d8dcfc5ef10e335b02deafcf7d6a5053a968ed0646  openfire_4_6_7.zip

    At this point and due to limited community usage, we do not plan to create an additional 4.5 series release with this associated change. Please note that the 4.7.0-beta release of Openfire was made prior to all the security vulnerabilities associated with log4j and is thus vulernable. We hope to finalize a 4.7.0 release very soon, which will also bring log4j to version 2.17.1 .

    Thanks for your usage and interest in Openfire!

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      Paul Schaub: PGPainless 1.0.0 Released!

      vanitasvitae • news.movim.eu / PlanetJabber • 29 December, 2021 • 1 minute

    Close to the end of 2021 I’m excited to announce the release of PGPainless version 1.0.0! After a series of release candidates, it is finally time to party! The OpenPGP library successfully underwent a security audit in late November and I feel like it finally reached a state of sufficient maturity to be worthy of a major release with a “1” at the front.

    Photo by Francesco Gallarottion Unsplash

    The audit was carried out over a period of 2 weeks by the nice folks of cure53.de . The team swiftly discovered some security flaws most of which were quickly fixed in the library. Some other issues (such as lacking brute-force protection) were declared out of scope, as they are better fixed on the application level. Others unfortunately are the direct consequence of compliance to the OpenPGP standard, e.g. the fact that secret keys are not encrypted using authenticated encryption (this will hopefully change soon ). The results of the security audit are publicly available for anyone to read.

    In the light of the recent Log4j related events, I’d like to explicitly express my gratitude towards the fine folks of FlowCrypt , which perpetually financially support my work on PGPainless. Particularly they sponsored the security audit. Their support makes PGPainless a sustainable free software project and is a significant factor for its success. Thank you so much!

    Throughout its development PGPainless has now reached a steady JUnit test coverage of 90% and around 90+% agreement with the OpenPGP Interoperability Test Suite (note: site not yet updated at the time of writing). Furthermore, the project is now reuse compliant !

    As always, the new release is available on Maven Central for you to download. Since the binaries are reproducible, you can also grab the source code , build them yourselves and compare the hashes against the known-good values.

    Now I whats left for me is to wish everyone a Better New Year 2022! Stay safe and encrypted!

    Paul

    • wifi_tethering open_in_new

      This post is public

      blog.jabberhead.tk /2021/12/30/pgpainless-1-0-0-released/

    • chevron_right

      Peter Saint-Andre: Weekly Wisdom

      Peter Saint-Andre • news.movim.eu / PlanetJabber • 27 December, 2021

    Although I don't make New Year's resolutions, at this time of year I do tend to reconsider some of my goals and practices. One thing I'd like to improve on is the frequency of entries in my online journal, because writing them pushes me to think about how I'm living and what I'm learning. Thus going forward I'll strive to post such reflections at least once a week - most likely on Friday evenings or over the weekend, when it's easier to find time for reflection. You can receive these missives in your inbox by visiting my philosopher.coach website and typing your email address in the subscription form at the bottom of the page....
    • wifi_tethering open_in_new

      This post is public

      stpeter.im /journal/1686.html

    • chevron_right

      Peter Saint-Andre: Meditations on Bach #9: Musical Monadology

      Peter Saint-Andre • news.movim.eu / PlanetJabber • 26 December, 2021

    In meditation #7 of this series, I took note of some similarities between the aesthetics of Aristotle and the music of Bach. Another intriguing influence might be the monadology of Gottfried Wilhelm Leibniz (1646-1716), who directly influenced philosophers and musical theorists in the Bach's orbit: for instance, Bach's student Lorenz Mizler (1711-1778) was a follower of the Leibniz scholar Christian Wolff (1679-1754). In chapter 5 of his book Music in the Culture of the Renassiance and Other Essays, Edward Lowinsky makes the following observations:...
    • wifi_tethering open_in_new

      This post is public

      stpeter.im /journal/1685.html

    • chevron_right

      Erlang Solutions: Dynamic XMPP Domains in MongooseIM

      The MongooseIM team • news.movim.eu / PlanetJabber • 22 December, 2021 • 8 minutes

    Introduction

    MongooseIM is a robust instant messaging server focused on scalability and performance. It makes use of XMPP (Extensible Messaging and Presence Protocol), an open technology used mainly to develop instant messaging solutions. The protocol is highly extensible and has a very active community supporting it, which results in a variety of possible use cases, be it one-to-one text messaging, mobile group chat or collecting data from IoT sensors.

    MongooseIM is an XMPP server that is constantly evolving to meet the rapidly changing demands while remaining highly scalable to handle millions of messages per minute, which is confirmed by both our load tests and the existing production installations. Recently we have seen a growing demand for massive multi-tenancy, where one MongooseIM cluster would handle more and more independent XMPP domains. We have been working tirelessly for many months on this and the result is our latest 5.0 release , which implements a completely new concept of dynamic XMPP domains . This feature allows you to have literally thousands of XMPP servers in one. To see the difference it makes, let us start with the original concept of XMPP when one server used to equal one domain.

    Single-domain setup

    A typical use case of XMPP is for a mobile instant messaging app. Each user is identified by their JID (Jabber Identifier), which has a form similar to an email address, e.g. alice@example.com can communicate with bob@example.com by connecting to the server example.com. It is very easy to configure this in MongooseIM with the TOML configuration file . The default file already contains the basic configuration, but in this example, we will write it from scratch. Let’s start with the minimal general section with the domain example.com defined in the list of static hosts :

    [general]  hosts = ["example.com"]  default_server_domain = "example.com"

    The default_server_domain is the domain that appears as the sender of XMPP stream errors returned by the server when a user cannot connect and the XMPP domain of the client is not known yet. To make this example complete, let’s add the auth section to the file, enabling user authentication with their accounts stored in a relational database, e.g. PostgreSQL:

    [auth]  methods = ["rdbms"]  [auth.rdbms]

    We also need to define the default connection pool, so MongooseIM can connect to the database.

    [outgoing_pools.rdbms.default]  scope = "global"  workers = 5  [outgoing_pools.rdbms.default.connection]    driver = "pgsql"    host = "localhost"    database = "mongooseim"    username = "mongooseim"    password = "mongooseim_secret"

    Finally, we need to define a client-to-server (c2s) listener to allow the clients to connect:

    [[listen.c2s]]  port = 5222

    Now you can start MongooseIM, create an account for alice@example.com and use an XMPP client app to connect to the server. This setup is very minimalistic and certainly not secure enough for production use (there is no TLS), please see the documentation for more details.

    Static multi-domain setup

    One service provider might maintain the XMPP servers for a few companies, each of them having their own XMPP domain, just like for email addresses. Similarly to email, these companies might share one server installation, which can be easier and cheaper than having one server per business. This is why several domains would be hosted on a single server. Let’s update the general section in the configuration file to introduce two more domains.

    [general]  hosts = ["example.com", "example.org", "example.net"]  default_server_domain = "example.com"

    It is possible to configure each domain differently, e.g. example.com can have message archive management (MAM) enabled to allow the users to retrieve stored chat messages. To do this, let’s enable the mod_mam_meta extension module. The module should be specified in the host_config section to enable it only for one domain:

    [[host_config]]  host = "example.com"  [host_config.modules.mod_mam_meta]    backend = "rdbms"pm = {}

    Dynamic multi-domain setup

    Software as a service (SaaS) has become the standard way of providing IT services. In this scenario, we can imagine not just a few large companies, but thousands of small businesses (e.g. with up to 100 users each) using the same corporate chat solution built with MongooseIM. Each business would need their own XMPP domain, but they would neither want nor need their own MongooseIM installations, so instead they could pay for a hosted SaaS solution. The provider of such a solution would need to host hundreds or even thousands of domains on a single XMPP server.

    To do this with a typical XMPP server (and with MongooseIM before version 5.0), one would have to edit the configuration file and restart the server for the changes to take effect. This is best done as a rolling upgrade , restarting one node at a time, but this procedure is quite tedious and takes some time. Another issue is that for each statically configured domain there are multiple resources allocated as all extension modules are started independently for each domain. Furthermore, the configuration file would become unmanageably large. To solve this problem, we could use the latest feature of MongooseIM 5.0.0: dynamic XMPP domains . Instead of defining thousands of hosts in the configuration file, we list only one host type – let’s call it basic. All we need to do is to modify the general section of the configuration file:

    [general]  host_types = ["basic"]  default_server_domain = "example.com"

    We still need a static default_server_domain to be able to respond with XMPP stream errors. To allow domain management, we need to enable a service called service_domain_db – by default it will reuse the globally defined default DB pool that we already defined. The domains will be stored in our PostgreSQL database.

    [services.service_domain_db]

    The last step is to define the HTTP listener that will handle the REST requests. Let’s set it up only on the loopback interface for localhost :

    [[listen.http]]  ip_address = "127.0.0.1"  port = 8088  [[listen.http.handlers.mongoose_domain_handler]]    host = "localhost"    path = "/api"

    New domains can be added with a simple REST call:

    curl -i -X PUT -H 'Content-Type: application/json' -d '{"host_type": "basic"}' \  localhost:8088/api/domains/example.org

    Such a request might be sent by a web server that would expose a GUI used to manage the domains. To cut off the inter-domain traffic we could separate them with an extension module called mod_domain_isolation. You can have multiple host types, which may correspond to different levels of service, e.g. when a distinction between standard and premium services is needed, we would add an advanced host type for the premium customers by editing the general section once more:

    [general]  host_types = ["basic", "advanced"]  default_server_domain = "example.com"

    Now we can enable the message archive only for the advanced host type:

    [[host_config]]  host_type = "advanced"  [host_config.modules.mod_mam_meta]    backend = "rdbms"    pm = {}

    You can use static and dynamic domains at the same time – for example, for a big company that would have its own unique set of configuration options, such as a separate database or other special features, the domain can be configured statically:

    [general]  hosts = ["big-company.example.com"]  host_types = ["basic", "advanced"]  default_server_domain = "example.com"

    The diagram above summarizes the resulting setup, showing some client connections as well. Please refer to the documentation for more details regarding your MongooseIM configuration.

    Performance of dynamic domains

    When it comes to performance testing, we always push MongooseIM to the limits using amoc , our load testing tool, and amoc-arsenal-xmpp , a set of scenarios designed for testing XMPP servers. For dynamic domains we decided to run several scenarios targeted at different metrics, increasing the load to the point of failure. The number of users was up to 100 k for the one-to-one messaging test and these users were actively chatting, resulting in high message rates. We also decided that the system under load should be a three-node cluster of c5ad.xlarge AWS EC2 machines with an xlarge RDS instance of PostgreSQL, which is quite a small setup, to show that even this modest installation can handle a heavy load.

    Initially, every test was executed for one static domain – the performance of version 5.0 was identical to the one of version 4.2. Then, the users got evenly distributed among 1,000 different domains, which did not result in any performance drop. Finally, the scenario was pushed to the extremes with as many domains as users. This meant up to 100,000 domains , but even that high number was not enough to cause any fall in performance other than a slight increase in memory usage. Domains were created on the fly at rates of up to 24 k / min without putting significant additional stress on the system. Selected test results are shown below. There were many more configurations tested, but they are omitted for the sake of simplicity. Results would vary with any difference in the setup, so if you need to determine the limits of your installation, please contact us.

    Test scenario Metric Maximum value
    One-to-one chat with MAM enabled One-to-one sent and received message rate 600 k / min
    Group chat with MUC Light MUC Light message rate with 5 members per room sent: 420 k / min
    recv: 2.1 M / min

    MAM lookup for one-to-one and group chat archives
    MAM request rate with 5 messages returned per request 360 k / min
    MAM lookup for one-to-one and group chat archives Rate of messages returned from MAM archive 1.8 M / min

    Conclusion

    Some XMPP servers allow you to add virtual hosts – this is usually done with configuration files and does not allow grouping domains into host types. What sets MongooseIM 5.0 apart is that the dynamic domains are seamlessly integrated with almost all features and extensions, making it possible to easily set up and maintain thousands of domains without any performance penalty.

    Load test results show that you can expect high performance from MongooseIM, no matter if you need to host one huge domain or thousands of smaller ones. The only thing to worry about is the design and implementation of your front-end application and MongooseIM will certainly take care of the traffic generated by the millions of connected devices.

    If you would like to talk to us about how your project can benefit from using MongooseIM, you can contact us at general@erlang-solutions.com and one of our expert team will get right back to you.

    The post Dynamic XMPP Domains in MongooseIM appeared first on Erlang Solutions .

    • chevron_right

      Erlang Solutions: Blockchain Tech Deep Dive 3/4 | Meaning of Ownership

      Erlang Admin • news.movim.eu / PlanetJabber • 21 December, 2021 • 7 minutes

    This is this third part of our ‘Making Sense of Blockchain’ blog post series, here we look back at a post originally authored by Dominic Perini on how our attitudes to ownership are changing and how this relates to the value we attach to digital assets in the blockchain space. You can read part 1 of this series on ‘6 Blockchain Principles’ here.

    Join our FinTech mailing list for more great content and industry and events news, sign up here >>

    Theme III

    Digital Assets: Ownership in the Era of Blockchain

    Ownership, provenance and handling
    While physical goods contain an abstract element: the design, the capacity to model it, package it and make it appealing to the owners or consumers. Digital assets have a far stronger element of abstraction which defines their value while their physical element is often negligible and replaceable (e.g. software can be stored on disk, transferred or printed). These types of assets typically stimulate our intellect and imagination.

    The peculiarity of digital goods is that they can be copied exactly at a very low cost: for example, they can be easily reproduced in multiple representations on heterogeneous physical platforms or substrates thanks to the discrete nature in which we store them (using a simplified binary format). The perceivable form can be reconstructed and derived from these equal representations an infinite number of times. This is a feature that dramatically influences how we value digital assets. The opportunity to create replicas implies that it is not the copy nor the rendering that should be valued, but rather the original digital work. In fact, this is one of the primary achievements that blockchain has introduced via the hash lock inherent to its data structure.

    If used correctly the capacity to clone a digital item can increase confidence that it will exist indefinitely and therefore maintain its value. However, the immutability and perpetual existence of digital goods are not immune from facing destruction, as at present there is a dependence on a physical medium (e.g. hard disk storage) that is potentially subject to alteration, degradation or obsolescence.

    A blockchain, such as that of the Bitcoin network, represents a model for vast replication and reinforcement of digital information via Distributed Ledger Technology (DLT). Here, repair mechanisms can intervene in order to restore integrity in the event that data gets corrupted by a degrading physical support (i.e. a hard disk failure) or a malicious actor.

    However, as genetic evolution suggests, clones with equal characteristics can all face extinction by the introduction of an actor that makes the environment unfit for survival. Thus, it might be sensible to introduce heterogeneous types of ledgers to ensure their continued preservation on a variety of physical platforms and therefore enhance the likelihood of survival of information.

    The evolution of services and their automation

    Now let’s consider how we have started to attach value to services and how we are becoming increasingly demanding about their performance and quality.

    Services are a form of abstract valuable commonly traded on the market. They represent the actions bound to the contractual terms under which a transformation takes place. This transformation can apply to physical goods, digital assets, other services themselves or to individuals. What we trade is the potential to exercise a transformation, which in some circumstances might have been applied already. For instance, a transformed commodity, such as refined oil, has already undergone a transformation from its original raw form.

    As transformations are being automated more and more, and the human element is progressively being removed, even services are gradually taking the shape of automated algorithms that are yet another form of digital asset, as is the case with smart contracts. Note, however, that in order to apply the transformation, an algorithm is not enough, we need an executor such as a physical or virtual machine.


    Sustainability and access to resources

    Stimulation of the intellect and/or imagination isn’t the only motivator that explains the increasing interest in digital goods and consequently their rising market value. Physical goods are known to be quite costly to handle. In order to create, trade, own and preserve them there is a significant expenditure required for storage, transport, insurance, maintenance, extraction of raw materials etc.

    There is a competitive and environmental cost involved, which makes access to physical resources inherently non-scalable and occasionally prohibitive, especially in concentrated urban areas. As a result, people are incentivised to own and trade digital goods and services.

    The high power consumption required by the Bitcoin network’s method of consensus would potentially negate these environmental benefits. However, Keith Bear from the Cambridge Centre for Alternative Finance (CCFA) recently discussed their publication of the Bitcoin Power Index with us. He told us that although power consumption is a concern it should be remembered that blockchain technology can act as a force for good, being used for environmentally beneficial projects.

    Services traditionally require resources to be delivered (e.g. raw material processing). However, a subset of these (such as those requiring non-physical effort, for instance, stock market trading, legal or accounting services) are ideally suited to being carried out at a significantly lower cost via the application of algorithmic automation (assuming that the high carbon footprint required to drive the ‘Proof of Work’ consensus mechanism used in many DLT ecosystems can be avoided).

    Barriers to acceptance of digital assets

    Whereas it is sensible to forecast a significant expansion of the digital assets market in the coming years, it is also true that, at present, there are still several psychological barriers to overcome in order to get broader traction in the market.

    The primary challenge relates to trust. A purchaser wants some guarantees that traded assets are genuine and that the seller owns them or acts on behalf of the owner. DLT provides a solid way to work out the history of a registered item without interrogating a centralised trusted entity. Provenance and ownership are inferable and verifiable from a number of replicated ledgers while block sequences can help ensure there is no double spending or double sale taking place within a certain time frame.

    The second challenge is linked to the meaning of ownership outside of the context of a specific market. A good example of this is provided by the closure of Microsoft’s ebook store. Microsoft’s decision to pull out of the ebook market, presumably motivated by a lack of profit, could have an impact on all ebook purchases that were made on that platform. The perception of the customer was obviously that owning an ebook was the same as owning a physical book. What Microsoft might have contractually agreed through its End-User License Agreement (EULA), however, is that this is true only within the contextual existence of its platform.

    There is a push, in this sense, towards forms of ownership that can break out from the restrictions of a specific market and be maintained in a broader context. Blockchain’s DLT in conjunction with smart contracts, that exist potentially indefinitely, can be used to serve this purpose allowing people to effectively retain their digital items’ use across multiple applications.

    The transition to these new notions of ownership is particularly demanding when it comes to digital non-fungible assets. Meanwhile, embracing fungible assets, such as a cryptocurrency, has been somewhat easier for customers who are already used to relating to financial instruments . This is probably because fungible assets serve the unique function of paying for something, while in the case of non-fungible assets there is a range of functions that define their meaning in the digital or physical space.


    What this will mean for blockchain adopters

    In discussing the major emerging innovation that blockchain technology has influenced dramatically over the last two years, the ownership of digital assets, it is clear that what we are witnessing is a new era that is likely to revolutionise the perception of ownership and reliance on trusted and trustless forms of automation. This is driven by the need to increase interoperability, cost compression, sustainability, performance and customisation.

    For any business size in any industry, we’re ready to investigate, build and deploy your blockchain-based project on time and to budget. Let us know about your blockchain project here.

    Stay tuned for the final part of this deep dive blockchain series where we make the case for Erlang and Elixir programming languages to innovate with blockchain.

    The post Blockchain Tech Deep Dive 3/4 | Meaning of Ownership appeared first on Erlang Solutions .